Planual rules for transforming data in Anaplan Data Orchestrator.
8.02-01 データ変換を通過するデータの量をできるだけ早く減らす
一連の変換を通じて処理されるデータの量をできるだけ早く減らすことで、処理の負担が軽減されます。フィルターと集計を使用して、必要なデータの列のみを転送します。
relatedToRule
8.02-02 HASH 関数を使用する
HASH 関数は、パラメーター値に基づいて、長さが 56 文字の決定論的な一意のキーを返します。
対象ドメインの予想される入力サイズに基づいてコリジョンの可能性がわずかであれば、これを 56 文字から n 文字に安全に短縮できます (たとえば、左側の n 文字を取得するなど)。結果を短縮すると、より読みやすい一意のコードが提供されます。
コリジョンの可能性が 0.0001% 未満の場合は、次を使用します。
- 最大 1,000 アイテムのドメインの場合は 10 文字
- 最大 100 万アイテムのドメインの場合は 15 文字
- 最大 10 億アイテムのドメインの場合は 20 文字
8.02-03 TO_DATE 関数を使用して文字列を日付に変換する
これにより、日付の形式を定義できるようになります。一方、一般的な CAST 関数では、日付は米国の日付形式 (mm/dd/yyyy) であると想定されます。
8.02-04 二つのデータセットを結合する場合は少なくとも一つの一致する列が必要
これにより、ユーザーが誤って二つの大きなデータセット間のデカルト積を作成することが防止されます。これを実行する必要がある場合 (たとえば変換で使用するパラメーター値を結合する場合)、同じ定数値を持つ計算列を両方のデータセットに追加します。
8.02-05 フィルターの順序に注意する
たとえば、列計算が適用された後、変換の結果に詳細フィルターが適用されます。そのため、元の値でフィルターリングする必要がある場合は、一つの変換ビューで計算を適用し、それに基づいて詳細フィルターを含む後続の変換ビューを作成します。
8.02-06 二つのデータセットを結合する際に等しい値のみを結合する
二つのデータセットを結合する場合、式の結果で結合したり、式でフィルタリングしたりすることはできないため、等しい値でしか結合できません。
例:
TransactionsDataSet.Productcode = ProductMaster.ProductCode AND TransactionsDataSet.TransactionDate >= ProductMaster.StartDate
これを実現するには、関連するすべての組み合わせのデータセットを結合し、関連する行にフィルターを適用します。
TransactionsDataSet.Productcode = ProductMaster.ProductCode
比較のための列を計算します。
InRelevantDateRange = TransactionsDataSet.TransactionDate >= ProductMaster.StartDate
InRelevantDateRange = TRUE のフィルターを追加します。
8.02-07 文字列値を適切な型に変換する
次の関数を使用して、文字列値を適切な型に変換します。
- TO_NUMBER
- TO_DATE
- TO_TIMESTAMP
TO_CHAR 関数を使用して、NUMERIC (浮動小数点数 / 整数)、DATE、TIMESTAMP 型の列を指定された形式の文字列に変換します。
型を変換するには、CAST を使用します。

関数 IS_FLOAT、IS_INTEGER、IS_BOOLEAN を使用して、文字列値が必要なデータ型への CAST に適しているかどうかを確認できます。
注記:IS_FLOAT と IS_INTEGER では、千の位の区切り文字がある数値を表す文字列が数値として扱われません。問題に対処するには、次のような式を使用します。
IF
IS_FLOAT ( SUBSTITUTE ( 'CC Test'.'New column1' , "," , "" ) )
THEN
CAST(SUBSTITUTE ( 'CC Test'.'New column1' , "," , "" ),"FLOAT")
ELSE
0