前のページ|次のページ

INTFIT関数

2つの日付に基づく時間間隔を返します。

カテゴリ: 日付と時間

構文

必須引数

argument

SAS日付値や日時値、またはオブザベーションを表すSAS式を指定します。

ヒント 日付値または日時値が使用できない場合、通常は引数としてオブザベーション番号が使用されます。

'type'

引数がSAS日付値、日時値、オブザベーションのいずれであるかを指定します。

typeの有効な値は次のとおりです。
d argument-1argument-2が日付値であることを指定します。
dt argument-1argument-2が日時値であることを指定します。
obs argument-1argument-2がオブザベーションであることを指定します。

詳細

INTFIT関数は、間隔内に配置された2つの日付値、日時値またはオブザベーションに基づいて、間隔内の最も可能性の高い時間間隔を返します。INTFITでは配置の値はSAMEとみなされ、対応する間隔を増分したカレンダ日付と同じ日付を使用します。alignment引数の詳細については、INTNX関数を参照してください。
INTFITでオブザベーションの引数を使用する場合、オブザベーション番号を使用してその周期を確認できます。次の例では、INTFITの最初の2つの引数はオブザベーション番号で、type引数はobsです。調査員がデータを記録した1回目と25回目にJasonがジムを使用した場合、次のステートメントを使用して間隔を確認できます。interval=intfit(1, 25, 'obs');.この場合、間隔の値は24.2です。
時系列の詳細については、SAS/ETS 9.3 User’s Guideを参照してください。
INTFIT関数は、小売業界によるカレンダの間隔でも使用できます。これらの間隔はISO 8601に準拠します。詳細については、Retail Calendar Intervals: ISO 8601 Compliant (SAS言語リファレンス: 解説編)を参照してください。

例1: 2つの日付に基づく間隔を確認する

2つの日付に基づく間隔の例を次に示します。この例のtype引数は、入力を日付値として識別します。
data a;
   length interval $20;
   date1='01jan11'd;
   do i=1 to 25;
      date2=intnx('day', date1, i);
      interval=intfit(date1, date2, 'd');
      output;
   end;
   format date1 date2 date.;
run;
proc print data=a;
run;
INTFIT関数からの間隔の出力
INTFIT関数からの間隔の出力
この出力では、増分値が1日の場合、INTFIT関数の結果がDAYであることを示しています。増分値が2日の場合、INTFIT関数の結果はDAY2です。増分値が3日の場合、INTFIT関数の結果はDAY3.2(3のシフトインデックス)です。(2つの入力日付が金曜日と月曜日の場合、結果はWEEKDAYです)。増分値が7日の場合、結果はWEEKです。

例2: 日付がオブザベーションとして識別される場合に2つの日付間に基づく間隔を確認する

2つの日付に基づく間隔の例を次に示します。この例では、type引数は入力をオブザベーションとして識別します。
data a;
   length interval $20;
   date1='01jan11'd;
   do i=1 to 25;
      date2=intnx('day', date1, i);
      interval=intfit(date1, date2, 'obs');
      output;
   end;
   format date1 date2 date.;
run;
proc print data=a;
run;
日付がオブザベーションとして識別された場合のINTFIT関数からの間隔の出力
日付がオブザベーションとして識別された場合のINTFIT関数からの間隔の出力

関連項目:

前のページ|次のページ|ページの先頭へ