2016-12-14 153 views
0

我有一個提示,用戶可以從動態列表中選擇多個值。由提示創建的宏變量被稱爲promptList。 現在我只想選擇用戶在提示中選擇的數據。 因此,假設用戶運行該程序並從提示中選擇值A,C和D,這些提示全部轉到promptList宏變量。要過濾數據,我寫了下面:SAS%_eg_WhereParam錯誤

SELECT 
    var1, 
    var2, 
    var3 

    FROM 
     table1 

    WHERE 
     %_eg_WhereParam(var1, promptList, IN, type = C); 

這在理論上應該只選擇具有VAR1要麼A,C或d的值數據。但是,正好在日誌中的whereParam語句下面,我收到以下錯誤:

ERROR 79-322: Expecting a SELECT. 
ERROR 76-322: Syntax error, statement will be ignored. 

我在這裏丟失了什麼?另外,有沒有更好的方法來訪問宏變量中的這個值列表?找不到任何適當的文檔。

回答

0

我只是查詢生成器和查詢生成器生成的代碼做它看起來像這樣:

%_eg_WhereParam(var1, promptList, IN, type = S, IS_EXPLICIT = 0); 

所以S(假設字符串)和IS_EXPLICIT = 0的伎倆。