Examples
(
/* 1. GUID-map: logical name → GUID */
$paramGuids := {
"yourparameternamehere1": "f5562710-53ee-4a99-ad24-d5329c7ce180",
"yourparameternamehere2": "5b6835d4-1a1e-464e-ad6e-35d691534de0",
"yourparameternamehere3": "de4cde95-ef7c-41fc-a6fb-539fcf9fb175"
};
$getSharedParam := function($object, $logicalName){(
$guid := $lookup($paramGuids, $logicalName);
$paramKey := "p_" & $guid;
$sp := $lookup($object.values, $paramKey);
{
"paramExist": $exists($sp),
"hasValue": $exists($sp) and $sp.hasValue = true,
"value": $exists($sp) ? $sp.value : null,
"guid": $guid,
"name": $logicalName
}
)};
/* Filter FamilyInstances */
$[type = "FamilyInstance"].{
"id": id,
"type": type,
"name": name,
"yourparameternamehere1": $getSharedParam($, "yourparameternamehere1"),
"yourparameternamehere2": $getSharedParam($, "yourparameternamehere2"),
"yourparameternamehere3": $getSharedParam($, "yourparameternamehere3")
}
)