@DATEDIFF

Essbaseの@DATEDIFF計算関数は、2つの入力日付の差を返します。

この関数は、標準のグレゴリオ暦に従って、指定された日付部分に関して2つの入力日付の差(数値)を返します。

構文

@DATEDIFF ( date1, date2, date_part )

パラメータ

date1

入力日付を表す数値。数値は、1970年1月1日の午前0時以降に経過した秒数です。この数値を取得するには、@TODAY@TODATEEX@DATEROLLのいずれかの関数を使用します。

メンバーの日付/時刻属性プロパティを使用して、この数値を取得することもできます。たとえば、@AttributeVal("Intro Date");は、コンテキスト内の現在の製品の製品投入日を返します。

date2

2番目の入力日付。date1を参照してください。

date_part

次のルールを使用して定義されます。

date_part_ex ::= DP_YEAR | DP_QUARTER | DP_MONTH | DP_WEEK | DP_DAY | DP_DAYOFYEAR | DP_WEEKDAY

標準カレンダに従って定義された時間コンポーネント:

  • DP_YEAR: 入力日付の年。

  • DP_QUARTER: 入力日付の四半期。

  • DP_MONTH: 入力日付の月。

  • DP_WEEK: 入力日付の週。

  • DP_DAY: 入力日付の日。

  • DP_DAYOFYEAR: 入力日付の通算日付。

  • DP_WEEKDAY: 入力日付の曜日。

ノート

入力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日)。

アウトラインにMyDate1とMyDate2の2つの日付型メンバーがあると仮定します。


Profit=@DateDiff(MyDate1, MyDate2, DP_WEEK);
Profit=@DatePart(MyDate1, DP_YEAR);
MyDate2=@DateRoll(MyDate1, DP_MONTH), 10);