KPI ルールの作成
ルール・ビルダーを使用して、ユーザー・インターフェースから KPI ルールを作成します。 このルールは、イベントまたはビジネス・オブジェクト全体の傾向に関する洞察を提供する KPI を作成します。
このタスクについて
ルールを定義するには、以下の JSON 形式を使用して、ルール・ビルダーを介して KPI の JSON ペイロードを指定します。
{
"instructions": {
"filter": {
"EQUALS": [{
"SELECT": [
"",
""
]
},
{
"VALUE": [
"",
""
]
}
]
},
"reduce": {
"output": {
"resultAlias": "",
"resultType": ""
},
"expression": {
"fieldPath": "",
"type": "",
"operator": ""
}
},
"window": {
"timeWindows": [
""
],
"fieldPath": ""
},
"dimension": [{
"fieldPath": "",
"type": ""
}]
}
}JSON ペイロードには、以下のオブジェクトと配列が含まれます。- フィルター
- 指定された式を使用してデータをフィルタリングします。
- Reduce (削減)
- KPI を計算する数学演算。 例では、数学演算は合計です。 最終値は、時間枠が経過したときに計算されます。
- ウィンドウ
- 計算の時間枠です。 例では、計算は分間隔で実行されます。
- ディメンション
- ディメンションが指定されている場合、ディメンションの値ごとに別個の KPI が計算されます。 例では、タイプ 850 および 856 の EDI ドキュメントに対して別個の KPI が計算されます。
手順
結果
businessRuleEvent が送信されます。例
dailyDocumentVolumeとして保管されます。 オブジェクト・モデルには、2 つのタイプの EDI ドキュメント (850 と 856) があります。 このルールは、EDI ドキュメント・タイプごとに合計ドキュメント・ボリュームを計算します。{
"instructions": {
"filter": {
"EQUALS": [
{
"SELECT": [
"eventCode",
"String"
]
},
{
"VALUE": [
"objectUpsertEvent",
"String"
]
}
]
},
"reduce": {
"output": {
"resultAlias": "dailyDocumentVolume",
"resultType": "long"
},
"expression": {
"fieldPath": "eventDetails.eventSource.EDI.size",
"type": "LONG",
"operator": "sum"
}
},
"window": {
"timeWindows": [
"day"
],
"fieldPath": "timestampEventOccurred"
},
"dimension": [
{
"fieldPath": "eventDetails.eventSource.EDI.transactionType",
"type": "STRING"
}
]
}
} 次のタスク
businessRuleEvents の GraphQL 照会を作成します。 以下の照会をガイドとして使用し、ルール ID を置き換えます。{
businessRuleEvents(
simpleFilter: {rule: {id: "8bd65191-782e-4360-b82a-d7f31d51bf29"}}
cursorParams: {first: 1}
) {
totalCount
pageInfo {
endCursor
hasNextPage
}
edges {
cursor
object {
eventCode
timestampEventOccurred
timestampEventReceived
eventDetails {
rule {
id
name
}
dimensionValues {
name
value
}
values {
name
value
}
}
}
}
}
}KPI が照会結果の
eventDetails の下の values 配列で使用可能であることを確認します。以下に例を示します。{
"data": {
"businessRuleEvents": {
"pageInfo": {
"hasNextPage": false
},
"edges": [{
"cursor": "Yjg2MHM4ZDQtZDc3Ny0zZjg4LWFiNzEtYMQwYzU22TUzzjJj",
"object": {
"eventCode": "businessEvent",
"timestampEventOccurred": "2023-01-20T23:20:00Z",
"timestampEventReceived": "2023-01-20T07:54:00",
"eventDetails": {
"rule": {
"id": "8bd65191-782e-4360-b82a-d7f31d51bf29",
"name": "dailyDocumentVolume"
},
"dimensionValues": [{
"name": "day",
"value": "2023-01-20T23"
},
{
"name": "eventDetails.transactionType",
"value": "850"
}
],
"values": [{
"name": "dailyDocumentVolume",
"value": "100"
}]
}
}
}]
}
}
}また、ダッシュボード・カードに照会定義を追加して、KPI を表示することもできます。