前のページ|次のページ

INTSHIFT関数

ベース間隔に対応するシフト間隔を返します。

カテゴリ: 日付と時間

構文

INTSHIFT(interval <<multiple.<shift-index>>>)

必須引数

interval

WEEK、SEMIYEAR、QTR、HOURなどの時間間隔が含まれる文字定数、変数または式を指定します。Intervalは、大文字または小文字で表示できます。intervalに使用可能な値のリストについては、Intervals Used with Date and Time Functions (SAS言語リファレンス: 解説編)を参照してください。

より複雑な間隔を指定するには、基本間隔名に乗数とシフトインデックスを組み合わせて使用できます。間隔名の一般的な形式を次に示します。

interval<multiple.shift-index>

間隔名の3つの部分は次のとおりです。

interval

基本間隔の種類の名前を指定します。たとえば、YEARで年間隔を指定します。

multiple

乗数を指定します(省略可能)。基本タイプの間隔の期間に対する倍数と同等の間隔を設定します。たとえば、間隔YEAR2は2年の期間の間隔、つまり隔年です。

参照項目 乗数とシフト間隔を使用した日時の増分 詳細については、を参照してください。

shift-index

シフトインデックスを指定します(省略可能)。間隔の開始時点を指定したサブ期間にシフトします。たとえば、YEAR.3で、各カレンダ年の3月1日に開始して翌年の2月末に終了するようにシフトされた年間隔を指定します。

制限事項 シフトインデックスは、間隔全体のサブ期間の数以下にする必要があります。たとえば、2年間隔では25番目の月は存在しないため、YEAR2.24は使用できますがYEAR2.25はエラーになります。
デフォルトのシフト期間が間隔の種類と同じ場合、複数期間の間隔のみを任意のシフトインデックスでシフトできます。たとえば、MONTHの種類の間隔はデフォルトではMONTHのサブ期間でシフトされるため、シフトインデックスで月間隔をシフトできません。ただし、各MONTH2間隔には2つのMONTH間隔が含まれるため、シフトインデックスで2か月間隔をシフトできます。たとえば、間隔名MONTH2.2では、偶数月の1日目に開始する2か月の期間が指定されます。
参照項目 乗数とシフト間隔を使用した日時の増分 詳細については、を参照してください。

詳細

INTSHIFT関数は、ベース間隔に対応するシフト間隔を返します。カスタム間隔の場合、返される値はベースカスタム間隔名です。INTSHIFTは、間隔と間隔シフトの倍数は無視します。
INTSHIFT関数は、小売業界によるカレンダの間隔でも使用できます。これらの間隔はISO 8601に準拠します。詳細については、Retail Calendar Intervals: ISO 8601 Compliant (SAS言語リファレンス: 解説編)を参照してください。

SASステートメントとその結果を次に示します。
SASステートメント
結果
shift1=intshift('year');
put shift1;
MONTH
shift2=intshift('dtyear');
put shift2;
DTMONTH
shift3=intshift('minute');
put shift3;
DTMINUTE
interval='weekdays';
shift4 = intshift(interval);
put shift4;
WEEKDAY
shift5=intshift('weekday5.4');
put shift5;
WEEKDAY
shift6=intshift('qtr');
put shift6;
MONTH
shift7=intshift('dttenday');
put shift7;
DTTENDAY
前のページ|次のページ|ページの先頭へ