予測不可能なデータから数式が作成されることを防ぐために、数式では本番リストのトップ レベル アイテムしか参照できず、個別のリスト アイテムは参照できません。これを数式参照の保護と呼びます。
本番リスト用の数式参照の保護は両方の方向に適用されます。
本番リストへの数式参照
リストを本番リストとして設定すると、そのリストのアイテムを参照する数式を作成しようとしても必ずブロックされます。
こちらの例では、「Companies」リストが本番リストとして設定されています。
「Company Grade」モジュールでは、「Companies」リストを列のディメンションとして使用しており、一つの数値形式の「Company Grade」ライン アイテムがあります。
「Company Grade」ライン アイテムの式が作成されています。式には ITEM 関数を埋め込む条件があります。この関数は「Company 1」のグレードだけが 1 になるようにするために、「Companies」リストのアイテムを参照します。
「Company Grade」の式:
IF ITEM(Companies) = Companies.'Company 1' THEN 1 Else 2
「Company Grade」モジュール:
Company 1 | Company 2 | Company 3 | Company 4 | Company 5 | Company 6 | Company 7 | Company 8 | Total Companies | |
Company Grade | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
式を保存しようとすると、操作を実行できず、エラー メッセージが表示されます。この式を含むモジュールを構築するには、「Companies」リストの本番リストとしての設定を解除する必要があります。
式参照があるリストの本番リストとしての設定
本番リストとして設定しようとしているリストのいずれかのアイテムがすでに式で参照されている場合は、リストを本番リストとして設定できません。
こちらの例では、「Company Status」モジュールで「Companies」リストを列のディメンションとして使用しています。「Company Class Status」は「Company Class」リスト上のリスト形式のライン アイテムで、「Companies」のアイテムを参照する ITEM 関数を含む条件式を使用しています。この式では、「Company 1」のステータスだけが「Class A」になります。
「Company Class Status」の式:
IF ITEM(Companies) = Companies.'Company 1' THEN Company Class.Class A Else Company Class.Class B
「Company Status」モジュール:
Company 1 | Company 2 | Company 3 | Company 4 | Company 5 | Company 6 | Company 7 | Company 8 | Total Companies | |
Company Class Status | Class A | Class B | Class B | Class B | Class B | Class B | Class B | Class B | |
Company Grade | 10 | 7 | 4 | 6 | 2 | 6 | 8 | 5 | 6 |
「Companies」リストを本番リストとして設定しようとしてもブロックされます。リストを本番リストとして設定する前に、リスト アイテムへのすべての式参照を削除する必要があります。
許可されているリスト プロパティへの式参照
リストの特定のアイテムではなく、本番リストのプロパティへの式参照は許可されています。
このタイプの式参照では以下を実行できます。
- 本番リストへの式参照を作成する
- この式参照がすでにあるリストを本番リストとして設定する
こちらの例では、「City Stats」リストに数値形式の「City Area (sq mi)」プロパティがあります。
グリッド ビューの「City Stats」リスト:
親 | コード | City Area (sq mi) | |
New York | 18 | ||
Boston | 15 | ||
Chicago | 12 | ||
Washington | 8 |
「City Statistics」モジュールでは「City Stats 」リストを列のディメンションとして使用しています。モジュールには「City Land Area (sq mi)」数値ライン アイテムがあります。このライン アイテムでは、各リスト アイテムの「City Area (sq mi)」リストのプロパティ値を取得する式を使用しています。
「City Land Area (sq mi)」の式:
City Stats List.'City Area (sq mls)'
「City Statistics」モジュール:
New York | Boston | Chicago | Washington | |
City Population (m) | 8.6 | 3.4 | 2.7 | 5.3 |
City Land Area (sq mls) | 18 | 15 | 12 | 8 |
この例のようなケースでは、「City Stats」リストを本番リストとして設定しようとしてもブロックされません。