リスト内の特定のアイテムの位置を決定するには、ITEMLEVEL を使用します。リストはアイテムのデータ型に基づいて識別されます。この関数を使用すると、アイテムからそのルート祖先または最も遠い最下層の子孫までの距離を見つけることができます。

ITEMLEVEL(Item [, Direction])

引数データ型説明
Itemリスト アイテムルート祖先または最も遠い最下層の子孫までの距離が返されるリスト アイテム。
Direction (オプション)キーワード

距離を測定する方向を決定します。

キーワードは ROOTLEAF です。

  • ROOT - Item のルート祖先の数とそれ自体をカウントします。
    Direction 引数を省略した場合のデフォルトのキーワードです。
  • LEAF - Item の最も遠い子孫までのパスにあるアイテムの数と、それ自体をカウントします。

ITEMLEVEL 関数は数値を返します。

この関数は Polaris 計算エンジンでのみ使用できます。

  ITEMLEVEL(Product1)


Products」というリストに属するアイテム「Product1」を例に考えてみましょう。この関数は、「Product1」からそのルート祖先までの「Products」リスト内のアイテムの数を返します。カウントにはそのアイテム自体も含まれます。

  ITEMLEVEL(Category1, LEAF)


Categories」というリストに属するアイテム「Category1」を例に考えてみましょう。この関数は、「Categories」リスト内の「Category1」からその最も遠い子孫までのアイテム数を返します。カウントにはそのアイテム自体も含まれます。

関数の結果は、リストの種類とリスト内のリスト アイテムの位置によって異なります。主なポイントは以下のとおりです。

  • この関数ではリスト内のアイテムのみをカウントします。リストはアイテムのデータ型に基づいて識別されます。
  • 次の場合は 0 が返されます。
    • ROOT方向で Item にルート祖先がない。
    • LEAF 方向で Item に最下層の子孫がない。
  • 指定されたリスト内にリスト アイテムのルート ノードまたは最下層ノードがない場合、結果は 0 になります。
  • リスト アイテムが空白の場合、結果は 0 になります。
  • トップレベル アイテムは、対応するリストの (一意の) ルートとして扱われます。

次の表は、ツリー ビューから表示されるリスト「Products」の構造を表しています。

All products



Electronics



Laptops



Gaming laptop


Phones

Furniture



Chairs
  • All products」には「Electronics」と「Furniture」という二つの子があります。
  • Electronics」には「Laptops」と「Phones」という二つの子があります。
  • Laptops」には「Gaming laptop」という一つの子があります。
  • Furniture」には「Chairs」という一つの子があります。

三つのライン アイテムがある次のモジュールを例に考えてみましょう。 

  • Item」 には「Products」のすべてのリスト アイテムが含まれています。
  • Result 1」と「Result 2」には、「Item」のデータを含む ITEMLEVEL 式があります。
ItemGaming laptopLaptopsPhonesElectronicsChairsFurnitureAll products

Result 1

  ITEMLEVEL(Item)

4332321

Result 2

  ITEMLEVEL(Item, LEAF)

1213124
  • ITEMLEVEL(Item) では、Item のルート祖先の数とそれ自体をカウントします。
  • ITEMLEVEL(Item, LEAF) では、Item の最も遠い子孫までのパスにあるアイテムの数と、それ自体をカウントします。

ここではAll Products」がトップ レベルにあり、その最も遠い子孫は 4 レベル下の「Gaming laptop」であるため、ITEMLEVEL(All Products, LEAF) は 4 を返します。「Gaming Laptop」は最も遠い最下層アイテムであるため、そのルート祖先は 4 レベル上にあり、最下層値は 1 です。