【課題】
以下の内容を満たすタスクを作成してみましょう。
■1. 事前準備
A. 本内容では、Excelを使用します。
ローカルでExcelファイルを開くことのできる環境が必要です。
B. 本内容では、ODBCを使用してExcelに対してSQL文を発行します。
事前にドライバーのセットアップが必要になります。下記の記事を参照してセットアップを行います。
CSVファイルをデータベースに見立ててSQL文でデータ抽出したい
必要なファイルは以下のダウンロードサイトからダウンロードしてください。
https://www.sct.co.jp/download/automate/Sample_Task/00013895/00013895.zip
■2. 内容
--------------------------------------------------------------------------------------------------
zipファイルを解凍すると、以下の2種のExcelファイルが解凍されます。
・AMORDERHEAD.xlsx
・AMORDERDETAIL.xlsx
これらのファイルについて、以下のような操作をします。
1. SQL文を使用し、2ファイルを結合した結果を取得
2. 1を新規CSVファイルに書き込み(Excelファイルが書き出し先だと文字化けの対処などがあり複雑化するため、今回はCSVファイルを書き出し先とします)
成果物として、下記のような結果が得られれば良いものとします。
※CSVファイルをExcelで開くと0が消えたり数字が正規化されたりするので、テキストエディタで開きます。
※引用符は必ずしもついている必要はありません。
--------------------------------------------------------------------------------------------------
■3. 処理を作成する上での禁則事項
・Excelのデータをデータセット化してループする方法は禁止とします
・SQLを使用しない方法は禁止とします
■4.ヒント
ヒントを見る際は、クリックで展開してください。
ヒント1
「orderId」列が共通の列です。
ここをキーとして結合すればSQL文1回で取得可能です。
ヒント2
Excelからselectする際は、「`ファイル名(フルパス)`.`シート名$`」の形式でファイルを指定します。
シート名の後ろの「$」は省略できません。
ヒント3
テーブル(ファイル)の指定方法さえ問題が無ければ、そのほかは一般的なSQLと手順は変わりません。
■5. 処理作成において参考となるページ
ExcelからデータをSQLを使用して抽出するサンプル
■6. 解説及び構築例
以下のページをご参照ください。
https://automate.sct.co.jp/knowledge/13897/