The Nameless City

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

SAS Tips

SASの技術情報の場所として、Knowledge Baseはもう少し使われてほしい。

英語翻訳の仕事をしている訳ではないんで、ホント「日本語の情報だせ」とか要望されるのは勘弁。 Knowledge Baseには、おおよそ日本語モノより十倍以上のノウハウがあります。 support.sas.comというかまあ、日本語ソースがあまりにも貧弱なのですが。 オス…

SASでバグを発見したら・・・・・・

色々とプロジェクトに関わってきていての経験知です。 障害として急ぎ対応される事は稀。 障害の内容によりますが、基本的にクライアントの挙動とかの場合には、修正されてもだいぶ後です。 やった事ないですが、Caryへダイレクトアタックかけられる方が対応…

SAS社テクニカルサポートを使ってきて、の雑感。

他に代わって質問する事も多々あります。・・・・・・出来れば、「SASテクニカルサポートにお願い出来ない事をこちらに聞かないでほしい」とか思うんだけど。だいぶ病んでます。 SASテクニカルサポートは、運用面でのサポートは引き受けないのが原則。 あそ…

レコード件数を取り出す「if 0 then set <dataset name> NOBS=<variable>」は、特定条件下で想定外の結果を返すので注意。

「if 0 then set 」って昔調べた時には情報ホント無かったんだけど、今SASプログラマの人がボチボチネットに書いてますね。 で、見てた時に、そういや某所でやってた時に、ここら辺で面倒臭い話あったなと思い出して調べてみた所、やっぱりこのコードは特定…

SAS9.4のサービス起動順序。

よく忘れるので。SAS(R) 9.4 Intelligence Platform: System Administration Guide, Fourth Edition/Starting, Stopping, and Checking the Status of Servers/Operating Your Servers/Overview of Server Operation/Starting Servers in the Correct Order …

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ステップでマクロ変数を読み込む方法とかを使う方が幸せになれま…