DateDiff
EssbaseのMDX DateDiff関数は、標準のグレゴリオ暦に従って、指定された日付部分に関して2つの入力日付の差(数値)を返します。
構文
DateDiff ( date1, date2, date_part )
パラメータ
- date1
-
入力日付を表す数値。数値は、1970年1月1日の午前0時以降に経過した秒数です。この数値を取得するには、Today()、TodateEx()、GetFirstDate()、GetLastDate()、DateRoll()のいずれかの関数を使用します。
メンバーの日付/時刻属性プロパティを使用して、この数値を取得することもできます。次に例を示します。
-
Product.currentmember.[Intro Date]
は、コンテキスト内の現在の製品の製品投入日を返します。 -
[Cola].[Intro Date]
は、コンテキスト内のColaの製品投入日を返します。
-
- date2
-
2番目の入力日付。date1を参照してください。
- date_part
-
標準カレンダに従って定義された時間コンポーネント:
-
DP_YEAR: 入力日付の年。
-
DP_QUARTER: 入力日付の四半期。
-
DP_MONTH: 入力日付の月。
-
DP_WEEK: 入力日付の週。
-
DP_DAY: 入力日付の日。
-
ノート
入力date_partに基づいて、2つの入力日付の差が、指定した時間コンポーネントに関してカウントされます。
例: 入力日付が2024年6月14日および2025年10月10日の場合、次のようになります。
-
DP_YEARは、年コンポーネントの差を返します。(2025 - 2024 = 1)
-
DP_QUARTERは、入力日付をキャプチャする四半期の間隔を返します(2025年第4四半期 - 2024年第2四半期 = 6)。
-
DP_MONTHは、入力日付をキャプチャする月の間隔を返します(2025年10月 - 2024年6月 = 16)。
-
DP_WEEKは、入力日付をキャプチャする週の間隔を返します。各標準暦週は日曜日に開始するように定義されており、7日間続きます(2025年10月10日 - 2024年6月14日 = 69)。
-
DP_DAYは、入力日付の差を日数で返します(483日)。
例
次の問合せは、California市場での製品Colaの過去6か月間の週次売上を返します。
SELECT
{sales} ON COLUMNS,
Filter(
[Time dimension].Weeks.members,
Datediff(
GetFirstDate([Time dimension].CurrentMember),
Today(),
DP_MONTH
) < 6
)
ON ROWS
FROM Mysamp.Basic
WHERE (Actual, California, Cola);