标签: sas

在SAS宏中改变宏变量的价值

我在宏中定义一个宏变量.然后,我将它喂入第二个宏.在macro2计数器内部将值更改为200.但是,当我检查宏2变量运行后我放入的宏变量内部时,它仍然显示0.我希望它存储值200?这可能吗?

 %macro macro1();
   %let variable1= 0;
   macro2(counter=&variable1)

   %put &variable1;
 %mend macro1;

 %macro1;
Run Code Online (Sandbox Code Playgroud)

sas sas-macro

7
推荐指数
1
解决办法
1746
查看次数

SQL/SAS:从大表(2bn行)中选择的最佳性能

我在只读S​​AS SPD服务器(bigtable)中有一个非索引的20亿行表.我的工作区(SAS_GRID)中有另外一个1200万行表,其中包含一列唯一ID(idlist).两个表都不断更新.我想基于idlist过滤bigtable,例如:

create table filtered_bigtable as
select t1.* from bigtable t1 inner join idlist t2
on t1.id = t2.id;
Run Code Online (Sandbox Code Playgroud)

快速执行此操作的最佳策略和代码(sql或sas)是什么?

编辑:尝试使用哈希表的罗伯特的建议,查询只运行40分钟(快10倍).感谢所有的答案!

sql sas

7
推荐指数
1
解决办法
925
查看次数

从 SAS-EG 执行的 SAS 程序中的 SAS 触发器错误

如果不满足某个条件,我需要让 SAS 触发错误我曾尝试使用 abort return n、abort abend 等。语法等

它是一个 SAS 程序,只能在带有提示的交互模式下从 SAS-EG 运行

我的代码:

DATA _NULL_;
IF prxmatch("/^TBDLZL\d{4}_[A-Z]/",&tablename_in) eq 0 then do;
    put "error table name &tablename_in does not match";
    ABORT RETURN 15; 
END;

RUN;
Run Code Online (Sandbox Code Playgroud)

有什么建议 ?

sas

7
推荐指数
2
解决办法
477
查看次数

如何使用 .SAS 或 SPS 元数据文件将 CSV 作为 Pandas 数据框读取?

我有一个很大的 CSV 文件,它带有两个元数据描述文件。一个有.sas扩展名,另一个有.sps. 打开它们,它们描述了 CSV 数据格式和类别。这些文件描述了每列的数据格式和可能的类别。例如,值为 1 或 2 的列映射到yesno

如何使用这些元数据文件来帮助我阅读 CSV 文件?

我可以使用 read_csv 轻松阅读它,但这些文件对于自动创建具有可能类别的列很有用。我可以为它们创建一个解析器,但必须有一个包或函数来做到这一点。也许我没有使用正确的搜索词。

这是.sas文件(对不起,它是葡萄牙语):

proc format;
Value $SG_AREA
        CH='Ci?ncias Humanas'
        CN='Ci?ncias da Natureza'
        LC='Linguagens e C?digos'
        MT='Matem?tica';

Value $TP_LINGUA
        0='Ingl?s'
        1='Espanhol';

Value $IN_ITEM_ADAPTADO
        0='N?o'
        1='Sim';


DATA WORK.ITENS_2018;
INFILE 'C:\ITENS_PROVA_2018.csv' /*local do arquivo*/
        LRECL=33
        FIRSTOBS=2
        DLM=';'
        MISSOVER
        DSD ;

INPUT
        CO_POSICAO       : BEST2.
        SG_AREA          : $CHAR2.
        CO_ITEM          : BEST6.
        TX_GABARITO      : $CHAR1.
        CO_HABILIDADE    : BEST2.
        TX_COR           : $CHAR7. …
Run Code Online (Sandbox Code Playgroud)

python sas spss pandas

7
推荐指数
1
解决办法
797
查看次数

如何在"堆叠"数据集中查找每个唯一观察值的变量的最大值

对不起vauge标题.

我的数据集看起来基本上是这样的:

ID   X
18   1
18   1
18   2
18   1
18   2
369  2
369  3
369  3
361  1
Run Code Online (Sandbox Code Playgroud)

我想要的是找到每个ID的最大值x.在此数据集中,ID = 18时为2,ID = 361时为3.

任何反馈将不胜感激.

sas

6
推荐指数
2
解决办法
6万
查看次数

如何使用PROC REPORT和ODS RTF输出创建漂亮的表

我想使用SAS ODS RTF输出和PROC REPORT程序创建一个"漂亮的表" .在Google上度过了一整天后,我设法生成以下内容:

数据集

DATA survey;
   INPUT id var1 var2 var3 var4 var5 var6 ;
   DATALINES;
 1  1  35 17  7 2 2
17  1  50 14  5 5 3
33  1  45  6  7 2 7
49  1  24 14  7 5 7
65  2  52  9  4 7 7
81  2  44 11  7 7 7
2   2  34 17  6 5 3
18  2  40 14  7 5 2
34  2  47 …
Run Code Online (Sandbox Code Playgroud)

sas

6
推荐指数
1
解决办法
2万
查看次数

删除SAS中的一系列变量

我目前有一个包含200个变量的数据集.从这些变量中,我创建了100个新变量.现在我想删除原来的200个变量.我怎样才能做到这一点?

稍微好一点,我如何在新数据集中删除变量3-200.

对不起,如果我的问题含糊不清,但基本上我发现我需要使用 - .如果我的第一个变量是第一个被调用而我的最后一个变量被称为最后一个,我可以删除所有变量(drop = first - last);

感谢所有的回复.

sas

6
推荐指数
1
解决办法
2万
查看次数

SAS - 如何从数据集中获取最后'n'个观测值?

如何仅使用原始数据集中的最后n个观察值从另一个数据集创建SAS数据集.当你知道n的值时,这很容易.如果我不知道'n'怎么能这样做?

sas dataset

6
推荐指数
1
解决办法
1万
查看次数

SAS:如何仅输出显示数据集中变量的PROC CONTENTS部分?

我在初学者SAS课程中,我们只需要显示PROC CONTENTS输出中显示数据集中变量的部分.例如,当你这样做

proc contents data=whas.heart3;
run;
Run Code Online (Sandbox Code Playgroud)

输出是3个表.第3个表的标题是:

变量和属性的字母列表

我需要弄清楚如何修改上面的代码只显示第3个表.

sas

6
推荐指数
2
解决办法
2万
查看次数

在Pandas中将数字sas日期转换为datetime

我正在使用Pandas 0.18read_sas加载sas7bdat数据集.

Pandas数据框中的日期显示为:

Out[56]: 
0    19411.0
1    19325.0
2    19325.0
3    19443.0
4    19778.0
Name: sas_date, dtype: float64
Run Code Online (Sandbox Code Playgroud)

pd.to_datetime无法识别此格式.我该怎么办才能正确解析日期?

谢谢!

python sas pandas

6
推荐指数
1
解决办法
3425
查看次数

标签 统计

sas ×10

pandas ×2

python ×2

dataset ×1

sas-macro ×1

spss ×1

sql ×1