Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

LEAD

レベル・メンバおよび負でない整数を指定すると、この関数は、レベル内で順方向にカウントして後のメンバを返します。詳細は、時間ディメンジョンとデータ・ディメンジョンで異なります。

返りタイプ

この関数は、メンバを返します。

構文および詳細

member_expression.LEAD(optional_integer_expression) 

以下は、この指定の説明です。

  • member_expression は、メンバを返す式です。

    この式は、メジャーを参照できません。

  • optional_integer_expression は負でない整数リテラルです。

    この引数の既定値は 0 です。この場合、この関数は、member_expression で指定されたメンバを返します。

    integer_expression が 1 の場合、この関数は、NEXTMEMBER 関数と同等です。

この関数は、指定されたメンバが属するレベルのメンバを検証し、(integer_expression を使用して) 現在のメンバから順方向にカウントし、その位置のメンバを返します。時間ディメンジョンでは、この関数はすべての親レベルを無視します。データ・ディメンジョンでは、この関数は親レベルを考慮し、指定された親メンバ内で現在のメンバからカウントします。(ここでいう時間ディメンジョンデータ・ディメンジョンは、キューブで定義されているディメンジョン・タイプのみを参照します。詳細は、"DeepSee モデルの定義" を参照してください。)

どの時間ディメンジョン内でも、この関数は、日付部分に基づく時間レベル (月だけでレコードをグループ化する Month など) よりも、時間軸に基づく時間レベル (年と月でレコードをグループ化する Period など) で役立ちます。レベルが日付部分に基づく場合、この関数では、セットの末尾を超えたレベルを参照すると null が返されます。同様のシナリオの例については、NEXTMEMBER を参照してください。詳細は、"DeepSee での MDX の使用法" の “時間レベルの概要” を参照してください。

最初の例は時間ディメンジョンを使用します。参考として示された以下のクエリを検討してください。

SELECT MEASURES.[%COUNT] ON 0, 
{birthd.1948,birthd.1949,birthd.1950,birthd.1951,birthd.1952} ON 1 
FROM patients
 
                             Patient Count
1 1948                                   10
2 1949                                    4
3 1950                                   12
4 1951                                    8
5 1952                                    6

以下のクエリは LEAD を使用します。

SELECT MEASURES.[%COUNT] ON 0, birthd.1948.LEAD(1) ON 1 FROM patients
 
                             Patient Count
1949                                      4

別の例を示します。

SELECT MEASURES.[%COUNT] ON 0, birthd.1948.LEAD(3) ON 1 FROM patients
 
                             Patient Count
1951                                      8

この例では、Year レベルは Decade レベルの子になります。つまり、メンバ 1948 と 1951 は異なる親に属します。示されているとおり、時間ディメンジョンで LEAD 関数を使用すると、この関数は親レベルを無視します。

2 番目の例では、データ・ディメンジョン (HomeD ディメンジョン) を使用します。このディメンジョンの階層を表示するには、FIRSTCHILD 関数の例を参照してください。以下のクエリは、このディメンジョンで LEAD を使用します。

SELECT MEASURES.[%COUNT] ON 0, homed.city.Magnolia.LEAD(1) ON 1 FROM patients
 
                             Patient Count
Pine                                    114

これはデータ・ディメンジョンであるため、このクエリは、親 ZIP Code 内の City レベルの次のメンバを検索します。この ZIP Code 内では、Pine が最後の City であるため、以下のクエリは結果を返しません。

SELECT MEASURES.[%COUNT] ON 0, homed.city.Pine.LEAD(1) ON 1 FROM patients
 
                             Patient Count
                                          *

関連項目

FeedbackOpens in a new tab