---
title: Base SASでの解析業務、どこまでワンポチで取り組めるか。
tags:  #[第11回大阪sas勉強会]  
author: [森岡裕[SASユーザー総会世話人]](https://www.docswell.com/user/6484025)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4EQM34L9JP.jpg?width=480
description: [第11回大阪sas勉強会]
published: April 17, 25
canonical: https://www.docswell.com/s/6484025/ZXEV1N-2025-04-17-071315
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/4EQM34L9JP.jpg)

Base SASでの解析業務
どこまでワンポチで取り組めるか。
マルホ株式会社 臨床開発部データサイエンスグループ 山野辺浩己


# Page. 2

![Page Image](https://bcdn.docswell.com/page/KJ4V1Q5RE1.jpg)

免責事項

発表内容は発表者個人の個人的見解・意見を述べるものです。

所属する団体を代表を示したものではありません。


# Page. 3

![Page Image](https://bcdn.docswell.com/page/LE13GPWVJG.jpg)

概要

SASでの実行時間中にパソコンにしがみつくことがしんどいため、帳票作成、
ログチェック、帳票比較、PDF化までを自動化し、自動実行して結果だけを確
認できるようバッチ処理化してみたので、結果と課題の報告。


# Page. 4

![Page Image](https://bcdn.docswell.com/page/GEWPK263J2.jpg)

臨床開発における統計解析業務

治験で得られたデータを、SASで解析し、その結果をRTFファイル(Wordファイ
ルのような見映えのリッチテキストファイル)に出力すること一般的

臨床試験の解析業務は、CRO(開発業務受託機関)へ委託をするケースや、自社
で実施するケースがあるが、どちらであってもダブルプログラミング*1による
結果の担保が採用されている場合が多い
*1:Main-Validationの2系統に独立したプログラマーが同一の解析を行い結果を照合する手法


# Page. 5

![Page Image](https://bcdn.docswell.com/page/47ZKZDYG73.jpg)

臨床開発における統計解析業務

治験で得られたデータを、SASで解析し、その結果をRTFファイル(Wordファイ
ルのような見映えのリッチテキストファイル)に出力すること一般的

臨床試験の解析業務は、CRO(開発業務受託機関)へ委託をするケースや、自社
で実施するケースがあるが、どちらであってもダブルプログラミング*1による
結果の担保が採用されている場合が多い
*1:Main-Validationの2系統に独立したプログラマーが同一の解析を行い結果を照合する手法

発表者の業務でも、「CRO成果物検収時の確認」や「自社での解析結果の確
認」はダブルプログラミングが行われている。


# Page. 6

![Page Image](https://bcdn.docswell.com/page/YJ6QZ1DQJV.jpg)

今回取り組んだ解析業務の流れ

解析の流れ
０：「Rawdata定義書」や「Rawdata」を基に解析プログラムを準備
１：解析帳票ごとにプログラム実行(1試験あたり100~300程度)
２：実行ログのチェック
→確認
３：解析結果(数値)を突合せ(SAS-Compare) →確認
４：解析結果(体裁)を突合せ(Word比較)
→確認
５：目視確認のためPDF化
→確認


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GJ5RW43274.jpg)

今回取り組んだ解析業務の流れ

解析の流れ
０：「Rawdata定義書」や「Rawdata」を基に解析プログラムを準備
１：解析帳票ごとにプログラム実行(1試験あたり100~300程度)
２：実行ログのチェック
→確認
３：解析結果(数値)を突合せ(SAS-Compare) →確認
４：解析結果(体裁)を突合せ(Word比較)
→確認
５：目視確認のためPDF化
→確認
データ更新やCROから
の提供のたびに実行


# Page. 8

![Page Image](https://bcdn.docswell.com/page/9E2DQVZ1ER.jpg)

今回取り組んだ解析業務の流れ

解析の流れ
０：「Rawdata定義書」や「Rawdata」を基に解析プログラムを準備
１：解析帳票ごとにプログラム実行(1試験あたり100~300程度)
２：実行ログのチェック
→確認
３：解析結果(数値)を突合せ(SAS-Compare) →確認
４：解析結果(体裁)を突合せ(Word比較)
→確認
５：目視確認のためPDF化
→確認
全ての実行にどれくらい掛かる？？
「１の実行」(10min)
↓
「２の実行」(1min)
↓
「３の実行」(2min) ↓
「４の実行」(10min)
↓
「５の実行」(2min)
↓
→25min


# Page. 9

![Page Image](https://bcdn.docswell.com/page/D7Y2W3R47M.jpg)

今回取り組んだ解析業務の流れ

解析の流れ
０：「Rawdata定義書」や「Rawdata」を基に解析プログラムを準備
１：解析帳票ごとにプログラム実行(1試験あたり100~300程度)
２：実行ログのチェック
→確認
３：解析結果(数値)を突合せ(SAS-Compare) →確認
４：解析結果(体裁)を突合せ(Word比較)
→確認
５：目視確認のためPDF化
→確認
現実は？
「１の実行」(10min)
↓(他の作業しとくか15min[+5min])
「２の実行」(1min)
↓(メール返信しとくか5min[+4min])
「３の実行」(2min)
↓(メール返信しとくか5min[+4min])
「４の実行」(10min)
↓(資料確認しとくか15min[+5min])
「５の実行」(2min)
↓(メール返信しとくか5min[+2min])
→25min45min


# Page. 10

![Page Image](https://bcdn.docswell.com/page/VEN89VD6J8.jpg)

今回取り組んだ解析業務の流れ

解析の流れ
０：「Rawdata定義書」や「Rawdata」を基に解析プログラムを準備
１：解析帳票ごとにプログラム実行(1試験あたり100~300程度)
２：実行ログのチェック
→確認
３：解析結果(数値)を突合せ(SAS-Compare) →確認
４：解析結果(体裁)を突合せ(Word比較)
→確認
５：目視確認のためPDF化
→確認
個々の結果の確認はまとめて行
うため、取り敢えず最後まで実
行してしまいたい！
→すべてバッチで実行出来るよ
うにして、ダブルクリックする
だけで１～５を流せるようにす
る


# Page. 11

![Page Image](https://bcdn.docswell.com/page/Y79K26GR73.jpg)

１：解析帳票ごとにプログラム実行

batファイルで実行できるように対応

SASバッチサブミットを書いたbatファイル[csr_run.bat]を作成

“[SAS install path]\sas.exe” –config “[SAS install path]\nls\xx\sasv9.cfg” “[SAS program path]\t14_01_xx.sas” –log “[log path]\ t14_01_xx.log”
Running SAS in Batch Mode
https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.2/pgmcli/n1nor2ldajipsvn1x42cmpr8ugq3.htm
Windows版 バッチ（非対話）モードでの実行
https://www.sas.com/offices/asiapacific/japan/service/technical/faq/list/body/pc068.html


# Page. 12

![Page Image](https://bcdn.docswell.com/page/G78R5ZVGED.jpg)

２：実行ログのチェック

[１：]の実行ログのチェックを行う。
ログチェックはSASプログラムで作成したため、[1:]と同様にbatファイルで実行

SASバッチサブミットを書いたbatファイル[logcheck.bat]を作成

“[SAS install path]\sas.exe” –config “[SAS install path]\nls\xx\sasv9.cfg” “[SAS program path]\logcheck.sas”
Running SAS in Batch Mode
https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.2/pgmcli/n1nor2ldajipsvn1x42cmpr8ugq3.htm
Windows版 バッチ（非対話）モードでの実行
https://www.sas.com/offices/asiapacific/japan/service/technical/faq/list/body/pc068.html


# Page. 13

![Page Image](https://bcdn.docswell.com/page/L7LKYD5XER.jpg)

３：解析結果 を突合せ(SAS-Compare)
(数値)

対象帳票のProc compareをマクロしたSASプログラムを作成

上記プログラムを[1:],[2:]と同様にbatファイルで実行

SASバッチサブミットを書いたbatファイル[compare.bat]を作成

“[SAS install path]\sas.exe” –config “[SAS install path]\nls\xx\sasv9.cfg” “[SAS program path]\compare.sas”


# Page. 14

![Page Image](https://bcdn.docswell.com/page/4EM2NP33EW.jpg)

４：解析結果 を突合せ(Word比較)
(体裁)

解析結果帳票をWordの比較機能で差分を洗い出すVBSを作成

比較結果を.DOCX形式で出力

vbsファイル[rtf_compare.vbs]を作成

RTFではなく、docxなのでWordのスペルチェックが働いて助かることも

(下記例のRandoimzationはスペルミスのため赤波線になっている)


# Page. 15

![Page Image](https://bcdn.docswell.com/page/PERMD1QR79.jpg)

５：目視確認のためPDF化

解析結果帳票(rtf)をPDF化するVBSを作成

Wordだと罫線やTitleの確認がし辛く、(動作が重いので)気軽に開けない点ため目視確認用

vbsファイル[rtf2pdf.vbs]を作成


# Page. 16

![Page Image](https://bcdn.docswell.com/page/P7XV1Y5YJX.jpg)

作成したものを.batで呼び出し実行

[1.], [2.], [3.], [4.], [5.]で作成したbat, vbsを連続で実行するだけ


# Page. 17

![Page Image](https://bcdn.docswell.com/page/37KQ23647D.jpg)

結果と課題


結果

目的である「取り敢えず端から端まで実行」は達成できた

昼休みや会議前にワンポチするだけで一通り実行できるので、「ドキュメントにかける時間」と「解析
結果の確認にかける時間」を分離でき、ストレスはなくなった。
課題

それぞれ独立した形にし、バッチは中身が分からなくても実行できるように自動生成用のプログラムを
作ったが、そもそも社内でこういったことに取り組む人がいないので利用者が一人になりそう

途中でズッコケてた場合のダメージが上昇した

VBSはサポートアウトになるため、別のツールに逃げる必要がある


# Page. 18

![Page Image](https://bcdn.docswell.com/page/LJ3P4G6D75.jpg)

以上

ご清聴ありがとうございました。


