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