sas-macro

    2热度

    1回答

    这应该很简单,但我无法弄清楚:有些情况下我需要从表格的内容创建一个宏变量,并且它们有时包含&符号&)作为文本的一部分。当我调用宏变量时,如何让SAS忽略&符号?例如,下面的代码... data _null_; test="Amos&Andy"; call symputx("testvar",test); run; %put testvar=&testvar; ...这个写入日志: 28

    0热度

    1回答

    只是想比较单元格条目和返回值。 coustmer_NO id A1 A2 A3 A4 1 5 10 20 45 0 1 13 0 45 2 5 2 4 0 10 7 8 2 3 7 9 55 0 2 10 0 0 0 0 3 4 90 8 14 3 3 10 20 7 4 15 如何之前出现030计数具有用于每个ID(值> 030)CUS

    0热度

    2回答

    在以下代码中,我有几个变量链接到一周的某一天。我希望将所有相关的值在同一天重新整理(,例如sales_monday1和sales_monday2归于名为Monday的新变量中)。 为此,我认为使用一个数组: data test; input sales_monday1 sales_monday2 sales_tuesday sales_wednesday; datalines; 1 1 2

    0热度

    2回答

    您好,这是我的数据样本 coustmer_NO id 1 5 1 13 2 4 2 4 2 4 3 4 3 10 4 8 4 8 使用SQL >>我想指望每个客户有多少不同的ID他们。 预期输出是: coustmer_NO total_id

    1热度

    1回答

    我期待创建一个宏变量。在解析后,宏变量名需要通过将文本连接到已存在的变量来完成。具体而言,我想在PROC SQL块中使用INTO:执行此操作。这里有一个片段来解释我想要做什么。 %macro MyMacro(process); PROC SQL; SELECT COUNT(*) INTO: &process._new_text FROM

    1热度

    1回答

    我试图通过在动态文本中使用%宏来动态显示电子邮件中的文本。这是工作,但在我的电子邮件中添加了几行文字后,它停止工作。所以,我不确定是什么导致了实际问题。恢复到我工作时的位置不再有效。 我的宏我打电话: %macro PrintStuff(arrayOfThings); %local i next_element; %do i=1 %to %sysfunc(countw(&arr

    0热度

    2回答

    主题: SAS图书馆 难度:路径(文件名和位置)是每次运行后更改,但只有一些细节正在改变,但不是完整的路径(如下例所示)。我们还突出显示了这些字段的大小 我想只写一个代码,我可以覆盖文件名和位置中发生的所有类型的更改,是否有可能? %let path='C:\Data\variationstring\empcat**A**\person**34**_**1212**\persondata_empc

    0热度

    2回答

    我试图用%LET语句创建本地宏变量,其值是需要多个&符号来解析的宏变量。在分配本地宏变量的名称之前,SAS不解析多个&符号。 %macro example; %do i=1 %to %sysevalf(&max_n); %let dg= &&max_&i..; {stuff happens here} %end; %mend; %example; 例如,& max_

    3热度

    3回答

    我知道存在数据步DO循环的LEAVE语句来终止当前循环。但是,我找不到相应的 宏命令的文档。 我试过%LEAVE但似乎没有定义。 SAS没有宏循环的break语句吗? 如果不是,除了使用%GOTO或DATA _NULL_之外还有其他选项吗?

    2热度

    2回答

    我有一个行矩阵(矢量)A和另一个矩形矩阵B.我如何使用proc iml或其他方式将每行矩阵B与SAS中的行矩阵A相乘? 假设 A = {1 2 3} B = {2 3 4 5 9 10} 我的输出C将是: {2 6 12 5 18 30} 谢谢!