スポンサーリンク
tips

Google日本語入力で日本語↔英数切り替えキーを変更する(Mac)

概要 MacでGoogle日本語入力を利用している場合に日本語と英数入力切り替えキーを変更します。おそらく他の入力システムでも可能だと思われます。前提 macOS Ventura13.5(22G74)での解説です。結論システム設定 → キー...
tips(SAS)

変数名をまとめて変更したい

概要 変数名を変更(rename)する場合、renameステートメントにひとつひとつ記載する必要がありました。2つや3つなら問題ありませんが、その数が20,30,50となってくると漏れも発生しますし何よりもコードが冗長になり、全体の可読性も...
tips(SAS)

length値の異なる変数でmergeしたい

概要mergeしたい時、双方のデータセット内のkeyとなる変数が同じものを指す場合でも、まれにlength値が異なることがあります。新たに変数を作成してlength値を合わせることなくmergeする一例をメモしておきます。テストデータdat...
スポンサーリンク
tips(SAS)

SASのプロダクトステータスを確認したい

概要プロダクトステータス(Product Status)を確認します。コンペアでの確認や納品物の確認といった作業でどうしても合わない時、実行しているSASの情報が異なることが原因ということもあります(使用期限を知りたいときはこちら)。構文p...
tips(SAS)

SASの使用期限を確認したい

概要SASの使用期限(有効期限)を確認します。多くの組織でSASのインストールやライセンスの更新作業はヘルプデスクやインフラ担当が行いますが、まれに利用者本人が行うところもあります。この方法で作業後の使用期限を確認できます。構文proc s...
プロシジャ

COMPAREプロシジャ

概要2つのデータセットを比較します。構文PROC COMPARE <option(s)>; BY <DESCENDING> variable-1 <<DESCENDING> variable-2 ...> <NOTSORTED>; ID <...
Excel

読み取り専用を推奨するダイアログを表示したい(Excel)

概要Excelを開く際に読み取り専用を推奨するダイアログを表示します。プロパティ右クリックで設定できる「読み取り専用」ではありません。設定ファイルを開き、名前を付けて保存(F12)→ツール→全般オプション全般オプションダイアログで、「読み取...
tips(SAS)

間違ってプログラムを実行してしまった際の予防をしておきたい

趣旨あまりなさそうなシチュエーションですが、モノによっては出力時間(タイムスタンプ)が他の出力との順番で整合性がとれないとよくないということもあります。単純に全部やりなおせばと思われますが、そのやり直しに長時間を要し、一晩放置が必要になるよ...
tips(SAS)

workライブラリのデータセットをまとめて削除したい

ほぼすべてのプログラムの一番上に書かれているあれです。毎日見てるけど自分で書くことがなく、忘れがちなのでメモだけしておきます。コード適当にデータセットを作る。data aaa bbb ccc ddd; a = 1;run;消してみる。pro...
tips(SAS)

計算前にnullチェックをしたい

SAS独特の書き方があったのでメモ。概要数値計算をする際にnull値があるとうれしくないNOTEが出てしまいます。成果物としてよろしくないので内部で処理をする方法をいくつか記録しておきます。データ準備data days; informat ...
tips(SAS)

inputステートメントで8文字を超える文字値を入力したい

1文字=1バイト=1桁として書いています。うまくいかない例data cards_char8_1; input COL_A $ COL_B $;cards;abcdefghij aaabbbcccddd1234567890 123456789...
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値がない場合...
プロシジャ

UNIVARIATEプロシジャ

概要さまざまな記述統計量、グラフ表示、統計方法を提供します。構文PROC UNIVARIATE <option(s)>; BY variables; CDFPLOT <variables> < / options>; CLASS varia...
tips(SAS)

オブザベーション数を求める

オブザベーション数(=レコード数)を求めます。元データsashelp.classのオブザベーション数を求めてみます(19レコード)。proc print data = sashelp.class;run;その1:SQLで求めるproc sq...
tips(SAS)

日付変換

日付変換です。ある程度パターン化されているのでメモしておきます。yyyy-mm-dd → yymmdd系YYMMDDxw出力形式を利用します。x:区切り文字を指定。B空白区切り。Cコロン区切り。Dハイフン区切り。N区切り文字なし。Pピリオド...
プロシジャ

PRINTプロシジャ

概要:データセットを表示します。構文PROC PRINT <option(s)>; BY <DESCENDING> variable-1 <<DESCENDING> variable-2 ...> <NOTSORTED>; PAGEBY B...
Word

選択範囲を拡張させない(Word)

Wordで文章の一部をコピーしようとした際に、選択していない部分まで拡張されてしまうことが多々あります。ずっとWordのバグだと思ってたのですが、仕様でした。設定で変更できます。詳細はこんな感じ操作では忠実に文字の部分のみ反転させようとして...
プロシジャ

TRANSPOSEプロシジャ

概要:データセットを転置します。(選択した変数をオブザベーションに転置してデータセットを出力します。)構文PROC TRANSPOSE <DATA=input-data-set> <DELIMITER=delimiter> <LABEL=l...
Word

ルーラー上のインデントを細かく設定したい(Word)

Wordでのお話です。インデントを設定する場合、SAS内のエディタやテキストエディタであればスペースバー、Tabキー、カーソルキーを利用すればイメージどおりの位置にインデントとして設定できます。ところがWordではイメージどおりにいかないこ...
tips

引用符付き貼り付けをできるように設定する(秀丸エディタ)

他のエディタではたいてい実装されている右クリック → 「引用符付き貼り付け」ですが、秀丸エディタにはデフォルトで存在しません。設定で付けることが可能です。手元に秀丸エディタがないので画像なしで手順のみ記載しておきます。手順1.メニュー → ...
Add-In

