Skip to content

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")
      }
)