ソース モジュールやリストでの値の検索、マッピング条件を使用したターゲット モジュールでの値の表示に LOOKUP 関数を使用します。 次の例は、モデル内のさまざまなシナリオでどのように LOOKUP を使用できるかを示したものです。

この例は、リスト「Grades」から給与を検索し、「Employee Salaries」モジュールに給与を入力する方法を示したものです。

Grades」リストには数値形式の「Salary」というプロパティがあります。 「Grades」リストはグリッド ビューで次のように表示されます。


Parent (親)Code (コード)Salary
Grade 1

40,000
Grade 2

45,000
Grade 3

50,000
Grade 4

60,000

Employee Salaries」モジュールの行には「Employees」リストがあり、列には次の二つのライン アイテムがあります。

  • Grade: 「Grades」リストのリストデータ型
  • Salary: 次の式を含む数値データ型:
    Grades.Salary[LOOKUP:Grade]

Employee Salary」モジュールで従業員の評価を選択すると、「Grades」リストの対応する値が「Salary」フィールドに入力されます。

従業員の給与を検索する必要があると仮定します。評価と地域が反映された「Pay table」モジュールがあり、「Employee salaries」結果モジュールに給与を表示する必要があります。

ソース モジュールと結果モジュールの間のマッピングは「Region」と「Grade」で行います。

Region」と「Grade」はソース モジュール「Pay table」のディメンションです。これらは結果モジュール「Employee salaries」のリスト データ型ライン アイテムでもあります。

結果モジュールでは、LOOKUP は「Grade」と「Region」のマッピングを使用して、ソース モジュール「Pay Table」とライン アイテム「Basic Pay」から従業員の給与を返します。

Salary」列で給与を取得するために使用される式は次のとおりです。

Pay Table.Basic Pay[LOOKUP:Grade, LOOKUP: Region]

ソース モジュール「Pay Table」のページにはデータ型が数値のライン アイテム「Basic Pay」があります。列に「Region」リスト、行に「Grades」リストがあります。

この表は「Basic Pay」ライン アイテムのデータを示したものです。


Region ARegion BRegion CRegion D
Grade 120,00021,00025,00033,000
Grade 230,00031,00035,00038,000
Grade 340,00041,00045,00049,000

Employee salaries」モジュールの行には「Employees」リストがあり、列には次のライン アイテムがあります。

  • Grade: 「Grades」リストのリスト データ型
  • Region: 「Regions」リストのリスト データ型
  • Salary: 次の式を含む数値データ型:Pay Table.Basic Pay[LOOKUP:Grade, LOOKUP: Region].

次の表は「Employee salaries」モジュールの内容を示したものです。従業員ごとに「Grade」と「Region」を選択すると、選択した従業員の「Salary」の値が LOOKUP 式によって入力されます。

EmployeesGradeRegionSalary 
Employee xGrade 2Region B31,000
Employee yGrade 3Region C45,000
Employee zGrade 3Region A40,000

この例は、時間軸で LOOKUP を使用する方法を示したものです。ソース モジュール「Pay region」と結果モジュール「Staff costs」があります。「Pay region」モジュールでスタッフのコストを検索し、「Region」と「Period」ごとにコストをマッピングします。 

マッピング ライン アイテムのデータ型よりソース ライン アイテムのタイムスケールが細かい場合に LOOKUP を使用できます。また、マッピング ライン アイテムのディメンションよりもターゲット ライン アイテムのディメンションのタイムスケールが細かい場合にも LOOKUP を使用できます。

ただし、結果で使用するタイム スケールがソースにない場合、LOOKUP で 0 が返されます。 たとえば、結果で半年の合計を選択し、それをソースで選択しなかった場合、LOOKUP では 0 が返されます。

ソース モデル「Pay region」のページには数値形式のライン アイテム「Pay」があります。列に「Regions」リスト、行に時間ディメンションがあります。

この表は「Pay line」アイテムのデータを示したものです。


JanFebMar
Americas160,667166,500176,250
Europe166,833166,833166,833
Asia Pacific129,333137,000143,917
All Regions456,833470,333487,000

結果モジュール「Staff costs」の列には次のライン アイテムがあります。

  • Region: 「Regions」リストのリスト データ型
  • Period: 月が選択された時間軸データ型
  • Costs: 次の式を含む数値データ型:Pay region.Pay[LOOKUP:Regions, LOOKUP:Period]

行には「Transactions」リストがあります。

このテーブルには「Staff costs」モジュールが表示されています。


RegionsPeriodCosts
Transaction 01EuropeJan166,833
Transaction 02AmericasJan160,667
Transaction 03Asia PacificJan129,333

Costs」列の値が「Pay region」ソース テーブルから取得されているのがわかります。たとえば、「Transaction 01」の値 166,833 は「Europe」と「Jan」が交差するセルから取得されています。