@DATEROLL
Essbaseの@DATEROLL計算関数は、日付に対して時間間隔を加算または減算して、別の日付を返します。この関数は、標準のグレゴリオ暦を想定します。
構文
@DATEROLL ( date, date_part, number )
パラメータ
- date
-
日付を表す数値。数値は、1970年1月1日の午前0時以降に経過した秒数です。この数値を取得するには、@TODAY関数または@TODATEEX関数のいずれかを使用します。
メンバーの日付/時刻属性プロパティを使用して、この数値を取得することもできます。たとえば、
@AttributeVal("Intro Date");
は、コンテキスト内の現在の製品の製品投入日を返します。 - 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: 入力日付の日。
-
- number
-
加算または減算する時間間隔の数。
ノート
入力date_partとdateroll numberに基づき、日付は時系列上で前後に移動します。
例: 入力日付が2024年5月28日で、入力daterollの数が5の場合、次のようになります。
-
DP_YEARは、入力日付に5年を加算します(2029年5月28日)。
-
DP_QUARTERは、入力日付に5四半期(15か月)を加算します(2025年8月28日)。
-
DP_MONTHは、入力日付に5か月を加算します(2024年10月28日)。
月末付近の入力dateを使用し、負のnumberを使用する場合、結果は予想とは異なる可能性があります。date = 2025年5月31日、number =
-1
の例では、4月には30日しかないため、結果の日付は2024年5月1日になります。 -
DP_WEEKは入力日付に5週間を加算します(2024年7月2日)。
-
DP_DAYは入力日付に5日間を加算します(2024年6月2日)。
例
アウトラインにMyDate1とMyDate2の2つの日付型メンバーがあると仮定します。
Profit=@DateDiff(MyDate1, MyDate2, DP_WEEK);
Profit=@DatePart(MyDate1, DP_YEAR);
MyDate2=@DateRoll(MyDate1, DP_MONTH, 10);