私はCLIENT_ID
という変数を持っています。これは、コードの束をループするために使用されます。問題はマクロが以下のようなクライアントの特定のリストを探していることです:SAS - 列に値がリストにない場合、コードを停止する必要があります
%stuff(CLIENTX)
%stuff(CLIENTA)
などです。そのため、新しいクライアントがデータに表示された場合(例:CLIENTY
)、そのクライアントは出力に含まれません。
:
- は、マクロを手動で 更新することができますので、そのクライアントの名前を出力し、既存のクライアントのリストに対するコードチェックを持っているし、新しいクライアントが発見された場合に停止
- は新しいクライアントのためのコードチェックを持っているし、新しいがある場合は、自動的に私は新しいクライアントIDを見つけるために比較する方法を知っている
マクロリストに追加する、それだけでコードを停止したり、コードを更新しています私が苦労しているクライアント。おそらく第二のものは不可能でしょうか?しかし、私はこの問題を解決する方法が少なくともあることを願っています。
私はマクロの専門家ではないことを完全に認めます。
私はプログラムを視覚化するのに少し問題があります。いくつかのデータポイントを使って何をしているのかの小さな例を投稿できますか? –
類似の性質を持つ質問がいくつかあります。「データ駆動型プログラミングSAS」を検索してください。 – Joe
@StuSztukowski - 私はジョーが働くと思います。しかし、私はいつもより多くの提案に開放しています。基本的には、すべての顧客がすべてのアカウントを持つ主要なデータセット(何百万もの可能性があります)と他の情報があります。今日のマクロは、クライアントを使用してループし、それらのフィールドのいくつかをプルダウンし、すべてのデータを一緒に追加しています。主なデータセットは非常に大きいので、これを行う理由です。しかし、我々は予告なしに新しい顧客を獲得するので、ハードコーディングされたマクロはそれらを逃してしまいます。私はここで例を得る方法を完全にはわかりません。 – Bliss