特定のリスト アイテムか時間軸から値を返すには SELECT 関数を使用します。

たとえば、SELECT 関数を使用して、異なるバージョン間で値を比較できます。

注記:非汎用時間軸と SELECT 関数の併用は推奨されていません。SELECT の使用はモデル構築の持続可能な性質に反し、モデルのタイムスケールを更新する際に、ハードコードされた要素が問題の原因となる場合があります。

代わりに、時間形式のアイテムではモジュールで SUM か LOOKUP を使用してください。

Source[SELECT:Target item]

引数データ型説明
Source数値、ブール値、日付、時間軸、リスト、又はテキスト値の選択元となるソース モジュールとライン アイテム。これはモジュール ライン アイテム module.lineitem である必要があります。
Target item時間軸、リストSELECT 関数で値を返すアイテムこれは、List name.'list item' 又は Time.'time period' である必要があります。

SELECT 関数は Source 引数と同じデータ型で値を返します。

Polaris では、現在の時間軸 Time.'Feb 23' + 1 からリテラル オフセットを使用できる場合を除き、SELECT の参照は式ではなくリテラルにする必要があります。

Classic エンジンでは、SELECT で式を使用できます。Classic エンジンでは SELECT の式で Time.'Current Period' が許可されますが、式では他の名前付き時間軸を使用できません。

Income Statement.Sales[SELECT:Versions.Actual]

LOOKUP

この例ではソース モジュールとターゲット モジュールがあります。

General listsグリッド ビュー内の「Products」リストの構造は以下のとおりです。


Parent (親)Code (コード)
Nuts

Bolts

Screws

Nails

ソース モジュール

ソース モジュール「Sales」には、行に「Products」リスト、ページに三つのライン アイテム「Gross sales」、「Cost of goods」、「Gross profit」、列に時間軸があります。ページではライン アイテム「Gross sales」が選択されています。


Jan 22Feb 22Mar 22
   Nuts1,0008,0009,000
   Bolts2,0007,00010,000
   Screws3,0006,00011,000
   Nails4,0005,00012,000

ターゲット モジュール

ターゲット モジュール「Sales by products」には、行に七つのライン アイテム「Nuts」、「Bolts」、「Screws」、「Nails」、「Total sales」、「Total cost of goods」、「Gross profit」、列に時間軸があります。


Jan 22Feb 22Mar 22
    Nuts
   Sales.Gross sales[SELECT:Products.Nuts]
1,0008,0009,000
    Bolts
   Sales.Gross sales[SELECT:Products.Bolts]
2,0007,00010,000
    Screws
   Sales.Gross sales[SELECT:Products.Screws]
3,0006,00011,000
    Nails
   Sales.Gross sales[SELECT:Products.Nails]
4,0005,00012,000
Total sales
Nuts + Bolts + Screws + Nails
10,00026,00042,000
Total cost of goods
Total sales * - 0.6
-6,000-15,600-25,200
Gross profit
Total sales - Total cost of goods
16,00041,60067,200

この例にはモジュールが二つあり、SELECT 関数を使用して特定の時間軸の値を選択しています。

ソース モジュール

ソース モジュールの「Product sales」では列に「Time」ディメンション、行に「Organization」リストがあります。ページにはライン アイテムと「Products」リストがあり、「Gross sales」ライン アイテムと「Nuts」リスト アイテムが選択されています。


Oct 21Nov 21Dec 21Jan 22Feb 22Mar 22
London8,0007,50010,0009,0006,5005,000
Paris25,00028,00029,50028,00024,50026,000
Berlin5,0007,50010,0006,5002,0006,000

ターゲット モジュール

ターゲット モジュールの「Recent sales」では列に「Organization」リスト、行にライン アイテムがあります。ページには「Products」リストがあり、「Nuts」リスト アイテムが選択されています。

モデル カレンダーの現在の期間は「Mar 22」で、過去 1 年間の概要が有効になっています。カレンダーの開始期間は「Oct 21」です。


LondonParisBerlin

Sales over all periods

Product sales.Gross sales[SELECT:TIME.'Current Period']

46,000161,00037,000

Sales this year to date

Product sales.Gross sales[SELECT:TIME.'YTD']

20,50078,50014,500

Sales in the current period

Product sales.Gross sales[SELECT:TIME.'Current Period']

5,00026,0006,000

こちらの例は、新たにバージョンを追加することなく、SELECT を使用して Forecast (フォーキャスト)Actual (実績) の二つのバージョンを比較する方法を示したものです。バージョンを追加するとモデルのサイズが大きくなります。

この例にはモジュールが二つあります。ソース モジュールが「 Income statement」で、ターゲット モジュールが「Income statement variance」です。 

ソース モジュール

ソース モジュールの「Income statement」では、行に「Organization」リストがあります。列には「Versions」ディメンションがあります。ページにはライン アイテムと「Time」ディメンションがあります。「Sales」ライン アイテムと時間軸「Apr 22」が表示されています。

今回の例では、Actual バージョンと Forecast バージョンの「Sales」ライン アイテムのデータをターゲット モジュールに取り込む必要があると仮定します。 


ActualForecast
    London9751,000
    Birmingham1,0211,000
    UK1,9962,000
    Paris1,2341,000
    France1,2341,000
Total company3,2303,000

ターゲット モジュール

ターゲット モジュールの「Income statement variance」では列にライン アイテム、行に「Organization」リストがあります。ページには「Time」ディメンションがあり、期間「Apr 22」が表示されています。


LondonBirminghamUKParisFranceTotal Company
Actual sales
Income Statement.Sales[SELECT:Versions.Actual]
9751,0211,9961,2341,2343,230
Forecast sales
Income Statement.Sales[SELECT:Versions.Forecast]
1,0001,0002,0001,0001,0003,000
Variance
Actual sales - Forecast sales
-2521-4234234230

ソース モジュールの Actual バージョンと Forecast バージョンから「Actual sales」ライン アイテムと「Forecast sales 」ライン アイテムの値が選択されています。「Variance」の値は「Actual sales - Forecast sales」というシンプルな式で求められています。