CData Software Blog

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

複数CSVファイルの集計クエリ機能「AggregateFiles」のサポート:CData CSV Driver V20 Update その1

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

先日のプレスリリースでCData Driver V20が公開され、様々な Driver の機能アップデートを皆様にお伝えしました。

prtimes.jp

その中でもかなり機能が強化されているんではないか!? と個人的に思うのが、実は CSV Driverのアップデートです。

https://www.cdata.com/jp/drivers/csv/

f:id:sugimomoto:20200915104909p:plain

CSV Driverは、以前もAmazon S3Google Driveなどに配置されているCSVの読み取りをサポートしたりと次々に新機能を打ち出していていましたが、今回のV20アップデートでも強力な新機能が追加されましたので、このBlogで紹介していきたいと思います。

新機能:AggregateFiles

今までCData CSV DriverはそれぞれのCSVファイルを独立して、テーブル化し、クエリするという方法でCSVデータへのアクセス方法を提供してきました。

しかしながら、大量のCSVを扱う必要がある場合、同じフォーマットでもCSVファイルが独立して生成されているというシチュエーションもよくあると思います。

イメージとしては、以下のようにCSVファイルが一つのフォルダに複数存在し

f:id:sugimomoto:20200915104916p:plain

それぞれのフォーマット、カラム構成が同じだけれども、データは異なるシチュエーションですね。

f:id:sugimomoto:20200915104921p:plain

そんな時に、この「AggregateFiles」を使うことでデータをまとめてクエリできるようになります。

通常のCSVデータアクセスの場合

「AggregateFiles」を使う前に、CData CSV Driverのデフォルト設定ではどのようにアクセスできるのか、見てみましょう。

先程のフォルダ・ファイル構成のサンプルデータを以下のように作成し

f:id:sugimomoto:20200915104936p:plain

CData CSV Driverの「URI」のプロパティに対象のフォルダパスを指定します。

f:id:sugimomoto:20200915104942p:plain

そして、例えばPower BIなどでこのCSV Driverの接続情報にアクセスすると、以下のようにファイルごとにテーブルが構成されて、アクセスできるようになります。

f:id:sugimomoto:20200915104948p:plain

もちろん、CSVファイルがそれぞれ独立したフォーマットの場合は、この機能が要件を満たします。

「Aggregate Files」プロパティを使った場合

それでは「Aggregate Files」プロパティを使った場合、どのようにテーブルが構成されるのか見てみましょう。

サンプルとなるフォルダ・ファイルは先程のものと同様に構成しました。

f:id:sugimomoto:20200915104955p:plain

CData Driverの接続設定は「URI」のプロパティにフォルダパスを含めるまでは同じですが、併せて「Aggregate Files」プロパティを「True」に設定します。

f:id:sugimomoto:20200915105001p:plain

そして、この接続設定でPowerBIからアクセスしてみると、「AggregateFiles」というテーブルが一つだけ構成されます。

そして、以下のように3つ存在したファイルのデータがマージされて、一つのデータとして扱うことができるようになりました。

f:id:sugimomoto:20200915105007p:plain

おわりに

今回は「Aggregate Files」プロパティを紹介しましたが、他にもこのプロパティと組み合わせて便利になる機能が追加されています。

次回はサブフォルダーアクセスのプロパティを紹介したいと思います。