簡體   English   中英

如何在 SAS Studio 的 SAS 數據集中打印新添加的變量

[英]How do I print out newly added variables within a SAS dataset in SAS studio

所以我導入了一個 SAS 數據集並在正確格式化它們的同時指定了所需的變量。

FILENAME currency '/folders/myfolders/SAS assignment/Assignment4/currency.txt';

data assn4.currency;
    infile currency;
    input 
    @1  currencynotes $3.
    @6  purchasedate mmddyy10.
    @19 purchasevalue 7.0000
    @30 selldate mmddyy10.
    @44 sellvalue 7.0000
    @55 numberofnotespurchased; 

然后我根據其他變量添加了一些 SAS 變量

data assn4.currency;
 set assn4.currency;
 Timeheld = selldate-purchasedate;
run;

data assn4.currency;
 set assn4.currency;
 value_at_dollar_per_purchase = numberofnotespurchased/purchasevalue;
run;

data assn4.currency;
 set assn4.currency;
 value_at_dollar_per_sale = numberofnotespurchased/sellvalue;
run;

data assn4.currency;
 set assn4.currency;
 profit= value_at_dollar_per_sale-value_at_dollar_per_purchase;
run;

data assn4.currency;
 set assn4.currency;
 PPD = profit/Timeheld;
run;

然后我想格式化並打印出數據集以及這些新變量,但是我不知道這些新變量的間距,並且在我的 ASSN4 庫中創建的數據集具有列號而不是我從導入的 txt 文件中使用的間距信息.

data assn4.currency;
 infile currency;
 input 
 @1  currencynotes $3.
 @6  purchasedate mmddyy10.
 @19 purchasevalue 7.0000
 @30 selldate mmddyy10.
 @44 sellvalue 7.0000
 @55 numberofnotespurchased
 @65 Timeheld mmddyy10.
 value_at_dollar_per_purchase 12.00000000
 value_at_dollar_per_sale 12.00000000
 profit 12.0000000000
 PPD 12.0000000000
 ;

當我嘗試使用 Proc Print data = assn4.currency; 打印出我的數據集時; 跑;

所有這些新變量都有。 表示丟失的信息,而在庫中創建的新數據集顯示這些值。

盡管您似乎缺乏一些基本的 SAS 知識,但我會盡量使我的答案簡單而簡短。

data步驟中,您使用infile從外部文件中讀取。 要從 SAS 數據集讀取,請使用set語句。

在第一步中,您通過讀取文本文件在名為assn4的庫中創建了一個名為currency的數據集。 在接下來的幾個步驟中,您將向該數據集正確添加變量,盡管所有這些都可以一步完成。

但是,在最后一步中,您通過再次讀取文本文件(使用infile語句)來覆蓋數據集。 然后,您當然會丟失您創建的所有變量。

這就是(我認為)您想要實現的目標:

FILENAME currency '/folders/myfolders/SAS assignment/Assignment4/currency.txt';

data assn4.currency;
infile currency;
input 
  @1  currencynotes $3.
  @6  purchasedate mmddyy10.
  @19 purchasevalue 7.
  @30 selldate mmddyy10.
  @44 sellvalue 7.
  @55 numberofnotespurchased
;
Timeheld = selldate-purchasedate;
value_at_dollar_per_purchase = numberofnotespurchased/purchasevalue;
value_at_dollar_per_sale = numberofnotespurchased/sellvalue;
profit= value_at_dollar_per_sale-value_at_dollar_per_purchase;
PPD = profit/Timeheld;
format
 Timeheld mmddyy10.
 value_at_dollar_per_purchase
 value_at_dollar_per_sale
 profit
 PPD 12.
;
run;

請注意,我將您的格式更改為它們實際等效的格式。 在格式中的點后添加一堆零絕對沒有任何作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM