2016-12-14 136 views
0

動的リストから複数の値を選択できるようにするプロンプトが表示されます。プロンプトによって作成されるマクロ変数は、promptListと呼ばれます。 これで、プロンプトでユーザーが選択したデータのみを選択します。 ユーザーがプログラムを実行し、プロンプトから値A、CおよびDを選択し、すべてpromptListマクロ変数に移動するとします。データをフィルタリングするには、私は次のように書いた:理論的にのみVAR1いずれかA、CまたはDの値を持つデータを選択する必要がありSAS%_eg_WhereParam ERROR

SELECT 
    var1, 
    var2, 
    var3 

    FROM 
     table1 

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

。しかし、ログの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は、トリックを行いました。