前のページ|次のページ

INTCYCLE関数

次に高い季節周期での期間(日付、時間または日時の間隔)を返します。この関数には、期間(日付、時間または日時の間隔)を指定します。

カテゴリ: 日付と時間

構文

必須引数

interval

WEEK、MONTHまたはQTRなどの間隔名が含まれる文字定数、変数または式を指定します。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か月の期間が指定されます。
参照項目 乗数とシフト間隔を使用した日時の増分 詳細については、を参照してください。

オプション引数

seasonality

数値を指定します。

この引数では、日付と時間の周期をより柔軟に操作できます。1年間の季節性を52週にするか53週にするかを指定できます。
次の例では、関数
INTCYCLE('MONTH', 3);
にはseasonality引数が指定されており、値QTRが返されます。関数
INTCYCLE('MONTH');
にはseasonality引数が指定されておらず、値YEARが返されます。

詳細

基本

INTCYCLE関数は、日付、時間または日時の間隔に応じて、季節周期の間隔を返します。たとえば、INTCYCLE('MONTH');では、1月から12月までで1年周期を構成するため、値YEARを返します。INTCYCLE('DAY');では、日曜日から土曜日までで1週間周期を構成するため、値WEEKを返します。
乗数とシフトインデックスの詳細については、乗数とシフト間隔を使用した日時の増分を参照してください。間隔の計算方法については、よく使用される時間間隔を参照してください。
日付間隔と時間間隔の操作の詳細については、日付間隔と時間間隔を参照してください。
INTCYCLE関数は、小売業界によるカレンダの間隔でも使用できます。これらの間隔はISO 8601に準拠します。詳細については、販売カレンダの間隔:ISO 8601準拠を参照してください。

季節性

季節性は、年内の異なる間隔での周期的変動を測定する時系列の概念です。季節性の指定では、季節が最も一般的な変動ソースです。たとえば、家庭暖房用の灯油は、一般的に他の季節よりも冬の売り上げの方が高くなります。多くの場合、日単位の時系列では曜日による定期的な変動(週末のレジャーで支出が増えるなど)が発生します。INTCYCLE関数は季節性の概念を使用して、次に高い季節周期での期間(日付、時間または日時の間隔)を返します。この関数には、期間(日付、時間または日時の間隔)を指定します。季節性とPROC FORECASTでの予測手法の使用方法の詳細については、SAS/ETS User's Guideを参照してください。

SASステートメントとその結果を次に示します。
SASステートメント
結果
cycle_year=intcycle('year');
put cycle_year;
YEAR
cycle_quarter=intcycle('qtr');
put cycle_quarter;
YEAR
cycle_3=intcycle('month', 3);
put cycle_3;
QTR
cycle_month=intcycle('month');
put cycle_month;
YEAR
cycle_weekday=intcycle('weekday');
put cycle_weekday;
WEEK
cycle_weekday2=intcycle('weekday', 5);
put cycle_weekday2;
WEEK
cycle_day=intcycle('day');
put cycle_day;
WEEK
cycle_day2=intcycle('day', 10);
put cycle_day2;
TENDAY
var1='second';
cycle_second=intcycle(var1);
put cycle_second;
DTMINUTE

関連項目:

その他のリファレンス:
SAS/ETS User's Guide
前のページ|次のページ|ページの先頭へ