こんにちは。CData Software Japan リードエンジニアの杉本です!
先日のプレスリリースでCData Driver V20が公開され、様々な Driver の機能アップデートを皆様にお伝えしました。
その中でもかなり機能が強化されているんではないか!? と個人的に思うのが、実は CSV Driverのアップデートです。
https://www.cdata.com/jp/drivers/csv/
CSV Driverは、以前もAmazon S3やGoogle Driveなどに配置されているCSVの読み取りをサポートしたりと次々に新機能を打ち出していていましたが、今回のV20アップデートでも強力な新機能が追加されましたので、このBlogで紹介していきたいと思います。
新機能:AggregateFiles
今までCData CSV DriverはそれぞれのCSVファイルを独立して、テーブル化し、クエリするという方法でCSVデータへのアクセス方法を提供してきました。
しかしながら、大量のCSVを扱う必要がある場合、同じフォーマットでもCSVファイルが独立して生成されているというシチュエーションもよくあると思います。
イメージとしては、以下のようにCSVファイルが一つのフォルダに複数存在し
それぞれのフォーマット、カラム構成が同じだけれども、データは異なるシチュエーションですね。
そんな時に、この「AggregateFiles」を使うことでデータをまとめてクエリできるようになります。
通常のCSVデータアクセスの場合
「AggregateFiles」を使う前に、CData CSV Driverのデフォルト設定ではどのようにアクセスできるのか、見てみましょう。
先程のフォルダ・ファイル構成のサンプルデータを以下のように作成し
CData CSV Driverの「URI」のプロパティに対象のフォルダパスを指定します。
そして、例えばPower BIなどでこのCSV Driverの接続情報にアクセスすると、以下のようにファイルごとにテーブルが構成されて、アクセスできるようになります。
もちろん、CSVファイルがそれぞれ独立したフォーマットの場合は、この機能が要件を満たします。
「Aggregate Files」プロパティを使った場合
それでは「Aggregate Files」プロパティを使った場合、どのようにテーブルが構成されるのか見てみましょう。
サンプルとなるフォルダ・ファイルは先程のものと同様に構成しました。
CData Driverの接続設定は「URI」のプロパティにフォルダパスを含めるまでは同じですが、併せて「Aggregate Files」プロパティを「True」に設定します。
そして、この接続設定でPowerBIからアクセスしてみると、「AggregateFiles」というテーブルが一つだけ構成されます。
そして、以下のように3つ存在したファイルのデータがマージされて、一つのデータとして扱うことができるようになりました。
おわりに
今回は「Aggregate Files」プロパティを紹介しましたが、他にもこのプロパティと組み合わせて便利になる機能が追加されています。
次回はサブフォルダーアクセスのプロパティを紹介したいと思います。