こんにちは。CData Software Japan リードエンジニアの杉本です。
前回の記事で複数のCSVファイルをまとめてクエリできる新機能「AggregateFiles」を紹介しました。
今回は、サブフォルダーまでまとめて読み取ることができる新しいプロパティ「Include Subdirectories」を紹介します。
「Include Subdirectories」の使い方
通常、CData CSV DriverはURIに指定したフォルダに存在するCSVファイルのみをクエリの対象として読み取ります。
しかしながら、例えば日付ごとでフォルダを区切っていたり、顧客ごとでCSVファイルを区切っていたりというフォルダ構成を行っている人も少なくないのではないでしょうか?
そんな時にこの「Include Subdirectories」を使うと、対象フォルダの配下に存在するCSVファイルまでクエリすることができるようになります。
例えば以下のようにフォルダとCSVファイルが構成されている場合
C:\Work\SampleData\CSV\AggregateFilesForSubFolders │ personal_infomation_1.csv │ ├─SubFolder1 │ personal_infomation_1.csv │ ├─SubFolder2 │ personal_infomation_2.csv │ └─SubFolder3 personal_infomation_3.csv
設定は以下のように行います。
この設定でPower BIなどからアクセスすると、以下のようにサブフォルダーに存在するCSVも含めて、それぞれテーブルとしてアクセスができるようになります。
テーブル名にサブフォルダー名が付いているのがわかりますね。
「Include Subdirectories」と「AggregateFiles」との併用
この「Include Subdirectories」プロパティは、前回の記事 で紹介した「AggregateFiles」と併用することが可能です。
同じフォーマットのファイルが各サブフォルダーに格納されている場合に利用できます。
- URI:対象のディレクトリ:C:\Work\SampleData\CSV\AggregateFilesForSubFolders
- Include Subdirectories:True
- AggregateFiles:True
これでODBCにアクセスしてみると「AggregatedFiles」という一つのテーブルにまとまり、それぞれのサブフォルダーに配置されていたCSVファイルがマージされて参照できるようになります。
CSVのフォーマットやユースケースに応じて、使い分けてみてください。
おわりに
次回はZIPファイルの中に存在するCSVファイルの読み取り機能を紹介します!