Filtrera radnivådata för en källa med API:t Flow Service
Skapat för:
- Utvecklare
Läs den här guiden för steg om hur du filtrerar radnivådata för en källa med Flow Service API.
Kom igång
Den här självstudiekursen kräver att du har en fungerande förståelse för följande komponenter i Adobe Experience Platform:
- Källor: Experience Platform tillåter att data kan hämtas från olika källor samtidigt som du kan strukturera, etikettera och förbättra inkommande data med Experience Platform-tjänster.
- Sandlådor: Experience Platform innehåller virtuella sandlådor som partitionerar en enskild Experience Platform-instans till separata virtuella miljöer för att hjälpa till att utveckla och utveckla program för digitala upplevelser.
Använda Experience Platform API:er
Information om hur du kan anropa Experience Platform API:er finns i guiden Komma igång med Experience Platform API:er.
Filtrera källdata
Följande textkonturer används för att filtrera radnivådata för källan.
Hämta dina anslutningsspecifikationer
Det första steget för att filtrera data på radnivå för källan är att hämta källans anslutningsspecifikationer och avgöra vilka operatorer och språk som stöds av källan.
Om du vill hämta en viss källas anslutningsspecifikation gör du en GET-begäran till /connectionSpecs
-slutpunkten för Flow Service-API:t och anger egenskapsnamnet för källan som en del av frågeparametrarna.
API-format
GET /connectionSpecs/{QUERY_PARAMS}
Parameter | Beskrivning |
---|---|
{QUERY_PARAMS} | De valfria frågeparametrarna som resultaten ska filtreras efter. Du kan hämta anslutningsspecifikationen Google BigQuery genom att använda egenskapen name och ange "google-big-query" i sökningen. |
Begäran
Följande begäran hämtar anslutningsspecifikationerna för Google BigQuery.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs?property=name=="google-big-query"' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Ett lyckat svar returnerar statuskoden 200 och anslutningsspecifikationerna för Google BigQuery, inklusive information om dess frågespråk och logiska operatorer som stöds.
"attributes": {
"filterAtSource": {
"enabled": true,
"queryLanguage": "SQL",
"logicalOperators": [
"and",
"or",
"not"
],
"comparisonOperators": [
"=",
"!=",
"<",
"<=",
">",
">=",
"like",
"in"
],
"columnNameEscapeChar": "`",
"valueEscapeChar": "'"
}
attributes.filterAtSource.enabled
attributes.filterAtSource.queryLanguage
attributes.filterAtSource.logicalOperators
attributes.filterAtSource.comparisonOperators
attributes.filterAtSource.columnNameEscapeChar
attributes.filterAtSource.valueEscapeChar
Jämförelseoperatorer
==
!=
<
>
<=
>=
like
WHERE
-sats för att söka efter ett angivet mönster.in
Ange filtervillkor för förtäring
När du har identifierat de logiska operatorerna och frågespråket som din källa stöder kan du använda Profile Query Language (PQL) för att ange de filtreringsvillkor som du vill tillämpa på dina källdata.
I exemplet nedan används villkor bara för att markera data som är lika med de angivna värdena för de nodtyper som anges som parametrar.
{
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "city"
},
{
"nodeType": "literal",
"value": "DDN"
}
]
}
}
Förhandsgranska data
Du kan förhandsgranska dina data genom att göra en GET-begäran till /explore
-slutpunkten för Flow Service API:t, samtidigt som du anger filters
som en del av frågeparametrarna och anger dina PQL-indatavillkor i Base64.
API-format
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=table&object={TABLE_PATH}&preview=true&filters={FILTERS}
{BASE_CONNECTION_ID}
{TABLE_PATH}
{FILTERS}
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/89d1459e-3cd0-4069-acb3-68f240db4eeb/explore?objectType=table&object=TESTFAS.FASTABLE&preview=true&filters=ewogICJ0eXBlIjogIlBRTCIsCiAgImZvcm1hdCI6ICJwcWwvanNvbiIsCiAgInZhbHVlIjogewogICAgIm5vZGVUeXBlIjogImZuQXBwbHkiLAogICAgImZuTmFtZSI6ICJhbmQiLAogICAgInBhcmFtcyI6IFsKICAgICAgewogICAgICAgICJub2RlVHlwZSI6ICJmbkFwcGx5IiwKICAgICAgICAiZm5OYW1lIjogImxpa2UiLAogICAgICAgICJwYXJhbXMiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJub2RlVHlwZSI6ICJmaWVsZExvb2t1cCIsCiAgICAgICAgICAgICJmaWVsZE5hbWUiOiAiY2l0eSIKICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJub2RlVHlwZSI6ICJsaXRlcmFsIiwKICAgICAgICAgICAgInZhbHVlIjogIk0lIgogICAgICAgICAgfQogICAgICAgIF0KICAgICAgfQogICAgXQogIH0KfQ==\' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Ett lyckat svar returnerar innehållet och strukturen för dina data.
{
"format": "flat",
"schema": {
"columns": [
{
"name": "FIRSTNAME",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "LASTNAME",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "CITY",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "AGE",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "HEIGHT",
"type": "string",
"xdm": {
"type": "string"
}
},
{
"name": "ISEMPLOYED",
"type": "boolean",
"xdm": {
"type": "boolean"
}
},
{
"name": "POSTG",
"type": "boolean",
"xdm": {
"type": "boolean"
}
},
{
"name": "LATITUDE",
"type": "double",
"xdm": {
"type": "number"
}
},
{
"name": "LONGITUDE",
"type": "double",
"xdm": {
"type": "number"
}
},
{
"name": "JOINEDDATE",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
},
{
"name": "CREATEDAT",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
},
{
"name": "CREATEDATTS",
"type": "string",
"meta:xdmType": "date-time",
"xdm": {
"type": "string",
"format": "date-time"
}
}
]
},
"data": [
{
"CITY": "MZN",
"LASTNAME": "Jain",
"JOINEDDATE": "2022-06-22T00:00:00",
"LONGITUDE": 1000.222,
"CREATEDAT": "2022-06-22T17:19:33",
"FIRSTNAME": "Shivam",
"POSTG": true,
"HEIGHT": "169",
"CREATEDATTS": "2022-06-22T17:19:33",
"ISEMPLOYED": true,
"LATITUDE": 2000.89,
"AGE": "25"
},
{
"CITY": "MUM",
"LASTNAME": "Kreet",
"JOINEDDATE": "2022-09-07T00:00:00",
"LONGITUDE": 10500.01,
"CREATEDAT": "2022-09-07T17:19:33",
"FIRSTNAME": "Rakul",
"POSTG": true,
"HEIGHT": "155",
"CREATEDATTS": "2022-09-07T17:19:33",
"ISEMPLOYED": false,
"LATITUDE": 2500.89,
"AGE": "42"
},
{
"CITY": "MAN",
"LASTNAME": "Lee",
"JOINEDDATE": "2022-09-14T00:00:00",
"LONGITUDE": 1000.222,
"CREATEDAT": "2022-09-14T05:02:33",
"FIRSTNAME": "Denzel",
"POSTG": true,
"HEIGHT": "185",
"CREATEDATTS": "2022-09-14T05:02:33",
"ISEMPLOYED": true,
"LATITUDE": 123.89,
"AGE": "16"
}
]
}
Skapa en källanslutning för filtrerade data
Om du vill skapa en källanslutning och importera filtrerade data skapar du en POST-begäran till /sourceConnections
-slutpunkten och anger filtervillkoren i parametrarna för begärandeinnehållet.
API-format
POST /sourceConnections
Följande begäran skapar en källanslutning för import av data från test1.fasTestTable
där city
= DDN
.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'Content-Type: application/json' \
-d '{
"name": "BigQuery Source Connection",
"description": "Source Connection for Filter test",
"baseConnectionId": "89d1459e-3cd0-4069-acb3-68f240db4eeb",
"data": {
"format": "tabular"
},
"params": {
"tableName": "test1.fasTestTable",
"filters": {
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "city"
},
{
"nodeType": "literal",
"value": "DDN"
}
]
}
}
},
"connectionSpec": {
"id": "3c9b37f8-13a6-43d8-bad3-b863b941fedd",
"version": "1.0"
}
}'
Ett lyckat svar returnerar den unika identifieraren (id
) för den nyligen skapade källanslutningen.
{
"id": "b7581b59-c603-4df1-a689-d23d7ac440f3",
"etag": "\"ef05d265-0000-0200-0000-6019e0080000\""
}
Filtrera aktivitetsenheter för Marketo Engage
Du kan använda filtrering på radnivå för att filtrera efter aktivitetsenheter när du använder Marketo Engage källkopplingen. För närvarande kan du bara filtrera efter aktivitetsenheter och standardaktivitetstyper. Anpassade aktiviteter styrs fortfarande under Marketo fältmappningar.
Marketo standardaktivitetstyper
Följande tabell visar standardaktivitetstyperna för Marketo. Använd den här tabellen som referens för filtervillkoren.
Följ stegen nedan för att filtrera standardenheter för aktivitet när du använder Marketo-källkopplingen.
Skapa ett utkast till dataflöde
Skapa först ett Marketo dataflöde och spara det som ett utkast. Mer information om hur du skapar ett utkast till dataflöde finns i följande dokumentation:
Hämta ditt dataflödes-ID
När du har ett utkast till dataflöde måste du hämta dess motsvarande ID.
Gå till källkatalogen i användargränssnittet och välj sedan Dataflows i den övre rubriken. Använd statuskolumnen för att identifiera alla dataflöden som har sparats i utkastläge och välj sedan dataflödets namn. Använd sedan panelen Properties till höger för att hitta ditt dataflöde-ID.
Hämta dataflödesinformation
Därefter måste du hämta dataflödesinformationen, särskilt källanslutnings-ID:t som är kopplat till dataflödet. Om du vill hämta information om dataflödet skickar du en GET-begäran till slutpunkten /flows
och anger ditt dataflödes-ID som en sökvägsparameter.
API-format
GET /flows/{FLOW_ID}
{FLOW_ID}
Följande begäran hämtar information om dataflödes-ID: a7e88a01-40f9-4ebf-80b2-0fc838ff82ef
.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/flows/a7e88a01-40f9-4ebf-80b2-0fc838ff82ef' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Ett lyckat svar returnerar dina dataflödesdetaljer, inklusive information om dess motsvarande käll- och målanslutningar. Du måste tänka på ditt käll- och målanslutnings-ID, eftersom dessa värden krävs senare, för att kunna publicera dataflödet.
{
"items": [
{
"id": "a7e88a01-40f9-4ebf-80b2-0fc838ff82ef",
"createdAt": 1728592929650,
"updatedAt": 1728597187444,
"createdBy": "acme@AdobeID",
"updatedBy": "acme@AdobeID",
"createdClient": "exc_app",
"updatedClient": "acme",
"sandboxId": "7f3419ce-53e2-476b-b419-ce53e2376b02",
"sandboxName": "prod",
"imsOrgId": "acme@AdobeOrg",
"name": "Marketo Engage Standard Activities ACME",
"description": "",
"flowSpec": {
"id": "15f8402c-ba66-4626-b54c-9f8e54244d61",
"version": "1.0"
},
"state": "enabled",
"version": "\"600290fc-0000-0200-0000-67084cc30000\"",
"etag": "\"600290fc-0000-0200-0000-67084cc30000\"",
"sourceConnectionIds": [
"56f7eb3a-b544-4eaa-b167-ef1711044c7a"
],
"targetConnectionIds": [
"7e53e6e8-b432-4134-bb29-21fc6e8532e5"
],
"inheritedAttributes": {
"properties": {
"isSourceFlow": true
},
"sourceConnections": [
{
"id": "56f7eb3a-b544-4eaa-b167-ef1711044c7a",
"connectionSpec": {
"id": "bf1f4218-73ce-4ff0-b744-48d78ffae2e4",
"version": "1.0"
},
"baseConnection": {
"id": "0137118b-373a-4c4e-847c-13a0abf73b33",
"connectionSpec": {
"id": "bf1f4218-73ce-4ff0-b744-48d78ffae2e4",
"version": "1.0"
}
}
}
],
"targetConnections": [
{
"id": "7e53e6e8-b432-4134-bb29-21fc6e8532e5",
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
}
}
]
},
"options": {
"isSampleDataflow": false,
"errorDiagnosticsEnabled": true
},
"transformations": [
{
"name": "Mapping",
"params": {
"mappingVersion": 0,
"mappingId": "f6447514ef95482889fac1818972e285"
}
}
],
"runs": "/runs?property=flowId==a7e88a01-40f9-4ebf-80b2-0fc838ff82ef",
"lastOperation": {
"started": 1728592929650,
"updated": 0,
"operation": "create"
},
"lastRunDetails": {
"id": "2d7863d5-ca4d-4313-ac52-2603eaf2cdbe",
"state": "success",
"startedAtUTC": 1728594713537,
"completedAtUTC": 1728597183080
},
"labels": [],
"recordTypes": [
{
"type": "experienceevent",
"extensions": {}
}
]
}
]
}
Hämta din källanslutningsinformation
Använd sedan ditt källanslutnings-ID och gör en GET-begäran till slutpunkten /sourceConnections
för att hämta din källanslutningsinformation.
API-format
GET /sourceConnections/{SOURCE_CONNECTION_ID}
{SOURCE_CONNECTION_ID}
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections/56f7eb3a-b544-4eaa-b167-ef1711044c7a' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Ett lyckat svar returnerar information om din källanslutning. Notera versionen eftersom du behöver det här värdet i nästa steg för att kunna uppdatera din källanslutning.
{
"items": [
{
"id": "b85b895f-a289-42e9-8fe1-ae448ccc7e53",
"createdAt": 1729634331185,
"updatedAt": 1729634331185,
"createdBy": "acme@AdobeID",
"updatedBy": "acme@AdobeID",
"createdClient": "exc_app",
"updatedClient": "acme",
"sandboxId": "7f3419ce-53e2-476b-b419-ce53e2376b02",
"sandboxName": "prod",
"imsOrgId": "acme@AdobeOrg",
"name": "New Source Connection - 2024-10-23T03:28:50+05:30",
"description": "Source connection created from the workflow",
"baseConnectionId": "fd9f7455-1e23-4831-9283-7717e20bee40",
"state": "draft",
"data": {
"format": "tabular",
"schema": null,
"properties": null
},
"connectionSpec": {
"id": "2d31dfd1-df1a-456b-948f-226e040ba102",
"version": "1.0"
},
"params": {
"columns": [],
"tableName": "Activity"
},
"version": "\"210068a6-0000-0200-0000-6718201b0000\"",
"etag": "\"210068a6-0000-0200-0000-6718201b0000\"",
"inheritedAttributes": {
"baseConnection": {
"id": "fd9f7455-1e23-4831-9283-7717e20bee40",
"connectionSpec": {
"id": "2d31dfd1-df1a-456b-948f-226e040ba102",
"version": "1.0"
}
}
},
"lastOperation": {
"started": 1729634331185,
"updated": 0,
"operation": "draft_create"
}
}
]
}
Uppdatera din källanslutning med filtervillkor
Nu när du har ditt källanslutnings-ID och dess motsvarande version kan du göra en PATCH-begäran med filtervillkoren som anger dina standardaktivitetstyper.
Om du vill uppdatera din källanslutning gör du en PATCH-begäran till /sourceConnections
-slutpunkten och anger ditt källanslutnings-ID som en frågeparameter. Dessutom måste du ange en If-Match
-huvudparameter med motsvarande version av källanslutningen.
If-Match
krävs när en PATCH-begäran görs. Värdet för den här rubriken är den unika versionen/taggen för det dataflöde som du vill uppdatera. Versions-/etag-värdet uppdateras med varje lyckad uppdatering av ett dataflöde.API-format
PATCH /sourceConnections/{SOURCE_CONNECTION_ID}
{SOURCE_CONNECTION_ID}
curl -X PATCH \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections/56f7eb3a-b544-4eaa-b167-ef1711044c7a' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-H 'If-Match: {VERSION_HERE}'
-d '
{
"op": "add",
"path": "/params/filters",
"value": {
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "in",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "activityType"
},
{
"nodeType": "literal",
"value": [
"Change Status in Progression",
"Fill Out Form"
]
}
]
}
}
}'
Ett lyckat svar returnerar ditt källanslutnings-ID och -tagg (version).
{
"id": "56f7eb3a-b544-4eaa-b167-ef1711044c7a",
"etag": "\"210068a6-0000-0200-0000-6718201b0000\""
}
Publicera din källanslutning
När källanslutningen har uppdaterats med filtervillkoren kan du nu gå vidare från utkastläget och publicera källanslutningen. Om du vill göra det skickar du en POST-begäran till /sourceConnections
-slutpunkten och anger ID:t för din utkastkällanslutning samt en åtgärd för publicering.
API-format
POST /sourceConnections/{SOURCE_CONNECTION_ID}/action?op=publish
{SOURCE_CONNECTION_ID}
op
op
till publish
.Följande begäran publicerar en kopplad källanslutning.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections/56f7eb3a-b544-4eaa-b167-ef1711044c7a/action?op=publish' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Ett lyckat svar returnerar ditt källanslutnings-ID och -tagg (version).
{
"id": "56f7eb3a-b544-4eaa-b167-ef1711044c7a",
"etag": "\"9f007f7b-0000-0200-0000-670ef1150000\""
}
Publicera målanslutningen
På samma sätt som i föregående steg måste du även publicera målanslutningen för att kunna fortsätta och publicera ditt utkast till dataflöde. Gör en POST-begäran till /targetConnections
-slutpunkten och ange ID:t för den utkastmålanslutning som du vill publicera samt en åtgärd för publicering.
API-format
POST /targetConnections/{TARGET_CONNECTION_ID}/action?op=publish
{TARGET_CONNECTION_ID}
op
op
till publish
.Följande begäran publicerar målanslutningen med ID: 7e53e6e8-b432-4134-bb29-21fc6e8532e5
.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections/7e53e6e8-b432-4134-bb29-21fc6e8532e5/action?op=publish' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Ett lyckat svar returnerar ID:t och motsvarande tagg för den publicerade målanslutningen.
{
"id": "7e53e6e8-b432-4134-bb29-21fc6e8532e5",
"etag": "\"8e000533-0000-0200-0000-5f3c40fd0000\""
}
Publicera dataflödet
Med både käll- och målanslutningarna publicerade kan du nu fortsätta till det sista steget och publicera ditt dataflöde. Om du vill publicera ditt dataflöde gör du en POST-begäran till /flows
-slutpunkten och anger ditt dataflödes-ID och en åtgärd för publicering.
API-format
POST /flows/{FLOW_ID}/action?op=publish
{FLOW_ID}
op
op
till publish
.Följande begäran publicerar ditt utkast till dataflöde.
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows/a7e88a01-40f9-4ebf-80b2-0fc838ff82ef/action?op=publish' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
Ett lyckat svar returnerar ID:t och motsvarande etag
i dataflödet.
{
"id": "a7e88a01-40f9-4ebf-80b2-0fc838ff82ef",
"etag": "\"4b0354b7-0000-0200-0000-6716ce1f0000\""
}
Du kan använda användargränssnittet i Experience Platform för att verifiera att dataflödet i utkastet har publicerats. Navigera till dataflödessidan i källkatalogen och referera till Status i dataflödet. Om det lyckas bör statusen nu anges till Aktiverad.
- Ett dataflöde med filtrering aktiverat fylls bara i i bakgrunden en gång. Alla ändringar i filtervillkoren (vare sig det är ett tillägg eller en borttagning) kan bara börja gälla för inkrementella data.
- Om du behöver importera historiska data för nya aktivitetstyper rekommenderar vi att du skapar ett nytt dataflöde och definierar filtervillkoren med lämpliga aktivitetstyper i filtervillkoret.
- Du kan inte filtrera anpassade aktivitetstyper.
- Du kan inte förhandsgranska filtrerade data.
Bilaga
Det här avsnittet innehåller ytterligare exempel på olika nyttolaster för filtrering.
Enkelt villkor
Du kan utelämna den ursprungliga fnApply
för scenarier som bara kräver ett villkor.
{
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "like",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "firstname"
},
{
"nodeType": "literal",
"value": "%s"
}
]
}
}
Använda operatorn in
Se exempelnyttolasten nedan för ett exempel på operatorn in
.
{
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "and",
"params": [
{
"nodeType": "fnApply",
"fnName": "in",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "firstname"
},
{
"nodeType": "literal",
"value": [
"Ramen",
"John"
]
}
]
}
]
}
}
Använda operatorn isNull
Se exempelnyttolasten nedan för ett exempel på operatorn isNull
.
{
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "isNull",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "complaint_type"
}
]
}
}
Använda operatorn NOT
Se exempelnyttolasten nedan för ett exempel på operatorn NOT
.
{
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "NOT",
"params": [
{
"nodeType": "fnApply",
"fnName": "isNull",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "complaint_type"
}
]
}
]
}
}
Exempel med kapslade villkor
Se exempelnyttolasten nedan för ett exempel på komplexa kapslade villkor.
{
"type": "PQL",
"format": "pql/json",
"value": {
"nodeType": "fnApply",
"fnName": "and",
"params": [
{
"nodeType": "fnApply",
"fnName": ">=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "age"
},
{
"nodeType": "literal",
"value": 20
}
]
},
{
"nodeType": "fnApply",
"fnName": "<=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "age"
},
{
"nodeType": "literal",
"value": 30
}
]
},
{
"nodeType": "fnApply",
"fnName": "or",
"params": [
{
"nodeType": "fnApply",
"fnName": "!=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "city"
},
{
"nodeType": "literal",
"value": "PUD"
}
]
},
{
"nodeType": "fnApply",
"fnName": "=",
"params": [
{
"nodeType": "fieldLookup",
"fieldName": "joinedDate"
},
{
"nodeType": "literal",
"value": "2020-04-22"
}
]
}
]
}
]
}
}