Anaplan XL では Incorta データ ソースへの接続をサポートしています。

接続画面で Incorta タイプを選択し、通常 Incorta フロントエンドにアクセスするために使用している URL をサーバー名として入力します。これにテナント名が含まれている場合は検出されます。含まれていない場合は、その情報も入力する必要があります。

その後、認証、ログイン、データ モデルへのアクセスが可能になります。

Anaplan XL に表示される階層を定義するカスタム メタデータを Incorta インスタンスに追加できます。これにより、ドリルダウンとカスタム計算を追加できるようになります。

階層定義は AnaplanXLMetadata と呼ばれるスキーマに保持する必要があります。これには、Schema、Table、Json の三つの列がある Hierarchies というテーブルが含まれている必要があります。

Schema と Table では、Anaplan XL UI で階層が表示される場所を定義し、Json では階層構造を定義します。

階層には複数レベルと自己結合の 2 種類があります。

こちらの例は、各レベルがテーブル内の列に基づく三つのレベルを持つ製品階層を示しています。既存のスキーマでレベルがすでに定義されている場合にこれが適切に機能します。

name 属性では、Anaplan XL で階層とレベルと呼ぶものを定義します。レポートで階層が使用されている場合はこれを変更してはなりません。ラベルは自由に変更できます。

{ "name":"PROD_HIER", "label":"Products", "isDefault": true, "levels": [{ "name":"PROD_HIER_CAT", "label":"Product Category", "field":"Online_Store.OrderDetails.CategoryName" }, { "name":"PROD_HIER_SUBCAT", "label":"Product Subcategory", "field":"Online_Store.OrderDetails.SubcategoryName" }, { "name":"PROD_HIER_PROD", "label":"Product Name", "field":"Online_Store.OrderDetails.ProductName" } ] }

こちらの例は、式を使用して階層のレベルを定義する方法を示しています。このケースでは、日付フィールドがあり、モデルに追加の計算を追加せずに、そこから複数レベルの階層を作成したいと考えています。

各レベルの内容を定義するシンプルな式があり、一部のレベルでは順序を制御するための sortFormula を追加します。

{ "name":"ORDERDATE_YQM", "label":"Order Date YQM", "type": "time", "levels": [{ "name":"DATE_Y", "label":"Year", "formula":"Year(Online_Store.OrderDetails.OrderDate)", "type": "timeyears" }, { "name":"DATE_YQ", "label":"Quarter", "formula": "\"Q\" + quarter(Online_Store.OrderDetails.OrderDate) + \" \" + year(Online_Store.OrderDetails.OrderDate)", "sortFormula": "(year(Online_Store.OrderDetails.OrderDate) * 100) + quarter(Online_Store.OrderDetails.OrderDate)", "type": "timequarters" }, { "name":"DATE_YQM", "label":"Month", "formula": "monthName(Online_Store.OrderDetails.OrderDate) + \" \" + year(Online_Store.OrderDetails.OrderDate)", "sortFormula": "(year(Online_Store.OrderDetails.OrderDate) * 10000) + (quarter(Online_Store.OrderDetails.OrderDate) * 100) + month(Online_Store.OrderDetails.OrderDate)", "type": "timemonths" } ] }

自己結合は Incorta で定義でき、Anaplan XL で使用できます。こちらのケースでは、すべてのフィールドが関連するわけではないため、自己結合テーブル内で使用するフィールドを定義できます。たとえば、「Employees」テーブルでは、「FullName」は適切な階層になりますが「Title」はそうではありません。

{ "selfJoinFields": ["EMAIL", "JOB_TITLE"] }

日付の例では、階層とレベルのタイプ属性があります。これらは、Anaplan XL で階層の意味を認識するのに役立ち、一部のカスタム計算で便利です。たとえば、年レベルが適切なタイプである場合、YTD () MDX 関数を使用できます。

階層を定義すると、Anaplan XL では最初に使用されるときに階層全体をダウンロードします。つまり、システム メモリとネットワーク容量によって階層の最大サイズが制限されます。階層が非常に大きい場合、クエリのパフォーマンスも低下します。

そのため、影響をテストせずに非常に大きな階層 (10,000 アイテムを超える場合が目安) を作成しないでください。

テーブル内のすべての列にレベルを追加しないことで、階層のサイズを制限できます。たとえば、SKU レベルには多くのアイテムが含まれる場合があります。階層の最下位レベルを、製品テーブルの上位レベルに配置するのが最適です。

日付テーブルには、実際よりも多くの行が含まれる場合があります。たとえば、結合されたテーブルには実際のデータが存在しない数十年分の日付を用意する必要はありません。