0

次のクエリを使用している結果を返すためにINTCK関数を取得するのに苦労しています

proc sql;
CREATE TABLE SASAVE.WEEK_NUM AS
SELECT DISTINCT MUC.CODE
        ,MUC.LOB
        ,MMD.MAX_DATE
        ,MMD.MIN_DATE
        ,INTCK('WEEK', MMD.MAX_DATE, MMD.MIN_DATE) AS WEEK_COUNT
FROM    SASAVE.MUC,
        MMD             
WHERE MMD.LOB = MUC.LOB
AND MMD.CODE = MUC.CODE
quit;

ここにMUCとMMDテーブルのデータがあります

 **MMD**
    MIN_DATE         MAX_DATE       CODE    LOB
    13FEB2012   11MAY2012   527A    TMZ
    13FEB2012   1MAY2012    TB50    ZAE
    13FEB2012   10MAY2012   3O05    ZAA

**MUC**
CODE      LOB
527A    TMZ
TB50    ZAE
3O05    ZAA

INTCK関数を使って週数を取得できるかどうか教えてください

ありがとう

4

1 に答える 1

2

あなたはそれをほぼ正しく持っていたようです...これはうまくいきます。

Data mmd;
 input min_date:DATE9. max_date:date9. code $ lob $;
 format min_date max_date mmddyy10.;
 datalines;
13FEB2012   11MAY2012   527A    TMZ
13FEB2012   01MAY2012    TB50    ZAE
13FEB2012   10MAY2012   3O05    ZAA
;

Data muc;
 input code $ lob $;
 datalines;
527A    TMZ
TB50    ZAE
3O05    ZAA
;

proc sql;
 CREATE TABLE WEEK_NUM AS
 SELECT DISTINCT MUC.CODE
  ,MUC.LOB
  ,MMD.MAX_DATE
  ,MMD.MIN_DATE
  ,INTCK('WEEK', MMD.MIN_DATE, MMD.MAX_DATE) AS WEEK_COUNT
 FROM MUC, MMD             
 WHERE MMD.LOB = MUC.LOB
  AND MMD.CODE = MUC.CODE;
quit;
于 2012-05-13T16:08:37.520 に答える