KPI API の概要
InterSystems Supply Chain Orchestrator™ では、初期構成の手順を含む、サプライ・チェーン KPI のための分析 APIOpens in a new tab を提供します。このページでは、KPI に適用される API 呼び出しについて説明します。
KPI の定義
すべての定義済みの KPI を見つけるには、以下の API を使用します (パラメータは不要です)。
GET {{IRIS-SERVER-URL}}/api/scbi/v1/kpi/definitions
新しい KPI を定義するには、以下の API 呼び出しを使用します。
POST {{IRIS-SERVER-URL}}/api/scbi/v1/kpi/definitions
この際に、メッセージ本文に以下の JSON を含めます。
{
"name": "KPI name",
"description": "KPI description",
"type": "DeepSee",
"baseObject": "SC base object for the KPI, such as SalesOrder",
"status": "Status value, such as Active/Inactive",
"watchingThreshold": xx,
"warningThreshold": yy,
"deepseeKpiSpec": {
"namespace": "IRISnamespace",
"cube": "KpiCubeName",
"kpiMeasure": "cubeMeasure",
"valueType": "raw/percentage",
"kpiConditions": [
"MDX condition 1",
"MDX condition 2"
],
"kpiDimensions": [
{
"name": "dim1",
"cubeDimension": "MDX dimension expression"
},
{
"name": "dim2",
"cubeDimension": "MDX dimension expression"
}
]
}
}
一般的な KPI 定義属性は以下のとおりです。
属性 | 必須 | 説明 |
---|---|---|
name | はい | KPI 名。スペースやその他の文字を含まないアルファベット文字列で、同じデプロイにおいて一意である必要があります。 |
description | いいえ | KPI の説明 |
type | いいえ | KPI 定義のタイプ。現在の 1 つのタイプ (DeepSee) のみをサポートしています。将来的にはさらに多くのタイプがサポートされる予定です。 |
baseObject | はい | KPI のベースとなるサプライ・チェーン・オブジェクト (SalesOrder や SupplyShipment など)。 |
status | はい | KPI 定義のステータス (Active、Inactive など)。 |
watchingThreshold | いいえ | 監視レベルのしきい値 |
warningThreshold | いいえ | 警告レベルのしきい値 |
resolutionService | いいえ | この KPI の問題解決を実行するビジネス・サービスのホスト名 (サプライ・チェーン・プロダクション内) |
以下に、KPI 仕様の詳細な説明を示します。
属性 | 必須 | 説明 |
---|---|---|
cube | はい | キューブ名 |
valueType | いいえ | 値のタイプ。raw または percentage である必要があります。既定値は raw です。これは対応するキューブのメジャーで指定されるのと同じ値を意味します。 |
kpiMeasure | いいえ | KPI の MDX 形式のキューブのメジャー。指定されない場合、キューブの対応するカウント・メジャーが使用されます。 |
kpiConditions | いいえ | MDX フィルタ値のリスト。KPI 条件を定義するために使用されます。値が指定されないと、KPI は総注文数や総収益などのメジャー合計を取得します。 |
baseConditions | いいえ | これは、KPI 値のタイプが percentage である場合に使用されます。この一連の MDX フィルタ値により、KPI の分母が決定されます。それに対して KPI の分子は、この一連の条件を kpiConditions で定義された一連の条件と組み合わせることで決定されます。 |
kpiDimensions | いいえ | この属性は、KPI の範囲で使用できる一連のディメンジョンを追跡するために使用されます。各ディメンジョンの名前は、KPI のフィルタリングまたはブレークダウンに使用されます。 |
KPI に関連した API 呼び出しには、以下のようなものもあります。
-
特定の KPI の定義の取得
GET {{IRIS-SERVER-URL}}/api/scbi/v1/kpi/definitions/{KPI_NAME}
-
KPI 定義の更新。この API 呼び出しは、新規 KPI の作成に使用するのと同じ形式の本文で使用します。
PUT {{IRIS-SERVER-URL}}/api/scbi/v1/kpi/definitions/{KPI_NAME}
-
KPI 定義の削除
DELETE {{IRIS-SERVER-URL}}/api/scbi/v1/kpi/definitions/{KPI_NAME}
KPI 値
ディメンジョンを拡張せずに KPI 値を取得するには、以下の API 呼び出しを使用します。
GET {{IRIS-SERVER-URL}}/api/scbi/v1/kpi/values/{KPI_NAME}
応答は以下のようになります。
{
"kpiName": "kpiName",
"values": [
{
"label": "kpi",
"value": xxx
}
]
}
ディメンジョンごとにブレークダウンして KPI 値を取得するには、以下を使用します。
GET {{IRIS-SERVER-URL}}/api/scbi/v1/kpi/values/{KPI_NAME}?expandDimension={dimName}
応答は以下のようになります。
{
"kpiName": "kpiName",
"expandDimension": "dimName",
"values": [
{
"label": "dim-value-label1",
"value": x1
},
{
"label": "dim-value-label2",
"value": x2
},
...
]
}
この API 呼び出しを UI で使用して、地域ごとの出荷の遅れなど、KPI の内訳を確認するためのグラフを表示できます。
KPI の詳細リスト
KPI に関連したソース・レコードを取得するには、以下の API 呼び出しを使用できます。
GET {{IRIS-SERVER-URL}}/api/scbi/v1/kpi/listings/{KPI_NAME}
応答はソース・レコードのリストです。例えば、出荷遅延注文の KPI リスト要求は、出荷が遅れた注文のリストを返します。この API 呼び出しは、通常のページ付けパラメータと並べ替えパラメータを受け入れます。
KPI のフィルタリング
定義済みの KPI については、API 呼び出しに追加のフィルタを適用して、KPI 値またはリストを取得できます。KPI フィルタは REST パラメータ kpiFilter で、(dimName1,value1),(dimName1,value2),... の形式の値を持ちます。必要に応じて任意の数のフィルタ名と値のペアを指定できますが、特定のディメンジョンに対しては、1 つのフィルタで指定できる名前と値のペアは 1 つのみとなります。kpiFilter で使用されるディメンジョンは、KPI 定義の kpiDimensions の下で定義する必要があります。別の制限として、ディメンジョンが expandDimension で使用される場合、同じディメンジョンをフィルタで使用することはできません。それを除いては、expandDimension は同じ API 呼び出しで kpiFilter と共に使用して、KPI 値を取得できます。
以下に、要求でフィルタが定義された KPI 要求の例を示します。
GET {{IRIS-SERVER-URL}}/api/scbi/v1/kpi/values/OrderLateShip?kpiFilter=(productFamily,iPhone),(region,EMEA)
これは、地域 EMEA における製品ファミリ iPhone の出荷遅延注文の KPI 値を取得します。