メインコンテンツにスキップ
Workday User Guide
最終更新: 2023-06-23
リード

リード

説明

LEAD
"" は、行をグループに分割し、フィールドで行を並べ替え、グループ内の現在の行より後 (下) の指定のオフセットにあるフィールドの値を返すウィンドウ集計関数です。
次の基準
PARTITION BY
句は、入力行のセットをグループに分割するために使用するフィールドを決定します。次の基準
ORDER BY
句は、パーティション内の行の順序を決定します。
Workday は、分割フィールドに基づいて入力行をグループに分割し、順序付けフィールドに従って行を並べ替え、各グループについて集計式 (この関数のリード) を計算します。

構文

LEAD
(
input_field
,
offset
,
default_value
)
OVER
(
PARTITION BY
partitioning_field
[,
partitioning_field
]
ORDER BY
ordering_field
[ASC | DESC] [,
ordering_field
[ASC | DESC]] )

戻り値

入力_フィールド
と同じ型の行ごとに 1 つの値を返します。

入力パラメータ

input_field
必須のコンテンツ。集計関数を実行するフィールド。任意のフィールド タイプを指定できます。
offset
任意です。現在の行より後に値を返す行数。ゼロ (0) 以上 100 以下のリテラル数値を指定する必要があります。オフセットを指定しない場合、値 1 が使用されます。
default_value
任意です。オフセット行が現在定義されているウィンドウの外部にある場合、またはオフセット行の値が NULL である場合にこの関数が返す値。
Default_value は
input_field
と同じ型である必要があります。デフォルト値を指定しない場合、"NULL" 値が使用されます。
OVER()
必須のコンテンツ。
OVER
"" 内で使用する必要があります
LEAD
PARTITION BY
department_field
必須のコンテンツ。使用先
PARTITION BY
句: 入力行のグループを分割するために使用する 1 つ以上のフィールドを指定します。"通貨" を除く任意のフィールド タイプを指定できます。例: "月" フィールドを分割フィールドとして指定すると、"月" の値が同じすべてのレコードが 1 つの分割にグループ化されます。
ORDER BY
ordering_field
必須のコンテンツ。使用先
ORDER BY
句。各分割内の指定されたフィールドの値を使用して、分割内の入力行を並べ替える方法を指定します。"通貨" を除く任意のフィールド タイプを指定できます。
次の操作ができます。
DESC
または
ASC
各順序フィールドを、降順 (値が高い順、NULL が最後になる) または昇順 (値が高い順、NULL が最初) でソートするキーワード。順序フィールドのソート順序を指定しない場合、行は自動的に昇順でソートされます。

例: これらの行とフィールドを含むデータセットがあります。
row_ID
Employee_Name
Eff_Date
給与
1
ゴホ
1/1/18
49000
2
ゴホ
1/1/19
56000
3
ゴホ
2017/01/01
44000
4
フリーマン
1/1/18
65000
5
フリーマン
2017/01/01
57000
6
フリーマン
1/1/19
69000
7
セキュリティ
1/1/18
51000
8
セキュリティ
1/1/19
56000
9
セキュリティ
1/1/16
44000
各社員の行は、有効日 (
Eff_Date
) フィールドを基準に降順 (
DESC
) で並べ替えることができます。これにより、最新の給与が各分割で最初に配置されます。
"Salary_Increase
" フィールドで次の式を使用して、有効日における各変更間の給与の変更を計算します。
[Salary] - (LEAD([Salary], 1, [Salary]) OVER( PARTITION BY [Employee_Name] ORDER BY [Eff_Date] DESC) )
以下の結果が得られます。
row_ID
Employee_Name
Eff_Date
給与
Salary_Increase
2
ゴホ
1/1/19
56000
7000
1
ゴホ
1/1/18
49000
5000
3
ゴホ
2017/01/01
44000
0
6
フリーマン
1/1/19
69000
4000
4
フリーマン
1/1/18
65000
8000
5
フリーマン
2017/01/01
57000
0
8
セキュリティ
1/1/19
56000
5000
7
セキュリティ
1/1/18
51000
7000
9
セキュリティ
1/1/16
44000
0