MS-Excel への 掃 きだし (DDE 編 ) SAS データセット 名 dum の 変 数 X1 X2 X3 X4 を TEST.xls の Sheet1 の 4 行 4 列 か ら 4 行 5 列 と Sheet2 の 4 行 6 列 から 4 行 7 列 に 掃 きだす 場 合 下 記



Similar documents
以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

01_07_01 データのインポート_エクスポート_1

研究者情報データベース

文科省様式3-2集計オプションマニュアル

データ構造の作成 一時 SAS データセットと永久 SAS データセットの作成 テキストファイルから SAS データセットを作成するための DATA ステップの使用例 : Data NewData; Infile "path.rawdata"; Input <pointer-control> var

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 15ページに 汎 用 データ 受 入 に 関 する よくあるお 問 い 合 わせをご 紹 介 しています Step1 (


ボタンをクリックします ( 警 告 が 表 示 されない 場 合 もあります ) 9 画 面 に Win SFX32M V と 表 示 されますので 保 存 する 箇 所 を 選 択 し OK をクリックしてください 選 択 した 箇 所 にインストールしたフォルダが 保 存 され

DN6(R04).vin

1. アクセスする 2. 簡 易 検 索 画 面 (fig. 1) アクセスすると 最 初 に 出 る 画 面 です 検 索 語 入 力 ボックスにキーワードを 入 力 して 論 文 検 索 ボタンをクリックし ます 3. ボックス 下 部 のチェック 項

Proc luaを初めて使ってみた -SASでの処理を条件に応じて変える- 淺井友紀 ( エイツーヘルスケア株式会社 ) I tried PROC LUA for the first time Tomoki Asai A2 Healthcare Corporation

libref libref libref

スライド 1

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について EXCEL 一 括 登 録 EXCEL ダウンロード 検 索 条 件 の 指 定 プレビュー EXCEL ダウンロード(データ 抽 出 あ

Microsoft Word - 操作マニュアル(石油コンビナート_オフラインソフト編)_v0.2.doc


目 次 1. 論 理 関 数 IF IF の 概 要 論 理 式 の 種 類 等 号 不 等 号 具 体 的 な 使 い 方 ネスト 複 数 の 条 件 を 記 述...

別冊資料-11

返還同意書作成支援 操作説明書

Thunderbird のメール/設定を別PCへ移行する方法(「MozBackup」を使って)

Outlook Express, Windows Mail / Outlook のアドレス 帳 からエクスポートした CSV ファイルを Active! mail にインポートする 場 合 勤 務 先 の 番 地 / 番 地 ( 会 社 )が 複 数 行 入 力 されているとインポート 時 に 改

Microsoft Word - word_05.docx

R4財務対応障害一覧

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

計算式の取り扱い

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

Microsoft PowerPoint - c3_op-manual.pdf

PATENTBOY/Netバージョンアップ説明書(Ver.1.92)

今 月 の 末 日 =DATE(YEAR(TODAY()),MONTH(TODAY())+1,0) 月 を +1 し 日 を 0 にします 来 年 の 元 日 =DATE(YEAR(TODAY())+1,1,1) 生 年 月 日 など 期 日 を 指 定 して 開 始 日 や 終 了 日 を 求 め

(Microsoft Word - \203G\203N\203V\201[\203h.docx)

HDC-EDI BaseのAny変換における閏年の取り扱いに関する重要なお知らせ

CENTNET 導 入 の 手 引 き 変 更 履 歴 No. 変 更 日 変 更 番 号 変 更 枚 数 備 考 /07/ 版 発 行 - システムリプレースにより 全 面 刷 新 //07/ 版 発 行 3 誤 字 等 の 修 正 /

2.3 本学でよく使う基本ツール

5-2 一 般 ユーザー 用 :メール 2 送 信 者 のリンクをクリックすると 受 信 メールの 内 容 を 見 ることができます 受 信 メール 内 容 画 面 項 目 送 信 者 宛 先 CC 本 文 (テキスト) 本 文 (HTML) メールアドレスのリンクをクリックするとアドレス 帳 へ

目 次 1.はじめに 1-1. はじめに 2. 操 作 2-1. 概 要 2-2. 操 作 方 法 ( 調 査 依 頼 の 確 認 ) 2-3. 操 作 方 法 ( 回 答 登 録 ) 2-4. 操 作 方 法 (ワークシート 出 力 ) 2-5. 操 作 方 法 (ワークシート 取 込 ) 3.

3 4 2

<4D F736F F D B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

もくじ 0.はじめに 1 1. 用 紙 をスキャナで 用 紙 を 読 み 込 む 1 2. 書 式 定 義 マークした 部 分 を 個 々のデータとして 取 り 込 む 場 合 ( 複 数 回 答 対 応 ) マークした 部 分 をグループ 化 して 取 り 込 む 場 合

5-2.操作説明書(支店連携)_xlsx

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

WEBメールシステム 操作手順書

購買ポータルサイトyOASIS簡易説明書 b

かんたんQR

< 現 在 の 我 が 国 D&O 保 険 の 基 本 的 な 設 計 (イメージ)> < 一 般 的 な 補 償 の 範 囲 の 概 要 > 請 求 の 形 態 会 社 の 役 員 会 社 による 請 求 に 対 する 損 免 責 事 由 の 場 合 に 害 賠 償 請 求 は 補 償 されず(

マスタの 登 録 処 理 月 の 登 録 勤 怠 管 理 対 象 となる 処 理 月 を 設 定 します 1つのエクセルのファイル(ブック)で1ヵ 月 分 の 勤 怠 管 理 ができます 初 めてご 使 用 になる 場 合! 本 エクセルを 初 めてご 使 用 になる 場 合 は 処 理 月 を 設

K-REE Access販売管理 フォーム定義書

Transcription:

目 次 注 SAS8.2 SAS9.1.3 を 想 定 して 作 成......1 MS-Excel への 掃 きだし (DDE 編 )......2 MS-Excel への 掃 きだし (export 編 ).........2 フォーマットを SAS データセットから 取 り 込 む......5 出 力 にヘッダー ヘッダー フッター フッターを 付 ける.........5 改 行 コード 除 去......5 変 数 var1 から 改 行 コード 除 去......5 変 数 var1 から 改 行 コード 除 去......5 pdf ファイルへの 出 力......6 html ファイルへの 出 力......6 word ファイルへの 出 力......6 SAS のアウトプットウインド アウトプットウインドへの 出 力 停 止......6 SAS 日 付 値......7 年 月 日 フォーマット ( 例 format date yymmdds.;)......7 時 間 フォーマット......7 日 時 フォーマット......7 年 齢 の 計 算......7 CSV ファイルへの 出 力......8 CSV ファイルの 読 み 込 み......8 永 久 SAS データセット......11 複 数 SAS ファイルを 連 続 してサブミット サブミットする......11 フォルダのお 掃 除......11 注 SAS8.2 SAS9.1.3 を 想 定 して 作 成

MS-Excel への 掃 きだし (DDE 編 ) SAS データセット 名 dum の 変 数 X1 X2 X3 X4 を TEST.xls の Sheet1 の 4 行 4 列 か ら 4 行 5 列 と Sheet2 の 4 行 6 列 から 4 行 7 列 に 掃 きだす 場 合 下 記 のように 記 述 する x "'TEST.xls'";*EXCEL 起 動 ; filename XXX1 dde "excel [TEST.xls]sheet1!R4C4:R4C5" ; * 出 力 場 所 1; filename XXX2 dde "excel [TEST.xls]sheet2!R4C6:R4C7" ; * 出 力 場 所 2; *データ 出 力 1; data _null_; set dum; file XXX1 dlm='09'x notab dsd lrecl=1000; put X1 X2; *データ 出 力 2; data _null_; set dum; file XXX2 dlm='09'x notab dsd lrecl=1000; put X3 X4; 手 動 で TEST.xls を 開 いておけば x "'TEST.xls'"; は 不 用 ちなみに x "start excel"; とすると 新 規 excel を 起 動 する filename のあとの X と file のあとの XXX1 や XXX2 は 名 前 が 同 じであればなんでもよい '09'X は TAB キーを 意 味 する(WINDOWS) PUT X1 X2; PUT X2 X3; とした 場 合 以 下 のように 改 行 される 列 1 列 2 行 1 X1 X2 行 2 X3 X4 掃 き 出 すデータが 多 い 時 には lrecl=1000 を 変 える 1~1,048,576(1MB) 範 囲 の 指 定 R4C2:R7C3 は R1C1 参 照 形 式 を 使 用 できる EXCEL のメニューの ツール オ プション 全 般 タブの R1C1 参 照 形 式 を 使 用 する にチェックを 入 れると EXCEL で R1C1 形 式 表 示 されるようになる MS-Excel への 掃 きだし (export 編 ) ライブラリ sam の SAS データセット dum を c:\test.xls のシート test に 掃 きだす 場 合 下 記 のように 記 述 する PROC EXPORT DATA= sam.dum DBMS=Excel FILE='c:\test.xls' REPLACE; SHEET= test ; DBMS=Excel とすると Excel 97 2000 2002 対 応 で 出 力 REPLACE をつけると 上 書 き 出 力 既 に c:\test.xls が 存 在 している 場 合 に REPLACE をつけないと 掃 きだしが 取 り 消 される NEWFILE=YES; とすると c:\test.xls を 新 規 作 成 して 出 力 する NO だと 上 書 き 出 力 c:\test.xls は 閉 じておく セルの 表 示 形 式 が 標 準 のため 小 数 点 以 下 9 桁 までしか 表 示 されないので 注 意

MS-Excel Excelからの 取 り 込 み(DDE 利 用 ) TEST.xls の Sheet1 の 4 行 4 列 から 4 行 5 列 をライブラリ sam の SAS データセット dum に 取 り 込 む 場 合 下 記 のように 記 述 する filename X dde "excel [TEST.xls]sheet1!R4C4:R4C5"; data sam.dum; infile X notab dlm='09'x dsd missover; informat 変 数 X1 (フォーマット 名 1) ( 変 数 Xn) (フォーマット 名 n); input 変 数 X1 変 数 Xn; length 変 数 X1 変 数 長 1 変 数 Xn 変 数 長 n; missover オプションを 指 定 すると 該 当 ファイルのレコードを 読 み 込 む 際 全 ての 変 数 を 読 み 込 む 前 にレコードが 終 端 に 来 た 場 合 に 残 りの 変 数 を 欠 損 値 として 扱 う 変 数 長 は 文 字 型 の 場 合 は $1000 のように$つきで 指 定 する MS-Excel Excelからの 取 り 込 み(libname 利 用 ) ライブラリ sam に c:\test.xls を SAS データセットとして 取 り 込 む Libname sam c:\test.xls ; V9 であれば 可 能 MS-Excel Excelからの 取 り 込 み(Import (Importプロシジャ プロシジャ) c:\test.xls の Sheet1 の 4 行 4 列 から 10 行 11 列 をライブラリ sam の SAS データセッ ト dum に 取 り 込 む 場 合 下 記 のように 記 述 する PROC IMPORT DBMS=EXCEL OUT= sam.dum DATAFILE= "c:\test.xls" REPLACE ; VERSION='2002'; SHEET="sheet1"; GETNAMES=YES; SCANTEXT=YES; USEDATE=YES; SCANTIME=YES; DBSASLABEL=NONE; TEXTSIZE=512; MIXED=YES VERSION='2002'; Excel のバージョンを 指 定 97 2000 2002 SHEET="sheet1"; 取 り 込 むシート 名 を 指 定 代 わりに range='sheet1$a12:g23'; とすると sheet1 の 12 行 1 列 から 23 行 7 列 を 取 り 込 む GETNAMES=YES; EXCEL の 最 初 の 行 の 値 を SAS データの 列 の 変 数 名 とする SCANTEXT=YES; EXCEL の 全 行 をチェックして SAS データセットの 各 変 数 の 桁 数 を 決 定 する USEDATE=YES; 日 付 時 間 の 列 に DATE フォーマットをあてる SCANTIME=YES; 時 間 の 列 をチェックし 特 定 する DBSASLABEL=NONE; SAS データセットに 自 動 的 にラベルをつけない TEXTSIZE=512; テキストの 最 大 桁 数 1 から 32767 MIXED=YES 数 字 とテキストが 混 合 することを 考 慮 する

フォーマットの 基 本 数 値 型 フォーマット 作 成 例 1 PROC FORMAT; value cat_effa 0=' 影 響 はなかった' 1=' 少 し 影 響 した' 2=' 影 響 した' 3='かなり 影 響 した'; 数 値 型 フォーマット 作 成 例 2 PROC FORMAT; value cat_effb Low-<10=1 10-20=2 2-30=3 30<-High=4; 文 字 型 フォーマット 作 成 例 PROC FORMAT; value $cat_effc 0 =' 影 響 はなかった' 1 =' 少 し 影 響 した' 2 =' 影 響 した' 3 ='かなり 影 響 した'; 変 数 var にフォーマット cat_effa をあてる 例 data Y; set X; format var cat_effa. ; あてたフォーマットを 外 す 例 data Y; set X; format code ; frec プロシジャや by ステートメント class ステートメントはフォーマット 後 の 値 を 参 照 す るため 例 えば cat_effb でフォーマットし 層 別 解 析 を 行 なうことも 可 能 ただし means プ ロシジャはフォーマット 前 の 値 を 参 照 している

フォーマット 内 容 の 確 認 ライブラリ sam のフォーマットを 確 認 PROC FORMAT LIB=sam FMTLIB; ライブラリ sam のフォーマット 一 覧 をライブラリ sam の SAS データセット fom に 出 力 PROC FORMAT LIB=sam CNTLOUT=sam.fom; フォーマットを SAS データセットから 取 り 込 む ライブラリ sam の sas ファイル form の 内 容 をフォーマットとして 取 り 込 む PROC FORMAT CNTLIN=sam.form; 最 低 限 FMTNAME (フォーマット 名 ) START ( 値 ) LABEL (フォーマットのラベル) の 3 変 数 が 必 須 必 要 に 応 じて END ( START と 併 せて 数 値 の 範 囲 を 書 く)を 使 う 変 数 TYPE を C としておくと 文 字 型 変 数 となる CNTLOUT オプションを 使 って 作 られたデータセットを 見 ると 設 定 できる 変 数 が 分 かる 出 力 にヘッダー ヘッダー フッター フッターを 付 ける アウトプットにヘッダー フッターをつける 場 合 ヘッダーは TITLE フッターは FOOTNOTE が 対 応 している TITLE ヘッダー ; FOOTNOTE フッター ; 複 数 行 にわたって 書 きたい 時 は TITLE1 ヘッダー ; TITLE2 ヘッダー2 行 目 ; TITLE1 から TITLE10 まで 可 能 TITLE1 の 次 に TITLE 3 を 書 いた 場 合 1 行 空 く 逆 に 設 定 し た 後 で 外 す 場 合 は 以 下 のようにする TITLE; FOOTNOTE; 仮 に TITLE1,2 を 設 定 したとしても その 後 TITLE1 を 設 定 すればそれまでの TITLE1,2 は 書 き 換 えられる 改 行 コード 除 去 変 数 var1 から 改 行 コード 除 去 var1 =COMPRESS(var1,'0A'X '0D'X); 改 行 コードを 全 角 空 白 に 置 き 換 え 変 数 var1 から 改 行 コード 除 去 var1=tranwrd(var1,'0a'x," "); var1=tranwrd(var1,'0d'x," ");

pdf ファイルへの 出 力 ods pdf file="c:\dummy.pdf"; *pdf ファイルへの 出 力 開 始 ; * 挟 まれた 部 分 のアウトプットが PDF ファイルに 出 力 される; ods pdf close; *pdf ファイルへの 出 力 終 了 ; html ファイルへの 出 力 ods html file="c:\dummy.html"; *html ファイルへの 出 力 開 始 ; * 挟 まれた 部 分 のアウトプットが html ファイルに 出 力 される; ods html close; *html ファイルへの 出 力 終 了 ; word ファイルへの 出 力 ods rtf file="c:\dummy.doc"; *word ファイルへの 出 力 開 始 ; * 挟 まれた 部 分 のアウトプットが word ファイルに 出 力 される; ods rtf close; *word ファイルへの 出 力 終 了 ; SAS のアウトプット アウトプットウインド ウインドへの 出 力 停 止 ods noresults; *アウトプットウインドへの 出 力 停 止 ; ods results; *アウトプットウインドへの 出 力 再 開 ; プログラムの 自 動 起 動 X コマンドが 利 用 可 能 OPTIONS NOXWAIT NOXSYNC; X "start excel"; OPTIONS NOXWAIT NOXSYNC; には 次 のオプションを 指 定 可 能 xwait X コマンドで SAS システムから 制 御 した 後 再 度 SAS システムに 戻 るには exit を 入 力 する noxwait X コマ ンドで SAS システムから 制 御 した 後 自 動 的 に 再 度 SAS システムに 戻 る xsync X コマン ドで 開 始 した 処 理 が 終 了 するまで SAS システムに 戻 らない noxsync X コマンドで 開 始 した 処 理 の 終 了 を 待 たずに SAS システムに 戻 る これを 使 う 場 合 は EXCEL を 起 動 してシートにデータを 出 力 した 後 で ファイル 名 を 指 定 してセ ーブする 必 要 がある 名 前 をつけて 保 存 し 閉 じる 命 令 もある ちなみに X "start notepad"; なら メモ 帳 が 起 動 X start excel "c:\test.xls" ; なら D:\aa aa\dummy.xls を MS-Excel で 開 く

SAS 日 付 値 *datetime sas 日 時 値 date sas 日 付 値 (date は DATEPART(datetime)と 同 じ) DATE() 現 在 の 年 月 日 を SAS 日 付 値 で 返 す DATEPART(datetime) SAS 日 時 値 の 日 付 部 分 を SAS 日 付 値 で 返 す DATETIME() 現 在 の 日 時 を SAS 日 時 値 として 返 す DAY(date) SAS 日 付 値 ( 年 月 日 )から 日 にちを 返 す DHMS(date,hour,minute,second) 指 定 した sas 日 時 値 を 返 す(date は sas 日 付 値 ) HMS(hour,minute,second) 指 定 した sas 時 間 値 を 返 す HOUR(datetime) SAS 日 時 値 の 時 間 部 分 を 返 す INTCK( interval,date1,date2) date1 から date2 の 間 に interval(year や month や day 等 )が 何 回 変 わるかを 返 す INTNX( interval,date,n) sas 日 付 値 date の interval(year や month や day 等 )を n だけ 増 減 させた sas 日 付 値 を 返 す * 注 07/07/07-(month+1) 07/08/01 07/07/07-(year+1) 08/01/01 INTNX(interval,date,n, sameday ) interval(year や month) 以 外 は 変 わらない MDY(month,day,year) 指 定 した sas 日 付 値 を 返 す MINUTE(datetime) SAS 日 時 値 の 分 を 返 す MONTH(date) SAS 日 付 値 の 月 を 返 す SECOND(datetime) SAS 日 時 値 の 秒 を 返 す TIME() 現 在 の 時 間 を SAS 時 間 値 で 返 す TIMEPART(datetime) SAS 日 時 値 の 時 間 部 分 を SAS 時 間 値 で 返 す WEEKDAY(date) sas 日 付 値 の 曜 日 を 返 す * 注 1 が 日 曜 日 ~7 が 土 曜 日 を 表 す downame または jdatewk でフォーマットすると 曜 日 表 記 になる year(date) SAS 日 付 値 の 年 を 返 す 年 月 日 フォーマット ( 例 format date yymmdds.;) yymmdds 07/08/16 date 16AUG07 ddmmyy 16/08/07 jdateydw 07 年 8 月 16 日 jdateymd 07 年 8 月 16 日 jnengo 平 成 19 年 8 月 16 日 jnengow 平 成 19 年 8 月 16 日 mmddyy 08/16/07 nengo H.19/08/16 nldate 2007 年 08 月 16 日 nldatew 07 年 08 月 16 日 木 weekdate Thursday, August 16, 2007 weekdatx Thursday, 16 August 2007 worddate August 16, 2007 worddatx 16 August 2007 year 2007 yymmdd 07-08-16 17422 (yymmddb10.) 2007 09 13 (yymmddc10.) 2007:09:13 (yymmddd10.) 2007-09-13 (yymmddn10.) 20070913 (yymmddp10.) 2007.09.13 (yymmdds10.) 2007/09/13 時 間 フォーマット hhmm 4:50 hour 17 jtimeh 17 時 jtimehm 17 時 10 分 jtimehms 17 時 10 分 02 秒 jtimehw 17 時 jtimemw 17 時 10 分 jtimesw 17 時 10 分 02 秒 nldatmtm 17 時 10 分 02 秒 nltimap 5:10:02 PM nltime 17 時 10 分 02 秒 time 17:10:02 日 時 フォーマット datetime 16AUG07:17:23:20 jdateyt 07 年 8 月 16 日 17 時 23 分 jdateytw 07 年 8 月 16 日 17 時 23 分 jnengot 平 成 19 年 8 月 16 日 17 時 23 分 jnengotw 平 成 19 年 8 月 16 日 17 時 23 分 nldatm 2007 年 08 月 16 日 17 時 23 分 19 秒 nldatmap 2007 年 08 月 16 日 午 後 05 時 23 分 19 秒 年 齢 の 計 算 birth 誕 生 日 の SAS 日 付 値 current 年 齢 を 計 算 する 日 ( 同 意 取 得 日 等 )の sas 日 付 値 age=intck('year', birth, current); if (month(current) < month(birth)) then age=age - 1; else if (month(current) = month(birth)) and day(current) < day(birth) then age=age - 1;

CSV ファイルへの 出 力 WORK ライブラリの SAS データセット data を dummy.csv で 出 力 する PROC EXPORT DATA= work.data OUTFILE= "c:\dummy.csv" DBMS=CSV REPLACE; DATA オプション 変 換 元 の SAS データセットを ライブラリ 参 照 名.データセット 名 形 式 で 指 定 OUTFILE オプション 出 力 する CSV ファイルのパスとファイル 名 を 指 定 する DBMS オプション CSV ファイルの 場 合 は CSV を 指 定 する REPLACE オプション 出 力 CSV ファイルが 存 在 したら 置 き 換 えを 行 なう 場 合 に 指 定 する CSVファイル ファイルの 読 み 込 み PROC IMPORT OUT= Work.data DATAFILE=" c:\dummy.csv " DBMS=CSV REPLACE; GETNAMES=YES; DATAROW=2; GUESSINGROWS=500; OUT オプション 出 力 する SAS データセットを ライブラリ 参 照 名.データセット 名 形 式 で 指 定 DATAFILE オプション 入 力 する CSV ファイルのパスとファイル 名 を 指 定 する DBMS オプション CSV ファイルの 場 合 は CSV を 指 定 する REPLACE オプション 出 力 データセットが 存 在 したら 置 き 換 えを 行 なう 場 合 に 指 定 する GETNAMES ステートメント 先 頭 行 を 変 数 名 として 使 う 場 合 は YES を 指 定 する DATAROW ステートメント データの 開 始 行 を 指 定 する GUESSINGROWS オプション 先 頭 から 指 定 行 までのデータを 事 前 に 読 み 込 み データの 判 定 を 行 なわ せる デフォルトは 20 この 値 を 増 やすことで 21 行 目 以 降 に 最 大 長 のデータが 存 在 する 場 合 の 文 字 切 れを 回 避 する 最 大 は 32767 であるが 増 やすと 読 み 込 みが 遅 くなる

SASデータセット データセットの 加 工 ( 元 データ) data ccc; input item X Y; datalines; 1 1 2 2.. 3 4 5 ; ( 加 工 例 1) data ccc1;set ccc; t="x"; h=x;it=item;output; t="y"; h=y;it=item;output; drop x y item; ( 出 力 ) t h it X 1 1 Y 2 1 X. 2 Y. 2 X 4 3 Y 5 3 ( 加 工 例 2) proc transpose data=ccc out=ccc2; ( 出 力 ) 前 の 変 数 名 COL1 COL2 COL3 item 1 2 3 X 1. 4 Y 2. 5 ( 加 工 例 3) data ccc31 ccc32 ccc33;set ccc1; if it=1 then output ccc31; if it=2 then output ccc32; if it=3 then output ccc33; drop it; data ccc3; merge ccc31(rename=(h=t1)) ccc32(rename=(h=t2)) ccc33(rename=(h=t3)); by t; ( 出 力 ) t T1 T2 T3 X 1. 4 Y 2. 5

( 元 データ) data ccc5; input no group id count; datalines; 1 1 1 11 2 1 2 12 3 2 2 13 ; ( 加 工 例 4) proc transpose data=ccc5 out=ccc6(drop=_name_) ; var count; by group; ( 出 力 ) group COL1 COL2 1 11 12 2 13. 注 出 力 結 果 意 図 しないものになっている 加 工 例 5のように id を 指 定 する ( 加 工 例 5) proc transpose data=ccc5 out=ccc7(drop=_name_) ; var count; by group; id id; ( 出 力 ) group COL1 COL2 1 11 12 2. 13

永 久 SASデータセット libname test 'c:\test'; data test.dummy; set work. dummy; *1 行 目 は test という 永 久 SAS データセットの 保 存 先 を 指 定 している このフォルダは 事 前 に 作 成 しておく 必 要 有 り *2 行 目 以 降 で work の SAS データセット dummy を ensyu に 保 存 している proc copy in=work out=dum1; select data1; ライブラリ WORK の SAS データセット data1 をライブラリ DUM1 にコピーする Select ステートメントをつけない 場 合 はライブラリ WORK の SAS データセットをフォーマットファイル ごと 全 部 コピーする 複 数 SASファイル ファイルを 連 続 してサブミット サブミットする FILENAME saspgm 'c:\test'; %INCLUDE saspgm( "test1.sas" "test2.sas" "test3.sas") / SOURCE2; * 一 行 目 は sas ファイルがあるフォルダを 指 定 している ; フォルダのお 掃 除 ライブラリ sam のデータを 全 削 除 proc datasets lib=sam kill ; データセットのコンペア 作 成 したデータセットの 比 較 (DUM1 に 基 準 DUM2 にもう 一 人 が 作 成 したものがあるとする) libname DUM1 'c:\dataset\da1'; libname DUM2 'c:\dataset\da2'; OPTIONS FMTSEARCH=(DUM1 DUM2) NOFMTERR; %macro comp(files); proc compare data=dum1.&files comp=dum2.&files allobs; %mend; %comp(dummy1 ); %comp(dummy2 ); %comp(dummy3 ); フォーマットをはずしてコンペアしたほうが 差 異 が 見 やすいかも フォーマットの 一 致 はformatプロシジャでフォーマット 一 覧 をSASデータセットに 出 力 したもの 同 士 をコンペアするのも1つの 方 法