解析帳票用のデータセットコンペアに拡張属性を使って,品質を向上させてみる話

641 Views

April 02, 24

スライド概要

[第4回大阪sas勉強会]森岡裕

profile-image

SAS言語を中心として,解析業務担当者・プログラマなのコミュニティを活性化したいです

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

解析帳票用のデータセットコ ンペアに拡張属性を使って, 品質を向上させてみる話 第4回 大阪SAS勉強会 森岡 裕

2.

• 製薬系のみなさん,RTF帳票のコンペアってどうしてんすかね? • Main,SubともにRTFファイルに出力して,VBAとかでコンペアも あるかもしんないですけど,多いのは ★Main側のみProc reportやProc odstableなどで作表 ★Main,Subともにプロシジャに流し込むデータセットを作成し, それをコンペアすることで帳票の品質を確保する 出力プロシジャに流し込む直前のデータセットをSDSと呼称するこ とにします

3.

RTF帳票 SDS

4.

基本的に点線の部分の情報し かSDSに入ってないので,コ ンペアで検証できるのは帳票 の主たる部分のみ

5.

• 帳票タイトルや,解析対象集団,対象例数などは目視でQCチェック したりするが,色んな理由で意外と間違えてたりするもの. • そして気づきにくい

6.

そこで,拡張属性です. 帳票プログラムで,タイトルや対象集団,ラベル内の対象集団 数はマクロ変数からとる仕組みを作ったうえで proc datasets nolist; modify T14_1_XX; xattr add ds title="&title" target="&population" ; run; proc datasets nolist; modify T14_1_XX; xattr add var out3 (N="N=&bn1.”) ; xattr add var out4 (N=“N=&bn2.") ; run; データセットに”title”という名前の属 性で,値にタイトル名を格 納.”target”に解析対象集団を格納 帳票の3列目,4列目に主強くする変 数out3,out4にそれぞれ”N”という名 前の属性で,解析対象集団例数を格 納

7.

拡張属性のつけ方 proc datasets ; modify データセット名; xattr add ds title=“あいうえお" target="あいうえお"; xattr add var out3 (N="あいうえお”) ; run; データセットにつける拡張属性ならdsとして,以下,任意の拡張属性名=値 変数につける場合はvarとして変数名(拡張属性名=値)

8.

拡張属性の確認の仕方① proc contents data= T14_1_X_X; run;

9.

拡張属性の確認の仕方② • SASHELP.vxattrに全データセットの拡張属性の情報がまとめて入っ てる

10.

コンペア方法のヒント (色々あるけど nameとxattrをidにして転置すると扱いやすいよ) data Vxattr_main Vxattr_sub ; set sashelp.Vxattr; where libname in ("SDSM","SDSS"); name=coalescec(name,"dataset"); if libname="SDSM" then output Vxattr_main; if libname="SDSS" then output Vxattr_sub; drop libname; run; proc sort data=vxattr_main ; by memname name xattr; run; proc transpose data=vxattr_main out=_vxattr_main delimiter=_; var xvalue; id name xattr; by memname; run; proc sort data=vxattr_sub ; by memname name xattr; run; proc transpose data=vxattr_sub out=_vxattr_sub delimiter=_; var xvalue; id name xattr; by memname; run;