sas 数値型変数の桁数把握

数値型変数の桁数をキャッチするコードを掲載してみます。

あまりにも冗長なコードで自分のSASができないっぷりをさらすようですが。
そもそも私以外のsasができる人は、ググる必要がないから、Webにもないのかもしれませんが。。
いろんなレベルのSAS プログラマが業界にはいます!!

数値型変数をvar_num、結果の桁数が入る変数はketa。
0の場合は桁数をゼロと、手打ち!!してます。ここはなんとかしたいですが。
欠損の場合は keta =も欠損。

サンプルデータとしてvar_numに”1.12345”を与えています。

data test;

var_num=1.12345;

if var_num=0 then keta=0;
else if var_num = . then do;end;
else do;
var_num_char =put(var_num ,best.);put var_num_char;
syousuu_char=scan(var_num_char ,2,”.”);
keta=length(syousuu_char);
end;

output;

run;
result_in_sas_on_demand

sas on demand ログインできない ,PWあってるのに→license agreementを要更新

久しぶりにsas on demandにログインしようとしたら、ログインできませんでした。
パスワードリセットしても入れない。
あれーー、おかしいな、と思ったら、sas on demandユーザーは年に1回?ぐらいの頻度で、licence agreementをしなければならないようで、それをしていなかったから、のようです。その手続きを済ませたらログインできました。

どこでこの情報を知ったか:サインイン画面下部の”Commonly Asked Questions”→このページ中の”If you have reset your password and are still unable to sign on, you can sign on to the Registration application and update your license agreement. After that, you can try to sign on again.”より。

実際のSAS社のHPでは、この英文中の”Registration”のところにhyperlinkが貼られており、そのジャンプ先の
https://odamid.oda.sas.com/SASODARegistration
にてlicence更新をお済ませください。

さて、また少しづつ当ブログ、また更新していくよう頑張ります。

SAS pg実行後のアウトプットウィンドウ フォーカス遷移回避

プログラムの最後にリスト出力するとします。
そんなプログラムを実行すると、DMS?(Display Manager System)におけるフォーカスがアウトプットウィンドウに遷移して終了するのを避けたい。
フォーカスは実行したプログラムに戻ってきてほしい。
都度、エディタのどこかをClickしてフォーカスを戻すのが面倒なので。

そんなときはプログラムの最後に以下をつけてください。
dm ” continue;

これで、実行したプログラムのエディタにフォーカスがあたって終わります。
continueオプション?がないと、複数のプログラムを開いている場合、実行したプログラムではないプログラムにフォーカスがあたります。

この情報はKさんに教えてもらいました。Kさんいつも、ありがとう!いつか日本酒ごちさせてください。

このcontinueってほんとなんやねん、、DATAステップ中で使うものとしてのは聞いたことあるかもしれないけど、、、
この解決方法教えてもらった時、なんでかテンションあがりましたV(^0^)

sas データセット 開いているか 確認したい→これもopen関数

ふと疑問が生じました。
疑問が発生した状況:
えてして業務でてんぱっているとき。
DATAステップを実行
→データセットを開いてみる(仮称:work.x)
→も一回、ちょいちょいプログラムを変更して実行
→”VIEWTABLE: work.X”という文言がタイトルバーにあるwindowを閉じるの忘れてた
→英語版sasなら”member-level control”云々、日本語sasなら”メンバーレベル制御の 出力アクセス”云々のERRORがでる。

これを回避すべく、データセットwork.xが開いているかを事前に調べたい。。

これは、open関数でできました。
Open関数の戻り値で、対象データセットの状態を検出できました。
open関数=データセットを開くための関数、というのは知っていたけど、、確かにこれでできますね。

sas社日本語ページ
”prices”でこのページを検索してみてください。おいしい部分(プログラムのサンプル)に画面遷移するはずです。
link
http://support.sas.com/documentation/cdl_alternate/ja/lefunctionsref/67960/HTML/default/n0q72zlfmfjplon1p3nprf85sdin.htm

秋だー、これから年末まで、stat programmerさん皆、●ソ忙しいのではないでしょうか。。。お互いがんばりましょー

11月開催のサイエンス研究会

どうしよう、いきたい、11月に関西で開催される某研究会。
11/8,火曜、、、
東京から午後だけ有給とって、恐らくその日に帰ってくるというパターンが一番現実的かと。
そういう気合の入った(=有給半分 or 1日捧げる、かつ、諭吉2名強がお財布からいなくなる。)関東のstatisticianないしstat programmer,いらっしゃるんでしょうか。

第1回いけなかったしな。
SASの総会で1回の発表があったけど、動画化されなかったし。
うーむ、、迷う。
今後業務が●●●●●●●●だと△△△△△だし、今回がいい機会だとは思うんだけど。。。

SDTMがらみの求人市場 in DM部門 (データマネジメント部)

まぁほんと、暇つぶし程度に、”データマネジメント”部での転職市場における”SDTM”というキーワード有無を検索してみました。
結果は画像の通り。ヒット0件。んなもんすか。。。

どういう背景でこの結果なんだか、気になりますな。
どの会社(製薬会社、CRO)も、SDTMできる人は足りているから求人広告にキーワードとして掲載していないのか。
はてまた、DMで働く以上、SDTMの見識があることはあまりにも当たり前すぎて、条件としてだしていないのか。。
(= ”パソコンのブラインドタッチができること”というのは当たり前すぎて、いちいち就業条件に挙げていないのと同じ理屈。)

以上です。

http://medicaldatamanagement-job.com/jobsearch/search/sdtm

sdtm_dm

(駄文)SDTM Findings,PCドメインのPCEVLINTがよくわからない。。

近日、SDTMのPCドメインの仕様書をつくってたら、、、色々難しくて(ってかそもそもこのドメインだけ、臨床薬理の専門家がつくる、ないし、そこまでいかなくても、小生のようなrollの人間とファーマコロジストのコラボの上で、よくよく相談の上でつくってもってもおかしくないドメインだと思う。)
 で、、仕様書つくっていった、最後の最後の変数がこれでした。PCEVLINT。
 な、なんすか??IGのexampleみても、blankだったり値が入っていたり、、はてまた、PCELTMと?正負相反していたり??→→→例えばPCELTMがプラス10分、とかだったら、PCEVLINTはマイナス10分。

な、なんなん?????
ぐぐってもあんま情報ないし。。。。

PCEVLINTはEVaLuation INTerval,PCTPTから、インターバルがある場合に、その情報を格納する変数、のはず。

PCTPTが、投与10分後なら、、、その時間にあわせて血漿中薬物濃度の採血に決まってるやんか。。。わざわざその時間からインターバルをとる=●●分後ないし前、なり、ずらす場合って、、、なんなん???
 まだようわからんくて、頭からプスプス、湯気が。。。

 

SDTM仕様書書いてます、ただsdtm model 1.4が仕様書書く上でどう関与するか不明。

SDTM仕様書をかきはじめました。
ドメインの種類は、general observation class。つまり、Findings or Events or Interventions。

仕様書書いているときは、もち、IG 3.2はずーっと開いているのだけど、ふと考えるとModelはあんまみてない。
みろ、、、ないし、参考にするように、、とはいわれたけど、、、
みなかったことで、どんな弊害がくるのか、、それさえもいまは不明。
仕様書作成の締め切りがあるので、まずは仕様書終わらせようとしてます。。。。

いいオチとしては、Custom Domainをつくりたいなら、みるべきであって、、、標準的なドメインなら、そんなModelはみなくていい、っていうオチなら何よりだけど。。。