DateRoll
指定された日付まで、特定の時間間隔をロール(加算または減算)し、別の日付を返します。 この関数は、標準グレゴリオ暦を想定しています。
構文
DateRoll ( date, date_part, number )
パラメータ
- date
-
1970年1月1日から2037年12月31日までの日付を表す数値。 この数値は、1970年1月1日の深夜から経過した秒数です。 この番号を取得するには、次のいずれかの関数を使用: Today()、TodateEx()、GetFirstDate()、GetLastDate()。
メンバーの日時属性プロパティを使用して、この数値を取得することもできます。 たとえば、
-
Product.currentmember.[Intro Date]
は、コンテキスト内の現在の製品の製品導入日を返します。 -
[Cola].[Intro Date]
は、Colaの製品導入日を返します。
-
- date_part
-
標準カレンダに従って定義された時間コンポーネント。
-
DP_YEAR - 入力日の年。
-
DP_QUARTER - 入力日の四半期。
-
DP_MONTH - 入力日の月。
-
DP_WEEK - 入力日の週。
-
DP_DAY - 入力日の日。
-
- number
-
加算または減算する時間間隔の数。
ノート
入力されたdate_partおよびdateroll numberに基づいて、日付が前後に移動されます。
例: 入力日が2005年6月14日で、入力日付ロール番号が5の場合、
-
DP_YEARでは、入力日に5年が加算されます。 (2010年6月14日)
-
DP_QUARTERでは、入力日に5つの四半期が追加されます。 (2005年6月14日 + 5四半期 = 2005年6月14日 + 15か月 = 2006年9月14日)
-
DP_MONTHでは、入力日に5か月が加算されます(2005年6月14日 + 5か月 = 2005年11月14日)
-
DP_WEEKでは、入力日に5週間が加算されます(2005年6月14日 + 5週間 = 2005年6月14日 + 35日 = 2005年7月19日)
-
DP_DAYでは、入力日に5日が加算されます。 (2005年6月14日 + 5日 = 2005年6月19日)
例
次の問合せは、市場CaliforniaのCola製品について、2005年4月(両端を含む)から6か月間の実績週次販売を返します。
SELECT
{[Sales]}
ON COLUMNS,
{DateToMember
(
DateRoll(
GetFirstDate ([Apr 2005]),
DP_MONTH,
6
),
[Time dimension].Dimension,
[Time dimension].[WEEKS]
): ClosingPeriod([Time dimension].[Weeks], [Apr 2005]))
} ON ROWS
FROM MySamp.Basic
Where (Actual, California, Cola);