CData Software Blog

クラウド連携のCData Software の技術ブログです。

サブフォルダーのCSVまでまとめてクエリする機能「Include Subdirectories」のサポート:CData CSV Driver V20 Update その2

f:id:sugimomoto:20200916102800p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

前回の記事で複数のCSVファイルをまとめてクエリできる新機能「AggregateFiles」を紹介しました。

www.cdatablog.jp

今回は、サブフォルダーまでまとめて読み取ることができる新しいプロパティ「Include Subdirectories」を紹介します。

「Include Subdirectories」の使い方

通常、CData CSV DriverはURIに指定したフォルダに存在するCSVファイルのみをクエリの対象として読み取ります。

f:id:sugimomoto:20200916102807p:plain

しかしながら、例えば日付ごとでフォルダを区切っていたり、顧客ごとで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

設定は以下のように行います。

  • URI:対象のディレクトリ:C:\Work\SampleData\CSV\AggregateFilesForSubFolders
  • Include Subdirectories:True

f:id:sugimomoto:20200916102814p:plain

この設定でPower BIなどからアクセスすると、以下のようにサブフォルダーに存在するCSVも含めて、それぞれテーブルとしてアクセスができるようになります。

テーブル名にサブフォルダー名が付いているのがわかりますね。

f:id:sugimomoto:20200916102823p:plain

「Include Subdirectories」と「AggregateFiles」との併用

この「Include Subdirectories」プロパティは、前回の記事 で紹介した「AggregateFiles」と併用することが可能です。

同じフォーマットのファイルが各サブフォルダーに格納されている場合に利用できます。

  • URI:対象のディレクトリ:C:\Work\SampleData\CSV\AggregateFilesForSubFolders
  • Include Subdirectories:True
  • AggregateFiles:True

f:id:sugimomoto:20200916102829p:plain

これでODBCにアクセスしてみると「AggregatedFiles」という一つのテーブルにまとまり、それぞれのサブフォルダーに配置されていたCSVファイルがマージされて参照できるようになります。

f:id:sugimomoto:20200916102835p:plain

CSVのフォーマットやユースケースに応じて、使い分けてみてください。

おわりに

次回はZIPファイルの中に存在するCSVファイルの読み取り機能を紹介します!