The Nameless City

何故か製薬やSAS関連のブログ、の予定。

SAS Tips

Windowsでレジストリをいじって右クリックメニューに適当にS-JISでのバッチ実行用メニューを追加する。

こんな感じ。 改造元は、SAS9.4かで出て来ている、UTF-8でのバッチ実行のを見てです。まあ、要は拡張子連動の所で、明示的にコマンドを書いて上げるのです。 一応レジストリをなぶるので自己責任でどうぞ、とはいうけど、これぐらいはいじれるようになってた…

SASの移行問題アレコレ。

メモ書き。 クロスプラットフォームなのは、「データセット」だけ。 大変残念なお話ではある。 本質的に単なるテキストファイルなのでどうしようもないSASプログラムの問題はおいておくとしても。 非互換なのが、SASカタログ形式も含まれるのが地味に痛い。 …

SAS Enterprise Guideの「予期せぬエラー」「SASの実行に失敗」する場合には、落ち着いて、以下の事をチェックしておいてほしい。

少しでも無駄な悩みが減りますように。 こういうトラブルって、人を渡り歩くと本当に大袈裟な話になってくからなあ・・・・・・。 プロファイルを間違えてないか SASサーバに紐付ける形でのEGの設定なのにプロファイルを使わないローカルの設定になっていな…

WORKライブラリをメモリ上に載せる方法。

SSDが安定するのですが。Fusion-IOとかの大容量SSDも出てますし、256GBでも問題ないですし。 メモリだと、大容量メモリに個人用PCだとそれほど対応していないというのもあります。家のマシンだとほぼ16GB積んでいるんですが、これから上になるとレアモノだっ…

Windows-1252にある文字のUTF-8に変換した時最大で3バイトになる。

タイトル通り。 いわゆるISO-8859-1、通称Latin-1というヤツであるが、これ、Windows上では拡張されWindows-1252というものになっている。 この拡張された部分に埋められた文字が、UTF-8では3バイトになるものがある。ダガーやダブルダガーとか。 shift_JIS…

SASインストールに関するTip幾つか。

多くの人が、「インストーラーに従ってインストールすれば問題ないよね?」的な発想でインストールされると思います。 特に問題がなければそれでだいたいは大丈夫です。間違ってません。 ただ、たまーに問題が発生するのですが、そこら辺を自力解決というに…

SASでのトランスコーディングあれこれ。

トランスコーディングは、大抵の場合、データセットの別環境への移送も含みます。 ので、そこら辺も絡めてちょっと言及しておきます。 前振りとして。 SASの文字変数は、固定長文字列としてバイト長で定義されています。その為、トランスコーディングに伴う…

XPORTファイルとは何ぞやというお話。

何だか騒がしくなってきた所ですが(超白々しい)、最近話題のSAS transport fileというのを簡単にご説明させて頂きます。 マニュアル(日本語) SAS 9.4 ファイルの移動とアクセス(PDF)をご参照下さい。 もうそこに書いてる事です。 全ての人に言います。 1…

EXPORTプロシージャを使わないCSVの出力方法。

EXPORTプロシージャを使ってCSVを出力するのも間違いではないが、EXPORTプロシージャ内でも同様のSASプログラムを生成しているので、それに合わせて簡易なプログラムを作ってみた。 サンプルであり、マクロ化はしていないけど、マクロ化も難しい話ではない。…

倍精度浮動小数点型の限界はあるよ、という話。

データステップ100万回 SAS新手一生: マクロ変数に数値をいれて戻すと誤差がでちゃう場合がある問題について考える話を見て。 しばしば、お客さんに説明しても理解してもらえないので超絶面倒臭い話の周りになるんですがね。 確かぼんやりとした記憶ですが、…

SASプログラムを特定ファイルに展開して実行する方法

前のエントリのコメント欄で希望のあった、 call executeについても、わかりにくいですね。putでコード生成して、%includeで実行って方法、聞いたことはありましたが、まだ自分でやったことはありませんでした。ぜひコード例を紹介していただけたら嬉しいで…

SASマクロプログラムの要諦

ネット見てると、SASプログラマーも数えるほどだけどそれなりにいるという事で、昔に比べて色々あるんだけど。 SASマクロ関数でのクォート処理は面倒な部類に入るのでマクロ言語でやるよりdataステップでマクロ変数を読み込む方法とかを使う方が幸せになれま…