問題タブ [sas-macro]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sas - SASは、リモートサーバーに送信する前に変数を変数の値に置き換えます
私は SAS を初めて使用し、リモート サーバーからデータを取得しようとしています。
以下は、リモートサーバーで実行しようとしているコードです。
現在、 「クエリ」が必要とする var1
文字列を含む変数を渡そうとしています。はローカル マシンで評価され、値が含まれています。 index
var1
'abc'
ただし、var1
はローカルで評価されるため、リモート サーバー上の変数を参照しようとすると、var1
存在しないためエラーが発生します。
次のようにコードを実行すると (明示的な値を使用して'abc'
) 、正常に実行されます。
この「クエリ」を動的に実行する必要があります。と で囲まれたコードを実行しようとする前に、強制的var1
に実際の値 (つまり ) に置き換える方法はありますか?'abc'
rsubmit
endrsubmit
更新: コード全体(リモートサーバー固有のものは省略しましたが、問題なく接続できます):
このコードを使用すると、ステートメントは変数とその値PROC PRINT
を示すテーブルを正しく出力します。var
このステートメントは変数と変数TITLE
を適切に評価しますが、オフのままにします。i
m
var1
このステートメントは、各変数proc export
の期待値を含む正しい CSV ファイルを作成します。var
提案どおり、変数を GLOBAL として宣言しようとしましたvar
が、効果がないようです。var1
コードはまだ変数をリモート サーバーに正しく渡すことができないようです。
&VAR1
繰り返しますが、変数の実際の文字列値に置き換えると、コードは完全に機能します。
私が得るエラーは次のとおりです。
この場合のWHERE
句は変数を受け入れることができないのでしょうか?
sas - %macro からの結果をマクロ変数に代入する方法
観察ごとに特定の製品を購入する確率を含むデータセットがあります。次に例を示します。
各製品の中央値を計算する必要があります。これが私がそれを行う方法です:
この時点で、次のように呼び出して、各製品の中央値を取得できます。
最後に、中央値の数値結果をマクロ変数に代入します。それを行う方法についての私の最善の推測は、次のようなものです。
しかし、残念ながらそれはうまくいきません。
誰か助けてくれませんか?
乾杯!
sas - 現在の SAS タイトルを保存し、一時的に変更し、マクロの最後に復元します
特定の書式設定でデータセットから Excel ファイルを印刷するマクロ %xl を作成しました。それ自体はうまく機能しています。ただし、マクロはtitle
一時的に設定する必要があります。マクロの最後でタイトルをクリアすることはできますが、マクロ前のタイトルを保持して、マクロの最後のステップとして復元したいと考えています。
title
の現在の値をマクロ変数に取り込むにはどうすればよいですか? オプション付きの %sysfunc(GetOption()) に似ています。
ありがとう、pT
date - SASは日付の文字表現をマクロ変数に保存します
私はこのようなテーブルを持っています
このテーブルを読み込んだ後、次のようなマクロ変数を作成します
私の問題は、dtBourse1,dtBourse2
マクロ変数が価値があることです17433...
(日付としての基になる整数値は整数として保存されます)
マクロ変数が文字であることを確認するにはどうすればよいですか"01FEB2001","02FEB2001"
macros - if then else は sas でマクロをループします
大きなデータセット内の変数のダミーを作成するために、sas で if else ループ マクロを作成しようとしています。私が使用したコードは次のとおりです。
そして、私はマクロを呼び起こしました
var age_res1 を作成しましたが、条件は暗示されませんでした
if else do で % 記号を使用すると、条件が直接使用され、正確なコードは生成されませんが、条件も実行されませんでした
sas - SAS マクロ言語
SAS では、マクロ言語を定義した後、たとえば、
x を 17 から 63 に置き換えたいのですが、キー入力の代わりにこれを行う簡単な方法はありますか?
sas - SAS - 変数からマクロ名を作成
変数からマクロ名を設定する方法を知りたいです。
このような:
または、これが不可能な場合:
何か案は?どうもありがとう。
sas - proc sqlを使用したSasマクロ
いくつかの回帰を実行したいのですが、各変数の非欠損観測の数を数えたいと思います。しかし、どの変数を使用するかはまだわかりません。うまくいかない次の解決策を思いつきました。何か助けはありますか?
ここでは基本的に、説明変数のそれぞれを変数に入れます。たとえば、var1 var 2 -> w1 = var1, w2= var2.
事前にいくつの変数があるかわからないことに注意してください。したがって、10 個の変数の余地を残しておきます。
次に、symput を使用して潜在的な変数を保存します。
次のステップは、保存した変数を使用して proc sql を実行することです。変数が 10 個未満の場合は機能しません。
このコードは 10 個未満の変数で機能しますか?