リストと組み合わせて ITEM 関数を使用すると、各セルに適用されるリスト アイテムが返されます。時間と組み合わせて使用すると、各セルに適用される時間軸が返されます。

たとえば、ITEM 関数を使用して、モジュールのセルに適用されるリストに応じて出力が変化する条件式を作成できます。

ITEM(List_or_Time)

引数データ型説明
List_or_Timeリスト又は時間ディメンション返すアイテムの取得元となるリストの名前、又は時間への参照

ITEM 関数は指定した List 又は Time 引数に応じて、データ型がリストか時間軸の結果を返します。

ITEM(Products)

ここでは、モジュールのディメンションである「Products」リストの適用可能な値が ITEM 関数によって返されています。

ITEM 関数ではカンマで区切って引数を二つ指定できます。これを行った場合、FINDITEM 関数を使用するように、送信時に式が自動的に更新されます。

例:

  • 式「ITEM(Hardware, "Bolts")」が更新されて「FINDITEM(Hardware, "Bolts")」になります。
  • 式「ITEM(Time, "Jan 22")」が更新されて「FINDITEM(Time, "Jan 22")」になります。
  • [Formula] での集計方法では ITEM 関数を使用できません。これは、[Applies To] で親リストが選択されず、子リストのみが選択されるためです。
  • ITEM 関数を使用するリストは、モジュールの [Applies To] で選択したディメンションにする必要があります。

Polaris では、式集計方法を指定した状態で、ライン アイテムの式で ITEM を使用することはできません。Classic エンジンでは使用できます。

Polaris では、Time 引数を一つ指定した状態で ITEM 関数を使用することはできません。Classic エンジンでは使用できます。

この例では、列に時間、行に「Products」リストがあります。ページ ディメンションには二つのライン アイテムがあります。二つのライン アイテムにはそれぞれ、式「ITEM(Time)」と「ITEM(Products)」があります。

以下の表には式「ITEM(Time)」の結果が表示されています。


Jan 22Feb 22Mar 22
Product 1Jan 22Feb 22Mar 22
Product 2Jan 22Feb 22Mar 22
Product 3Jan 22Feb 22Mar 22
Product 4Jan 22Feb 22Mar 22

以下の表には式「ITEM(Products)」の結果が表示されています。


Jan 22Feb 22Mar 22
Product 1Product 1Product 1Product 1
Product 2Product 2Product 2Product 2
Product 3Product 3Product 3Product 3
Product 4Product 4Product 4Product 4

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 01Company 02Company 03Company 04Company 05Company 06Company 07Company 08
ClassClass AClass BClass BClass BClass AClass BClass BClass C

この例では、列に時間、行に「Product Release Status」ライン アイテムが表示されています。「Product Release Status」ライン アイテムのデータ型はリストで、「Product Status」リストを参照しています。「Product Release Status」ラインでは、ITEM 関数を使用して、時間軸に基づいて異なる時間軸を「Product Status」リストの異なる値に割り当てています。使用する式は次のとおりです。

IF ITEM(Time) < TIME.'Apr 21' THEN Product Status.Before Release ELSE Product Status.After Release


Jan 21Feb 21Mar 21Apr 21May 21Jun 21Jul 21Aug 21Sep 21Oct 21Nov 21Dec 21
Product Release StatusBefore ReleaseBefore ReleaseBefore ReleaseAfter ReleaseAfter ReleaseAfter ReleaseAfter ReleaseAfter ReleaseAfter ReleaseAfter ReleaseAfter ReleaseAfter Release