リストと組み合わせて ITEM 関数を使用すると、各セルに適用されるリスト アイテムが返されます。時間と組み合わせて使用すると、各セルに適用される時間軸が返されます。
たとえば、ITEM 関数を使用して、モジュールのセルに適用されるリストに応じて出力が変化する条件式を作成できます。
構文
ITEM(List)
引数
引数 | データ型 | 説明 |
List | リスト又は時間 | 返すアイテムの取得元となるリストの名前、又は時間軸への参照。 |
ITEM 関数ではカンマで区切って引数を二つ指定できます。これを行った場合、FINDITEM 関数を使用するように、送信時に式が自動的に更新されます。
例:
式 ITEM(Hardware, "Bolts")
が FINDITEM(Hardware, "Bolts")
に更新され、リスト「Hardware」から「Bolts」のテキスト一致を返します。
これはリストにのみ適用されます。FINDITEM は時間ではサポートされていないため、ITEM(Time, "Jan 22")
など、引数が二つあるバージョンを時間に使用することはできません。
計算エンジンの機能の違い
- Polaris では、[Formula] での集計方法が設定されているライン アイテムに ITEM 関数を使用することはできません。Classic エンジンでは使用できます。
- Polaris では、ITEM(Time, "Feb 10") のように、引数が二つある時間のバリアントで ITEM 関数を使用することはできません。Classic エンジンでは使用できます。
構文の例
ITEM(Products)
ここでは、モジュールのディメンションである「Products」リストの適用可能な値が ITEM 関数によって返されています。
制約
- [Formula] での集計方法では ITEM 関数を使用できません。これは、[Applies To] で親リストが選択されず、子リストのみが選択されるためです。
- ITEM 関数を使用するリストは、モジュールの [Applies To] で選択したディメンションにする必要があります。
例
シンプルな例
この例では、列に時間、行に「Products」リストがあります。ページ ディメンションには二つのライン アイテムがあります。二つのライン アイテムにはそれぞれ、式「ITEM(Time)
」と「ITEM(Products)
」があります。
以下の表には式「ITEM(Time)
」の結果が表示されています。
Jan 22 | Feb 22 | Mar 22 | |
Product 1 | Jan 22 | Feb 22 | Mar 22 |
Product 2 | Jan 22 | Feb 22 | Mar 22 |
Product 3 | Jan 22 | Feb 22 | Mar 22 |
Product 4 | Jan 22 | Feb 22 | Mar 22 |
以下の表には式「ITEM(Products)
」の結果が表示されています。
Jan 22 | Feb 22 | Mar 22 | |
Product 1 | Product 1 | Product 1 | Product 1 |
Product 2 | Product 2 | Product 2 | Product 2 |
Product 3 | Product 3 | Product 3 | Product 3 |
Product 4 | Product 4 | Product 4 | Product 4 |
IF THEN ELSE を使用した ITEM 関数
ITEM 関数と IF THEN ELSE 関数を併用することで、適用可能なリスト アイテムに応じて変化する条件式を作成できます。
「Products」と「Organization」という二つのリストをディメンションとするモジュールを例にとってみましょう。特定の製品、又は複数の製品の計算が必要な場合は、次の式を使用できます。
IF ITEM(Products) = Products.Product 1 THEN (
Calculation for Product 1
) ELSE (
Calculations for other products
)
IF ITEM(Products) = Products.Product 1 OR Products.Product 2 THEN (
Calculation for Product 1 or Product 2
) ELSE (
Calculations for other products
)
次のようにして AND 演算子を使用することで、「Product」リストと「Organization」リストの特定の組み合わせにのみ適用される計算を指定することもできます。
IF ITEM(Products) = Products.Product 1 AND ITEM(Organization) = Organization.Company 1 THEN (
Calculation for Product 1 and Company 1
) ELSE (
Calculations for other products and companies
)
リストを使用した例
この例では、列に「Organization」リスト、行に「Class」ライン アイテムがあります。「Class」ライン アイテムのデータ型はリストで、「Company Class」リストを参照しています。「Class」ライン アイテムでは、ITEM 関数を使用して「Organization」リストの特定のアイテムを「Company Class」リストの異なる値に割り当てています。使用する式は次のとおりです。
IF ITEM(Organization) = Organization.'Company 01' OR Organization.'Company 05' THEN Company Class.Class A ELSE IF ITEM(Organization) = Organization.'Company 08' THEN Company Class.Class C ELSE Company Class.Class B
Company 01 | Company 02 | Company 03 | Company 04 | Company 05 | Company 06 | Company 07 | Company 08 | |
Class | Class A | Class B | Class B | Class B | Class A | Class B | Class B | Class C |