tips(SAS) inputステートメントで8文字を超える文字値を入力したい 1文字=1バイト=1桁として書いています。うまくいかない例data cards_char8_1; input COL_A $ COL_B $;cards;abcdefghij aaabbbcccddd1234567890 123456789... 2021.08.21 tips(SAS)
tips(SAS) inputステートメントでnull値を入力したい 実際にはcardsステートメントのお話になります。null値がないときdata card_blank_1; input A B AA $ BB $;cards;1 2 ABC DEF3 4 XXX YYY;run;まずはnull値がない場合... 2021.08.20 tips(SAS)
tips(SAS) 日付変換 日付変換です。ある程度パターン化されているのでメモしておきます。yyyy-mm-dd → yymmdd系YYMMDDxw出力形式を利用します。x:区切り文字を指定。B空白区切り。Cコロン区切り。Dハイフン区切り。N区切り文字なし。Pピリオド... 2021.03.29 tips(SAS)
tips(SAS) Frame(枠、フレーム)を作る Frameを作ります。出力データがゼロ件の場合、このFrameとmergeすることでオブザベーションが発生しない問題を回避します。フレーム、枠、Dummy、ダミー、箱、etc.. 人によっていろんな呼び方があるようです。コードdata fr... 2020.07.09 tips(SAS)
tips(SAS) 重複を削除する 重複したオブザベーションを削除したい。SORTプロシジャを利用します。構文PROC SORT DATA = ソート前のデータセット OUT = ソート後のデータセット NODUPKEY; BY ソートキー;RUN;proc sortはソート... 2020.07.04 tips(SAS)
tips(SAS) プロシジャ実行時に結果ビューアへの出力を抑制する ods selectを利用します。前提結果ビューアって?上の赤枠:結果(結果ウィンドウ)下の赤枠:結果ビューア(結果ビューアウィンドウ)※画像はSAS-Studioのものですが、PC版のSASでも同様のものがあります。実行したプロシジャはこ... 2020.07.03 tips(SAS)
tips(SAS) プロシジャの出力結果をRTFファイルで出力する ods rtfを利用します。構文ods rtf file = "出力ファイル名(フルパス)"; (プロシジャ)ods rtf close;例ods rtf file = "/home/xxxxxxxxxx/data/dummy0702.rt... 2020.07.02 tips(SAS)
tips(SAS) プロシジャ出力を結果ウィンドウに出力しない ods exclude 〜 selectで実現できます。あまり実感したことはありませんが、プログラム内でプロシジャを何度も実行するときなど、若干処理速度が上がると思います。構文ODS EXCLUDE ALL; (プロシジャ)ODS SELE... 2020.07.01 tips(SAS)
tips(SAS) 統計量のラベルを調べる ods outputでプロシジャの結果をデータセットに出力できますが、1つのプロシジャから多くの結果が出力されるため、その名称(ラベル名)は不明なことが多いです。ods traceで調べられます。構文ods trace on; (プロシジャ... 2020.06.29 tips(SAS)
tips(SAS) プロシジャの出力結果をデータセットに保存する ods outputを利用します。構文ods output 統計量の名前(ラベル) = 出力するデータセット名; (プロシジャ)ods output close;例ここで書いたLIFETESTプロシジャを利用しています。ods output... 2020.06.28 tips(SAS)
tips(SAS) 変数をマクロ変数に入れる あまりやらない処理ですが、業務で使うことがあったのでメモ。データセット内の変数であってもcall symputルーチンによってマクロ変数に入れることができます。例1コードdata test_1; aaa = "xxx"; call symp... 2020.06.22 tips(SAS)
tips(SAS) 空白を削除する 数値を文字列に変換したときに先頭に入ってしまう空白を削除したい。→ strip関数,trim関数,left関数などが利用できます。関数名構文解説stripstrip(STR);先頭と末尾の空白を削除。trimtrim(STR);末尾の空白を... 2020.06.18 tips(SAS)
tips(SAS) データセットの存在を確認する call symput とexist関数を利用して解決できます。ここではそれを利用して特定のデータセットの存在を確認し、その結果によって処理を分岐させる処理をしています。以下のような処理をしています。 1.データセット"ds"が存在しない ... 2020.06.15 tips(SAS)
tips(SAS) 最大値、最小値を求める meansプロシジャを利用します。例テストデータを準備。data test; set sashelp.class;run;変数Ageについての最大値と最小値を求めます。proc means data = test; var Age; out... 2020.06.14 tips(SAS)
tips(SAS) オブザベーション(レコード)を複製して空行を作る ここで書いたoutputステートメントを利用してオブザベーションを複製することができます。RTFファイル(帳票)を作成する際に、元データとしては空行が含まれたデータセットが必要になることがあります。元データdata test; sortke... 2020.04.19 tips(SAS)
tips(SAS) データセットをExcelで出力する SAS Studioで確認しました。PC版のSASでも動くはずです。やりたいことこのデータセットをエクセルで出力したい。ただしクリップボード経由の方法は用いない。このデータセットはSASHELP内にあったもの(CNTAINER)です。小さか... 2019.11.24 tips(SAS)
tips(SAS) SAS StudioでExcelデータを読み込む SAS Studioでのみ動作確認できた方法です。クライアント版のSASで機能するか不明です。読み込む方法としては・libnameステートメント・importプロシジャ・DDE(Dynamic Data Exchange)が有名ですが、いず... 2019.09.28 tips(SAS)
tips(SAS) SAS StudioでExcelデータを扱う 自宅学習でお世話になることの多いSAS StudioではローカルPCにあるデータは直接触れません。(もしも方法があったら教えて下さい。)なので、ローカルPCで作成したファイルをSAS Studioの自分に割り当てられたフォルダにアップロード... 2019.09.27 tips(SAS)
tips(SAS) 読み込むオブザベーション数を指定する firstobsで最初に読み込むオブザベーションの行数を指定できます。obsで最後に読み込むオブザベーションの行数を指定できます。テストデータdata test_data; length NO 8.; set sashelp.class; ... 2019.05.28 tips(SAS)
tips(SAS) 変数の並び替えをする 変数の並び(並び順、順番)を整える。formatステートメントを使います。元のデータproc print data = sashelp.class;run;並べ替えるdata class_change; format name age se... 2019.05.27 tips(SAS)
tips(SAS) マクロ変数の計算をする ※SAS 9.4 マクロ言語リファレンスより%eval整数演算を使用して、算術演算式や論理式を評価します。%sysevalf浮動小数点演算を使用して、算術演算式や論理式を評価します。整数の場合/* コード */%let a = 1;%let... 2019.05.15 tips(SAS)
tips(SAS) SEQ(シーケンス)番号を振る 構文(合計ステートメント)変数 + 式 ;変数:合計を格納したい変数。式:加算したい数。テストデータ総務省統計局で公開されている各国の人口推移(&予想)のデータより抜粋しました。もっと抜粋してもよかった。data raw_data; inp... 2019.05.12 tips(SAS)
tips(SAS) 変数をまとめて欠損値にする 構文call missing(変数名1<,変数名2,…>);<>は省略可能の意味です。テストデータdata dummy1; input c1 $ n1 c2 $ n2 c3 $ n3; cards; aaa 1 bbb 2 ccc 3 aa... 2019.05.11 tips(SAS)
tips(SAS) 全オブザベーション(全行)に同じ値を追加する 自動変数を利用します。元のデータセットdata class; set sashelp.class;run;追加したい値が入ったデータセットdata add_ds; input add1 add2 $;cards;1 addvalue1;ru... 2019.04.24 tips(SAS)
tips(SAS) リスト入力によりデータを作成する 練習用に簡単なテストデータを作りたいときなどに。コードdata DummyData; input ID NAME $ SEX $ AGE HEIGHT WEIGHT;cards;1 Tanaka F 20 160.8 50.02 Sato ... 2019.04.15 tips(SAS)
tips(SAS) マクロ変数の内容をログに出力する マクロ変数であれば%putステートメントを使ってログ出力することができる。コード%let aaa = xxx; %put &aaa.;ログ72 %let aaa = xxx; 73 %put &aaa.; xxx 2019.04.13 tips(SAS)