日時関数
このリファレンスガイドの目的: 日付は、年、月、日(四半期、週)とそれらの組み合わせのみを指します。時間は、時間、分、秒とそれらの組み合わせを指します。日付と時刻の組み合わせには、厳密に日時の条件を使用します。
変換スクリプトから継承された日付と時刻関数を参照してください。
日付文字列
日付文字列パラメーターは、絶対的(dd.MM.yyyy、yyyy-MM-dd またはドメイン設定に応じて)または相対的(時間変数)演算子によって入力されます:
date +|- n[d|w|m|q|y]
where
date
は、dd.MM.yyyy
またはyyyy-MM-dd
形式、またはactualyear
,actualmonth
,actualquarter
,actualweek
,actualday
,now
のいずれかです。n
は数を表します:d
日、w
週、m
月、q
四半期、y
年
例:
'2011-01-01 + 1q - 2m + 1d' 2011年1月1日 + 1四半期 - 2か月 + 1日を意味し、2011年2月2日を表します。 'actualYear + 1m + 1d' (確認日が2011年3月8日だった場合) 2011年1月1日 + 1か月 + 1日を意味し、2011年2月2日を表します。
日付文字列を作成する別の方法は次の通りです:
date(day: dd, month: MM, year: YYYY) date(d: dd, m: MM, y: YYYY) date(week: w, year: YYYY) date(quarter: q, year: YYYY)
日時コンテキストの変更
日時コンテキストとは何か? 以下の例を検討して下さい。
| 01/2011 | 02/2011 | 03/2011 |
数式インジケータ | 1000 | 1200 | 1300 |
数式は列ごとに評価されます - この例では、列は特定の月について評価された値です。値1000の評価中、日時コンテキストは2011年1月であり、値1200の処理中、コンテキストは2011年2月でした。
関数 | 説明 |
---|---|
| 評価された式のコンテキストを dateAt('2011-01-01', { i1 = M_NAME_1 i2 = M_NAME_2 if (i1 > i2) { return i1; } return i2; }); |
| 式の日付コンテキストを変更し、指定された間隔 dateInterval('2011-01-01', '2011-12-31' { i1 = M_NAME_1 i2 = M_NAME_2 if (i1 > i2) { return i1; } return i2; }); インジケータ |
| 評価された式のコンテキストを timeAt('13:33:23', { i1 = M_NAME_1 i2 = M_NAME_2 if (i1 > i2) { return i1; } return i2; }); |
| 式の時間コンテキストを変更し、指定された間隔 timeInterval('00:00:01', '23:59:59' { i1 = M_NAME_1 i2 = M_NAME_2 if (i1 > i2) { return i1; } return i2; }); インジケータ |
| 評価された式のコンテキストを、 |
| 式の日付コンテキストを変更し、指定された間隔 |
Object minus(String date, period, int) | 指定された minus(date(firstValue('L_DATE')), 'days', 20) //subtracts 20 days from the date value |
Object minus(String time, period, int) | 指定された minus(time(firstValue('L_TIME')), 'minutes', 30) //subtracts 30 minutes from the time value |
Object plus(String date, period, int) | 指定された plus(date(firstValue('L_DATE')), 'days', 20) //adds 20 days to the date value |
Object plus(String time, period, int) | 指定された plus(time(firstValue('L_TIME')), 'seconds', 50) //adds 50 seconds to the time value |
| 評価された式のコンテキストを |
| 式の時間コンテキストを変更し、指定された間隔 |
| 日時間隔なしで式を評価します。 |
廃止された関数
これらの関数は、今後のリリースで削除される可能性があります。
関数 | 説明 |
---|---|
| 指定した日付にインジケータの値を読み込みます。 |
| N個の以前のレベルで集計された指定の日付にインジケータの値を読み込みます。 |
| 指定された日付間隔の累積インジケータの値を読み込みます。 |
| N個の以前のレベルで集計された指定された日付間隔の累積インジケータの値を読み込みます。 |
高度な関数
関数 | 説明 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| この関数は、累積値に現在の値を徐々に追加します。例:
| ||||||||||||
| この関数は、累積値に現在の値を徐々に追加します。例:
| ||||||||||||
| 前の日付や時刻の値(例えば、前月、日、時間など)に対して計算し渡されたインジケータの値。例:
| ||||||||||||
| 前の日付または時刻の値(例えば、前月、日、時間など)に対して計算し渡されたインジケータの値。パラメーター | ||||||||||||
| 次の日付または時刻の値に対して計算された渡されたインジケータの値(例えば、 来月、日、時間など)。例:
| ||||||||||||
| 次の日付または時刻の値に対して計算し渡されたインジケータの値(例: 来月、日、時間など)。パラメーター | ||||||||||||
| この関数は、指定された日付間の日数を計算します。 | ||||||||||||
int daysBetween(DateTime dateFrom, DateTime dateTo, int[]) | この関数は、指定された日付間の日数を計算し、選択した曜日を除外します。曜日は番号で参照されます: 1は月曜日、7は日曜日です。 次の例は、計算から土曜日と日曜日を除外する方法を示しています: daysBetween(date(firstValue('L_DATE_FROM'),date(firstValue('L_DATE_TO'), 6,7) | ||||||||||||
| この関数は、指定された日付間の日数を計算します。 | ||||||||||||
| この関数は、指定された日付間の月数を計算します。 | ||||||||||||
| この関数は、指定された日付間の月数を計算します。 | ||||||||||||
| この関数は、指定された日付間の年数を計算します。 | ||||||||||||
| この関数は、指定された日付間の年数を計算します。 |
評価された式のコンテキスト全体を変更するには、次の関数を使用できます:
| 式のコンテキストを、目的の前の日付期間に変更します。
| ||||||||||||
| 式のコンテキストを、目的の次の日付期間に変更します。 |
次の例は、実際の表/チャートの日時エントリーの1年前にロードされた値で機能します。
return prev(YEAR) { M_NAME_1 / M_NAME_2 * 100 }
フルネーム (Y,Q,M,W,D) の代わりに、時間単位の最初の文字のみ(式を変更する時間コンテキストの場合)を入力できます。例えば、prev(Y){}
入れ子式
日時関数は組み合わせることができます(該当する場合)。例:2010年12月8日 9:04:02AMのM_INDICATORの値:
dateAt ('2010-12-08') { timeAt('09:04:02') { M_INDICATOR } }