The Nameless City

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

<del>なんか聞きたければ、聞いて下さい。</del>用事無くても書き込んでええんやで。

トランスエンコーディングのページにPVが集まるので、なんか探られてるなーと思ってますが。 こちらで聞いて頂く分には、分かる範囲で特に明確な期限ないですが、回答しますので(質問・回答は公表しますので、不幸が起こらない形で問い合わせていただければ…

にんげんにやさしいEDCないものか。

うーんマジでR○ve面倒臭いのだけど、どうにもCSVとかロールとかで、複雑に組めてしまうのが大きい。 会社ごとにカスタマイズする意味ってほぼないよね。製薬企業が内製するなら別だけど、個別カスタマイズするくらいなら制限かけた上でやれた方がいいし、運…

SASのプログラムを書く上で、他のアプリやシステムと連携してる所で結構考えておくといいネタいくつか。

Unicode→UTF-16とか Windowsの昔のツールだとUnicodeと呼ばれていた文字コードは、UTF-16だったりする。LEかBEかはBOMでわかるのだが、WindowsはUTF-16 LEのような形で保存していたりする。 UTF-8ではないので一応注意。 UnicodeにもBOMがあることが。 こち…

SASの欠損値

www.cresco.co.jp 見かけて、ふむふむと頷いていたのですが。 SASの欠損値の要諦 missing valueと英語表記されますが、RDBのNULLとは違う挙動をします。 NULLは型としてNULL型があるが、SASの場合には文字列型・数値型などの型を持ちます。 結果として、欠損…

COMPAREプロシージャ使い方(ダブルプログラミング用)

変数の数不一致を検出(しやすいように) LISTVARオプションつける 計算誤差をスルーしたい場合 METHOD=ABSOLUTEとかにして、CRITERION=1E-12を設定する ※1E-12は取り決めであるけども大体これくらいの計算誤差は出る 差があったらERRORをログに出す ERRORオ…

やりたい事。

・VSCodeでSAS実行まで これは現実的に可能だが、バッチ実行スタイルになる。 悔しいかな今のところはLinterは難しそうだ。・SAS実行高速化 memlibとか使えればもっと爆速になるはず、だが、メモリのクォータ問題もあり、難しそうだ。SAS実行プロセスをキュ…

すみません。

わざわざお声掛け頂いて大変申し訳ないのですが、 英会話能力ない 調整能力ない 及び 技術営業の力ない かなりのコミュニケーション下手 があって、多分ご希望通りの力はない、そう思っているところがあります。 もう一つは、まだ今の会社に引っ張られ、責務…

用語の曖昧さは曖昧さを理解して使うといい。

「ん?なんでそれ間違えたの?」という用語ミスのトラブルを見かけたのですが。 具体的な単語を書くと宜しくないので止めときますけど。 専門用語というよりは、業界用語ですね。私化学工学出身なので、この手の単語には接したことがあります。 そうですねえ…

UNIVARIATEプロシージャとMEANSプロシージャとSUMMARYプロシージャの使い分けについて少し。

これらはほとんど変わらない、とSAS V6のマニュアルを見ても書いていた記憶が・・・・・・SAS日本語オンラインマニュアルの、「Base SAS 9.4 プロシジャガイド」に載っているリスト(p.2079)とかが便利です。統計プロシージャのガイドでないところが何とい…

特殊欠損値の扱いについて少し。

sas-tumesas.blogspot.com を見て。特殊欠損値は、気がつく人は気がつく、知らない人は知らないし分かりづらいのであんまり使う事はないのですが。 以下サンプル。 data _NULL_ ; a = .M ; put a ; if a^=. then put '特殊欠損値は通常の欠損値とは異なりま…

独自のエラーをログに書く際に考える事。

SASが標準で作成するログのパターンに合わせるかどうか 「ERROR:...」「WARNING:」「NOTE:」みたいなのに合わせるかどうか。 あと、SYSERR等を取り扱うかどうか。 SAS DMSの中で色が違うだけでいい、というのであれば、ログにputステートメント等で「ERROR:.…

SAS on Linuxで気をつける事。

SASはLinux版もありますが。 というか、SASってWindows版後から出してた印象なので、むしろWindows対応に四苦八苦してた気が。 どのLinuxでも載るという訳ではありません。 ええと、SAS Analytics UだったかはVM入れさせるのであんまり関係ないのですが、素…

Windowsで自動ログオンを可能にする方法として、Autologin.exeを利用する。

タスクスケジューラーで自動的に何らかのプログラムを動かし、例えば毎日一回は何かを実行する、というのは大変よくやると思うが、タスクスケジューラーで実行しづらいものはあり、例えばデスクトップセッションで画面を必要とするようなものは、実行出来な…

Vivaldi 2.0 on Fedora 28について少し。

Vivaldi 2.0にしたついでに、寝ながら使うFedoraマシンのブラウザを完全にVivaldi一本でやる試み。 Vivaldiって何 Chromiumベースのブラウザで、色々カスタマイズして使いたい人向けのブラウザ。 ステータスバーやペイン表示がデフォルトで設定可能。設定項…

SASのエディタとしては、今はVS Codeかなと思っている。

namelesscity.hatenadiary.com あれから使いながら、結局Atom EditorからVS Codeに引っ越した。 理由としては、 「会社のプロキシ超えするのにAtom Editorでハマリが多すぎる」 から。 ユーザIDやパスワードの特殊文字の調査とかもダルい。 VS CodeはWindows…

Central Statistical Monitoringという話題を聞いて考えた事。

それ、逸脱チェックみたいな話になっていくのかな? という感想。 時代が進まねえ・・・・・・ 論理チェックとかかなり軽量化していったのを経験した身としては、そんな金とリスクのトレードオフに合わせて適当にさじ加減変わるなら、そのように要件早めに出…

なんかすみませんね。

SASユーザー総会にて。 社内の人に挨拶をするだけのつもりが、いきなりだったのでちょっとビックリしました。 流石にブログ名音声で呼ばれるのはなあ。いやつけたのは自分ですが。

IronPythonとPython .NETでハマった。

IronPythonをWindows 7にインストールしたらVisual Studio Codeで食わせるのにハマった。 こちらは標準のPythonにPython .NETを食わせることで回避。完全互換ではないようですが。 Python .NET(pythononnet)をFedoraに入れてみようとしたら、Monoとの連携に…

Spotfireで使えるPythonの話へのリンク

spotfiremaniacs.net 余談ながら、「StreamBaseとH2O連携 | Spotfireで学ぶデータサイエンス超入門」 がIoTとかには必要になってくるやつなので興味深いです(が、どこまで使えるかは分からないです触ってないので) 何が出来て何が出来ないという範囲を探し…

Excelから出てきたようなCSVを、途中の改行を別フレーズに置き換えるサンプル。

こんなの。 filename _IN ... ; filename _OUT ... ; data _NULL_ ; length TEXT $32767. ; infile _IN lrecl=32767 dlm='1a'x; input TEXT ; file _OUT lrecl=32767 dlm='1a'x; length NUM_DQ FLG_DQ 8. ; retain FLG_DQ ; if _N_ = 1 then FLG_DQ = 0 ; NU…

SSL対応しました。そして、Symantecの証明書サービスが別会社に移る際の問題。

はてなブログのSSL対応をしました。 無料版でありはてなのドメインなのでLet's Encrypt対応です。 Symantec絡みの事で、製薬企業のサイトで見えなくなりそうなサイトが・・・・・・大丈夫でしょうかね。 シマンテックの SSL/TLS サーバ証明書の入れ替えにつ…

簡易チェックツールいるなあ。。。。。

Pinnacle 21ほどのチェックはいらないんだけど、単純にnullがあるとか、全部nullとか、データセットの素性を明らかにするようなチェックツールがいるなあと。 Enterprise Guideで一変数要約統計みたいなのが簡単に出せたような記憶があるけど、怪しい文字変…

ほとんどのプロジェクト失敗の原因はコミュニケーション不足、とか言われるその先を考えてほしいなと。

愚痴っぽいメモ。 google:プロジェクト 失敗 コミュニケーション不足 失敗気味であればあるほどコミュニケーションは阻害される。コミュニケーション不足は擬似相関な要因で、兆しを見付けたらなにかがおかしいので別の所の故障原因を探すのが吉。 「コミュ…

Windows PowerShellのイマイチイケてない所。

バージョンの差異が少なからずあり、Win7とWin10ではバージョンが違う。 最大の欠点がこれで、当面WindowsのDOSコマンドから抜け出せないのもこのせい。 正直当てに出来ない。 未だにシェルの文字エンコードがS-JISで Winの、「表示はS-JISなんだが実際には…

パスワードルール、変わっていくと良いんですが。

パスワードの定期変更推奨が無くなりました。総務省から。 当面は、Part11とかの影響引き摺るんでしょうが、今後は無くなりそうです。 その代わりと言ってはなんですが、ユーザーの管理はしっかりやってく必要あるでしょうね。

WinでのPython入れ。

Python入れる。 現行Py3系統の最新安定版は3.6.4。公式版、64bitを使う。 ただ、実際のところ32bit版が安牌な気がするが要調査。 Proxy通す。 会社内で使っているプロキシを通す、のだが、PACファイルでProxy設定しているパターンなので、それはそのままは使…

SAS開発環境に、Atom Editorを使うことのとりとめないメモ。

SASのIDEと呼べるのは、SAS謹製しかない。 WDSとかは置いておいて。University Editionは商業利用出来ないし。 コードエディタとしてはSAS DMSの他、SAS Drug Developmentの~とかSAS Studioとかあるが、如何せんライセンスの問題もあるし、何より、SAS Inte…

DMS動かしつつ、裏でバッチ実行するというやり方。

と言っても大げさなものではなく、 単純に、SASUSERのパス変えた違うsasv9.cfgで実行させればいいという話です。 パラレルにバッチ実行するには、rsasuserシステムオプションと、ods pathのパスの最初にWORK.TEMPLATEとかをprependしてやればよいです。ちょ…

RTFの単位はTwips。

たまに忘れるので。 1Twips=1/20pt(0.05pt)=1/1440inch 1pt=1/72inch 線の太さもこれで変換出来る

コードリストになっている文字列から、コード値の数値に変換する方法

要約 コード変換については、SASの場合にはフォーマット/インフォーマットを使うのが楽です。 数値コード→文字列変換 数値フォーマットを使います。 文字列コード→文字列変換 文字フォーマットを使います。 文字列→数値コード変換 数値のインフォーマットを…