1

SAS のプログラムが正常に動作していて、問題が発生しています。ファイルからデータを取得する方法に問題があり、内部のすべてが台無しになっています。これが私のコードのめちゃくちゃな部分です:

    data Stocks;        
    infile 'location of file.txt';
    input   @1  Stock       :   $4.
            @5  PurDate     :   mmddyy10.
            @15 PurPrice    :   dollar6.1
            @21 Number      :   4
            @25 SellDate    :   mmddyy10.
            @35 SellPrice   :   dollar6.1;

            TotalPur = Number * PurPrice;
            TotalSell = Number * SellPrice;
            Profit = TotalSell - TotalPur;
run;

proc print data=Stocks;
    var Stock PurDate PurPrice Number SellDate SellPrice TotalPur TotalSell Profit;
run;

そして、ここに私が扱っているデータがあります:

IBM  5/21/2006 $80.0 10007/20/2006 $88.5
CSCO04/05/2005 $17.5 20009/21/2005 $23.6
MOT 03/01/2004 $14.7 50010/10/2006 $19.9
XMSR04/15/2006 $28.4 20004/15/2006 $12.7
BBY 02/15/2005 $45.2 10009/09/2006 $56.8

データの説明は次のとおりです。

Stock --> Starting Column: 1, Length: 4, Type: Char.
PurDate --> Starting Column: 5, Length: 10, Type: mm/dd/yyyy.
PurPrice --> Starting Column: 15, Length: 6, Type: Dollar Signs and Commas.
Number --> Starting Column: 21, Length: 4, Type: Num.
SellDate --> Starting Column: 25, Length: 10, Type: mm/dd/yyyy.
SellPrice --> Starting Column: 35, Length: 6, Type: Dollar Signs and Commas.

実行するたびに、各行に「注: Number のデータが無効です」と表示されます。それは私のすべてのデータをオフにします(日付値など)。正しく取得されていない数値データに依存しているため、計算変数が機能しないことを理解しています。人々が私に与えることができる指示をいただければ幸いです。

4

2 に答える 2

5

すべてのコロン ( : ) を取り除きます。
次に、数値の 4 の後にドット ( . ) を追加して、それが入力形式であることを明確にします。
これでうまくいくはずです。

于 2013-09-16T14:07:25.880 に答える