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} 謝謝!