データセットをExcelに貼り付けて使いやすく加工する(アドイン)

SASのデータセットを開き右クリックしてWHEREを選んで・・・がとても使いにくく感じたので自作アドインを利用しています。※1:Excelのアドインを利用します。※2:SASのプロシジャなどを利用してExcelに出力する機能ではありません(...
tips(SAS)

Frame(枠、フレーム)を作る

Frameを作ります。出力データがゼロ件の場合、このFrameとmergeすることでオブザベーションが発生しない問題を回避します。フレーム、枠、Dummy、ダミー、箱、etc.. 人によっていろんな呼び方があるようです。コードdata fr...
プロシジャ

REPORTプロシジャ

概要:要約レポートまたは詳細レポートを作成します。構文構文PROC REPORT <option(s)>; BREAK location break-variable </ option(s)>; BY variable-1<< DESCE...
tips(SAS)

重複を削除する

重複したオブザベーションを削除したい。SORTプロシジャを利用します。構文PROC SORT DATA = ソート前のデータセット OUT = ソート後のデータセット NODUPKEY; BY ソートキー;RUN;proc sortはソート...
tips(SAS)

プロシジャ実行時に結果ビューアへの出力を抑制する

ods selectを利用します。前提結果ビューアって?上の赤枠:結果(結果ウィンドウ)下の赤枠:結果ビューア(結果ビューアウィンドウ)※画像はSAS-Studioのものですが、PC版のSASでも同様のものがあります。実行したプロシジャはこ...
tips(SAS)

プロシジャの出力結果をRTFファイルで出力する

ods rtfを利用します。構文ods rtf file = "出力ファイル名(フルパス)"; (プロシジャ)ods rtf close;例ods rtf file = "/home/xxxxxxxxxx/data/dummy0702.rt...
tips(SAS)

プロシジャ出力を結果ウィンドウに出力しない

ods exclude 〜 selectで実現できます。あまり実感したことはありませんが、プログラム内でプロシジャを何度も実行するときなど、若干処理速度が上がると思います。構文ODS EXCLUDE ALL; (プロシジャ)ODS SELE...
Power Shell

Logチェックをしたい(Power Shell)

概要Logチェックって、要するにgrepですよね。Power Shellを利用してみます。SASのログウィンドウでErrorやWarningはログの文字色が変わるので目視でも見つけやすいです。しかしながらログの文字色が変わらないNOTE系(...
tips(SAS)

統計量のラベルを調べる

ods outputでプロシジャの結果をデータセットに出力できますが、1つのプロシジャから多くの結果が出力されるため、その名称(ラベル名)は不明なことが多いです。ods traceで調べられます。構文ods trace on; (プロシジャ...
tips(SAS)

プロシジャの出力結果をデータセットに保存する

ods outputを利用します。構文ods output 統計量の名前(ラベル) = 出力するデータセット名; (プロシジャ)ods output close;例ここで書いたLIFETESTプロシジャを利用しています。ods output...
プロシジャ

EXPORTプロシジャ

概要:データセットを外部データソースに書き込みます。構文PROC EXPORT DATA = <libref.>SAS data set <(SAS data set option(s))> OUTFILE = "filename" | O...
プロシジャ

FORMATプロシジャ

概要:変数に対し独自の入力形式と出力形式を定義します。構文PROC FORMAT <option(s)>; EXCLUDE entry(s); INVALUE <$>name <(informat-option(s))> <value-ra...
Add-In

全シートのフィルタをクリアする(Excel)

全シートに設定されているすべてのフィルタをクリアします。※1:アドインを利用します。※2:フィルタの削除ではありません。※3:アクティブシートのみのフィルタのクリアではありません。※4:フィルタ削除のことを「解除」と表現する方もいますが、こ...
オプション

最後のオブザベーションかどうか判別したい

(つまり、setで読み込んだデータセットの最後の行を判別したい。)setステートメントのendオプションを利用します。コードdata test; set sashelp.MACRS3 end = aaa; bbb = aaa;run;「en...
SAS

SASHELP一覧

SASHELPに収録されているデータセットを練習用に利用する際に簡単に探せればと思ったのでまとめておきます。SASHELP内のViewを参照することで容易に情報を取得できます。記事執筆時の情報となります。コードproc sort data ...
tips(SAS)

変数をマクロ変数に入れる

あまりやらない処理ですが、業務で使うことがあったのでメモ。データセット内の変数であってもcall symputルーチンによってマクロ変数に入れることができます。例1コードdata test_1; aaa = "xxx"; call symp...
SAS

SAS名の最大バイト数

SAS名の最大バイト数についてまとめておきます。※SAS名:データセット名、変数名、マクロ変数名など。SAS名最大バイト数データセット32変数32マクロ変数32マクロ32配列32ライブラリ( libname )8ファイルネーム( filen...
関数

剰余(余り)を求める

mod関数を使います。構文mod(arg1, arg2);arg1 : 割られる数arg2 : 割る数(≠0)例data test; ans1 = mod(10,1); ans3 = mod(10,3); ans6 = mod(10,6);...
プロシジャ

MEANSプロシジャ

概要:記述統計量を計算します。構文PROC MEANS <option(s)> <statistic-keyword(s)>; BY <DESCENDING> variable-1 <<DESCENDING> variable-2 ...>...
tips(SAS)

空白を削除する

数値を文字列に変換したときに先頭に入ってしまう空白を削除したい。→ strip関数,trim関数,left関数などが利用できます。関数名構文解説stripstrip(STR);先頭と末尾の空白を削除。trimtrim(STR);末尾の空白を...
スポンサーリンク