リストと組み合わせて ITEM() を使用すると、各セルに適用されるリスト アイテムが返されます。時間と組み合わせて使用すると、各セルに適用される時間軸が返されます。
たとえば、ITEM() を使用して、モジュールのセルに適用されるリストに応じて出力が変化する条件式を作成できます。
構文
ITEM(List)
引数
| 引数 | データ型 | 説明 |
| List | リスト又は時間 | 返すアイテムの取得元となるリストの名前、又は時間軸への参照。 |
ITEM() ではカンマで区切って引数を二つ指定できます。これを行った場合、FINDITEM() を使用するように、送信時に式が自動的に更新されます。
例:
式 ITEM(Hardware, "Bolts") が FINDITEM(Hardware, "Bolts") に更新され、リスト「Hardware」から「Bolts」のテキスト一致を返します。
これはリストにのみ適用されます。FINDITEM は時間ではサポートされていないため、ITEM(Time, "Jan 22") など、引数が二つあるバージョンを時間に使用することはできません。
計算エンジンの機能の違い
Polaris では、[Ratio] での集計方法が設定されているライン アイテムに ITEM() を使用することはできません。Classic エンジンでは使用できます。
Polaris では、ITEM(Time, "Feb 10") のように、引数が二つある時間のバリアントでこの関数を使用することはできません。Classic エンジンでは使用できます。
構文の例
ITEM(Products)
ここでは、モジュールのディメンションである「Products」リストの適用可能な値が ITEM() によって返されています。
追加情報
非複合リストでは、ITEM() 関数を [Formula] 集計方法で使用できます。
制約
ITEM(List)を [Formula] 集計方法で使用する場合、リストは非複合リストにする必要があります。ただし、複合リストによってディメンション化されているライン アイテムに対しては、ITEM()を [Formula] 集計方法で使用できます。ITEM()を使用するリストは、モジュールの [Applies To] で選択したディメンションにする必要があります。- 複合リストでは、
ITEM(List)を [Formula] 集計方法で使用できません。これは、[Applies To] で親リストが選択されず、子リストのみが選択されるためです。
注記:Polaris では、時間は常に複合として扱われます。
例
シンプルな例
この例では、列に時間、行に「Products」リストがあります。ページ ディメンションにはライン アイテムが含まれており、ライン アイテムには式 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 |