式作成エクスペリエンスから最大の成果を得るためには、このページに記載されているアドバイスに従ってください。
SUM と LOOKUP のどちらを使用すべきか
SUM と LOOKUP のどちらを使用すべきかは、ソース リスト (元のデータがあるリスト) とターゲット リスト (データを取得する式があるリスト) の間でマッピング テーブルがどのように設定されているかによって異なります。
ソース リストとターゲット リストの間のマッピング テーブルは次の二つのいずれかで設定できます。
- モジュール (リスト形式のライン アイテムを使用)
- リスト (リスト形式のプロパティを使用)
一般ルール
マッピング テーブルにターゲット リストが含まれており、ソースのリスト形式のライン アイテムかリスト形式のプロパティにマッピングする場合は、式で LOOKUP を使用します。この方法でマッピング テーブルを設定する場合、各ターゲット アイテムはマッピング テーブルの一つのソース リスト アイテムにしかマッピングできないため、そのソース アイテムの値が検索されます。
マッピング テーブルにソース リストが含まれており、ターゲットのリスト形式のライン アイテムかリスト形式のプロパティにマッピングする場合は式で SUM を使用します。この方法でマッピング テーブルを設定する場合、各ターゲット アイテムを複数のソース アイテムにマッピングできるため、各ターゲット リスト アイテムに対応するすべてのソース データが合計されます。これは Excel の SUMIF と似ています。
SUM と LOOKUP のどちらを使うかを決定するための質問:
- ターゲット リストは何で、式を書いてデータの集計や取得を行う場所はどこにするか?
- ソース リストは何で、データは現在どこにあるか?
- ターゲット リストとソース リストをどのようにマッピングするか?
- このマッピング テーブルの構造はどのようになっているか?
質問 #3 の回答がわかったら、上記の一般ルールを参照してください。
順列
繰り返しが許可されている順列では、POWER、アイテム数としての x、順列数としての n を使用します。
数値から日付への変換
.csv ファイルからデータをインポートする際、数値形式のライン アイテムで日付が 20170630 (yyyymmdd) などの数値形式になる場合があります。Anaplan でこれを日付形式に変換するには、複数の関数を組み合わせてデータを日付形式のライン アイテムに変換する必要があります。
数値形式から部分文字列を抽出するには LEFT 関数と MID 関数を使用します。LEFT はテキスト データでしか動作しないため、抽出前に数値をテキストに変換する必要があります。ただし、日付形式には数値データが必要であるため、トリミングされたデータを後で数値に変換し直す必要があります。
DATE(VALUE(LEFT(TEXT(Number), 4)), VALUE(MID(TEXT(Number), 5, 2)), VALUE(RIGHT(TEXT(Number), 2)))
パーセンテージの計算
パーセンテージはライン アイテムを使用して計算されます。パーセンテージの結果を格納するライン アイテムを作成し、ブループリントで数値として書式設定します。[Format] ダイアログで単位を [Percentage] に設定します。計算の結果はパーセンテージで表示されます。
CUMULATE
CUMULATE 関数はリストで使用できます。名前付きリストのアイテムで使用可能で、累積合計は元の順序に従います。タイムスケール全体で最初の時間軸から合計を累積するために使用可能で、ブール値で累積量をリセットできます。詳細については「CUMULATE」を参照してください。
MOVINGSUM
式のデフォルトは SUM ですが、AVERAGE、MIN、MAX、ANY、ALL、FIRST_NON_BLANK、LAST_NON_BLANK、TEXTLIST など、Anaplan のすべての集計関数を使用できます。値は結果を含む期間と常に相対的になるため、この式には時間ディメンションが必要です。詳細については「MOVINGSUM」を参照してください。
式の構文
MOVINGSUM(Item,From,To,Aggregate)
MOVING PRODUCT
MOVING PRODUCT を直接計算できる式はありません。値の Natural Log (LN) を計算するライン アイテムを作成し、そのライン アイテムに対して MOVINGSUM を実行します。次に、MOVING PRODUCT の MOVINGSUM 値の EXP を取ります。
この例の式
ライン アイテム | 式 |
ABS(val) | ABS(val) |
Evaluate val sign | IF val < 1 THEN 1 ELSE 0 |
Movingsum of Evaluate val sign | MOD(MOVINGSUM(Evaluate val sign, -2, 0), 2) |
Natural Log of ABS(val) | LN('ABS(val)') |
MovingSum of Natural Log of ABS(val) | MOVINGSUM('Natural Log of ABS(val)', -2, 0) |
Moving Product | IF MOD(MOVINGSUM(Evaluate val sign, -2, 0), 2) = 1 THEN EXP('MovingSum of Natural Log of ABS(val)') * -1 ELSE EXP('MovingSum of Natural Log of ABS(val)') |
RANKCUMULATE
RANKCUMULATE 式では、Anaplanner がランキング基準を使用してリストを累積できます。アイテムの追加数量がわかるため、柔軟性が向上します。
この式ではリストの値をランク付けできるだけでなく、実行中の集計で累積することも可能です。グループ分けを含めてランキングを分割することもできます。販売手数料を計算する場合など、現時点までの合計を計算する場合にこの式が便利です。
営業担当者に紐づけられている取引は、RANKCUMULATE 式を使用して Sales Person (グループ) 単位で集計でき、Date Sold (ランキング) を基準として使用できます。累積したら、目標と比較して支払い率を評価できます。
式の構文
RANKCUMULATE(CumulationSource,Date Sold,Direction,Include,Sales Person)
FINDITEM
この式では、テキスト文字列をリスト ライン アイテムと照合することで、リスト又は時間軸リストの有効なアイテムを見つけます。リストを最初のパラメーター、テキストを 2 番目のパラメーターとして取り、テキストをリスト ライン アイテムと照合します。FINDITEM を使用してリストを検索し、一致したリスト ライン アイテム (リストに属している場合) を返すことができます。この式のポイントは、リスト (特に番号付きリスト) にコードを必ず割り当てることです。
ライン アイテムで SELECT と COLLECT を使用した差異の計算
以下で説明されているライン アイテムを設定し、SELECT 関数を使用して別のモジュールから実績と予算のデータを取得します。実績と予算の値を取得することで、差異と差異の割合のライン アイテムに対するシンプルな計算を構築できます。バージョンを追加する代わりにライン アイテムを使用することで、各ライン アイテムの形式を設定し、条件付き書式を使用してデータをハイライトできるというメリットも得られます。
ライン アイテム | 式 |
Actual | Module.Line Item[SELECT:VERSIONS.Actual] |
Budget | Module.Line Item[SELECT:VERSIONS.Budget] |
Variance | Budget - Actual |
Variance % | Variance / Actual |
使用したいモジュールにすでにライン アイテムがあるという問題が発生することがあります。この問題を回避するには、ライン アイテム サブセットを作成し、COLLECT 関数を使用して他のモジュールのライン アイテムからデータを取得します。ライン アイテム サブセットを使用することで、複数のモジュールのライン アイテムをグループにまとめ、一つの一般リストとして使用できます。
この手順では、ライン アイテム サブセットと COLLECT 関数を使用して別のモジュールのライン アイテムからデータを取得するモジュールを作成し、ライン アイテムを使用して差異と差異の割合を計算する方法について説明します。
- モデルの分析にある程度時間をかけ、分析と差異の割合の計算が必要なモジュールとライン アイテムを把握します。こうすることで、ワークスペースをさらに有効活用できるようになります。
- リストとしてグループにまとめるモジュールとライン アイテムがわかったら、ライン アイテム サブセットを作成し、差異と差異の割合を計算するモジュールで対象のライン アイテムを選択します。
- 以下のディメンションがある新しいモジュールを作成します。
- 行: <新しいライン アイテム サブセット>
- 列:ライン アイテム (データ、実績、予算、差異、差異の割合)
- ブループリントでデータ ライン アイテムを選択します。
- 式編集モードで「COLLECT()」と入力してエンターキーを押します。ライン アイテム サブセット リストの各アイテムのデータに、ベースとなるライン アイテムのデータが反映されます。
- 上記の表の式サンプルを参考にしながら、残りのライン アイテムの計算を行います。
- ライン アイテムの形式をデータ型に設定し、条件付き書式がある場合は追加します。
- モジュールをダッシュボードに公開します。
週番号からの週の開始日の計算
以下の表に従い、数値形式のライン アイテムを三つ、日付形式のライン アイテムを一つ設定します。
ライン アイテム名 | 式 | 形式 |
Year | 数値 | |
First Day of the year | WEEKDAY(DATE(Year, 1, 1)) | 数値 |
Week No | 数値 | |
WC Date | DATE(Year, 1, 1) + 7 * (Week no - 1) - First day of the year | 日付 |