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 が計算されます。
JSON ペイロード内のノードの完全なセットについては、 KPI ルール言語 のトピックを参照してください。

手順

  1. ルール・ライブラリーで、 「新規ルール」をクリックします。
  2. ルールの定義を作成します。 「ルールの定義」 ページから:
    1. 組織内の一般ユーザーに表示されるルールの名前を入力します。 この名前は後で編集できます。
      例えば、Daily document volume です。
    2. 参照用の論理名を確認してください。
      ルールの論理名は、システム内で一意的に識別されます。 この値は、「名前」フィールドに入力したテキストに基づいて自動的に生成されますが、ルールを初めて保存するまでは論理名を変更できます。 論理名は固有の名前でなければなりません。
    3. ルールの説明を入力します。
      このテキストは、ルール・ライブラリー内のルール名の横に表示されます。
    4. ルール・タイプとして KPI を選択します。
    5. オプション: トグルを 「アクティブ」に設定して、ルールをアクティブ化します。
      ルールをアクティブ化すると、作成後に組織内の他のユーザーに対してルールが表示され、使用可能になります。 不完全なルールは、アクティブ化されていても、一般ユーザーには表示されません。 他のルールを表示するには、ルールが完全かつアクティブになっている必要があります。 アクティブなルールを非アクティブ化すると、そのルールは他のユーザーが使用できなくなります。
  3. 「構成」 ページからルールを定義します。
    payload内のフォーマットを使用して JSON ペイロードを追加します。 では、各文書タイプの合計文書ボリュームは、文書サイズから毎日の終わりに計算されます。
  4. 「保存」をクリックします。

結果

ルールが満たされると、KPI を記録するために businessRuleEvent が送信されます。

以下のルールは、毎日の合計文書量を KB 単位で計算します。 結果は 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"
            }
        ]
    }
} 

次のタスク

データを照会して、KPI が作成されたことを確認できます。 ルール ID を使用して、 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 を表示することもできます。