2017年10月15日日曜日

9.4のメンテナンスリリース5がでてるやんけぇと言う話

出てますね,9.4M5.
日本語での案内ってでますかねこれ.
イマイチ見当たらないんですが.
sas studioも9.4M4なので実際に触れないのですが,いくつか新機能が出ているようです.
そのうちの二つを紹介しようと思います.

proc dstods2 がそのうちの1つです.
なんでもデータステップをDS2言語に変換して出力するプロシジャのようです.
inにsasプログラムをよみこんで,outから「.ds2」形式のファイルを出力するようです.
データステップのhashも一部対応してるよ!(Partial support for the hash object. )
とのことなので実際にいろいろ変換してみたいのですが,いかんせん9.4M5が触れないですね
幾つか未対応の機能もあるようなので,そこは気を付けたいところです.

該当のdocument
<http://documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.2&docsetId=proc&docsetTarget=p0zok9sr2a2t46n1r8zfuw5145t5.htm&locale=ja>

取りあえず以下はsasのdocumentから引っ張ってきた例です.

data _null_;
   length x y z w 8;
   set x;
   by x--z w;
   put x=;
run;

このデータステップをdsex1.sasに保存して

proc dstods2 in="dsEx1.sas" out="ds2Ex1.ds2"; run;

上のプロシジャに掛けると,
下の様なコードがds2ex1.ds2として出力されるようです.

data _NULL_;
  dcl double X;
  dcl double Y;
  dcl double Z;
  dcl double W;
  method run();
  set X;
  by  /* X--Z */ W;
  put X=;
  ;
  _return: ;
  end;
enddata;

もう一つはgzフォルダにfilenameステートメントでアクセスできるようになったようです.
filenameステートメントのzipオプション下でgzipオプションをつければアクセス可能になるとのこと.
ただgzipオプションとmemberオプションの両方を書くと,memberオプションは無効になるようですね.

と言うか9.4からZIPにはアクセス出来るようになってたんですね.
そこすら知らなかったです.

filename foo ZIP 'U:\directory1\testzip.zip' member="test1.txt" 
これで指定したzipの中のtest1.txtにアクセス出来るらしいです.

該当のdocument
<http://documentation.sas.com/?cdcId=pgmsascdc&cdcVersion=9.4_3.2&docsetId=lestmtsglobal&docsetTarget=n1dn0f61yfyzton1l2ngsa1clllr.htm&locale=ja#p0c653wf2di4jln10vjxwuub1ptz>


後はviyaを見据えた変更点がありそうなくらいですかねぇ
にわか知識なのであまり詳しいことはわかりませんが.
日本語の記事とかあったら知りたいです.

2017年10月10日火曜日

sas studioにログインできなかった話

まさかの月に複数回更新

久しぶりにSAS studioにログインしようとすると入れませんでした.
どうもライセンスを更新しないといけない様子です
sasのsupportページ<https://support.sas.com/ondemand/caq_new.html>の
「general questions」のところに記載がありました.

Q.
I am unable to sign on to the Control Center or other SAS OnDemand for Academics software applications.

A.
You may be using a mixed or upper-case user ID. Only lowercase values are acceptable for your user ID. Additionally, you may be using the wrong password or your account may be disabled. You must renew your license agreement each year. Your account will be disabled if you fail to renew.
  •  If you have forgotten your password or wish to reset it, see What should I do if I forget  my password?
  •  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.
  •  If you have tried both of these items and are still unable to sign on, then you can send e-mail to SASAnalyticsU@sas.com to receive technical support.

二つ目の○のところに,「update your license agreement」と書いてあります.
Ansの部分の概要に,「You must renew your license agreement each year.」とあるので,一年に一回はライセンスを更新しないといけないようです.

/*----- 20190110追記 ------*/
ココ勘違いしている気がします.年一回アカウントの更新が必要なのではなく,年に一回はログインしないとアカウントの更新が必要になるんじゃないでしょうか.
どっかでログインしていればアカウントの更新をしなくてもいいはずです.
/*----- 20190110追記ここまで ------*/

ここからは更新の仕方についてです.
アカウントを作るページ<https://odamid.oda.sas.com/SASODARegistration/>に
自分が作ったアカウントのFirst name,Last name,email addressを入力してCountryを選んでsubmitします.
(更新なのにCreate an accountのページなのが違和感ありますね.そんなもんなんでしょうか)

submitすると,「You are already registered with SAS OnDemand for Academics. 」と言われるので,
下のテキストボックスにアカウントのパスワードを入れて「continue」をクリックです.
この時にlicenseにagreeする旨のチェックボックスにチェックを入れてください

次のページで「Your account is ready to use. 」と出てくるので,これでOKです.
このページで自分のUSERIDを教えてくれますので,ログイン時はそのIDと設定したパスワードを使ってください.

これで一年間はまた使えるはずです.
一年後にまたライセンスの更新を忘れずにしましょう

2017年10月2日月曜日

sgplotを実行した時に,自動でグラフのイメージが出力される話

改めて見るとよくわからないタイトルですね.適当よくない

sgplotでグラフを書くと,グラフのイメージが勝手にpng形式で出てきて困ってました.
ods rtfでrtf形式を指定しているので,改めてpngは要らないのです.
そういう時は「ods listing close ;」でpngの出力止めれますよ,と言う簡単な話です.

それか出力先を自分のsasのworkにしてしまえば,
sasを落とせば勝手に消えるし出力の確認もできます.
workをこんな使い方していいのかは知りませんが.

*----- pngの出力止める(outputへの出力を止める) ;
ods listing close ;

*----- rtf出力start ;
ods rtf file = "hogehoge\test.rtf" ;

proc sgplot data = sashelp.class ;
     vbox HEIGHT / category = SEX ;
run ;

ods rtf close ;
ods listing ;


/*---------- 出力をworkにする ----------*/
%let _wk = %sysfunc(getoption(work));
%put &=_wk ;

*----- outputの出力先を指定 ;
ods listing gpath = "&_wk."