Microsoft Fabricのビジュアルクエリでは、SQLなどのコードを記述せずにデータベースクエリを作成することができます。
本記事では、ローカル上にある複数のCSVファイルをレイクハウスに格納し、ビジュアルクエリでデータの加工を行い、最終的にグラフ作成まで実施したいと思います。
事前準備
利用するデータ
今回は、自作した「製品データ.csv」と「注文データ.csv」を利用します。
製品データ.csv ※一部抜粋
| 製品ID | 製品名 | カテゴリー | サブカテゴリー | 価格 |
| 201 | ノートパソコン | 電子機器 | コンピューター | 70000 |
| 202 | スマートフォン | 電子機器 | モバイルデバイス | 50000 |
| 203 | プリンター | 電子機器 | 周辺機器 | 10000 |
| 204 | タブレット | 電子機器 | モバイルデバイス | 40000 |
| 205 | オフィスチェア | 家具 | オフィス家具 | 15000 |
注文データ.csv ※一部抜粋
| 注文ID | 顧客ID | 注文日 | 製品ID | 数量 | 合計金額 |
| 1 | 1564 | 2023/1/1 | 203 | 4 | 40000 |
| 2 | 1802 | 2023/1/1 | 203 | 2 | 20000 |
| 3 | 1658 | 2023/1/2 | 228 | 1 | 15000 |
| 4 | 1984 | 2023/1/3 | 248 | 3 | 30000 |
| 5 | 1549 | 2023/1/3 | 206 | 3 | 60000 |
レイクハウスの作成
Synapase Data Engineeringのホーム画面から「レイクハウス」を選択し、「CustomerOrder_Lakehouse」という名前のレイクハウスを作成します。

CSVファイルのアップロード、テーブル化
作成したレイクハウス上で「ファイルのアップロード」をクリックし、「製品データ.csv」と「注文データ.csv」をアップロードします。

次に、アップロードした各CSVファイルのテーブル化を行います。Filesにアップロードした各CSVファイルの右側に表示される「…」 > 「テーブルに読み込む」を順にクリックし、「新しいテーブル」からテーブル名を以下のように入力します。
- 注文データ.csv:order_table
- 製品データ.csv:product_table

作成後、Tablesフォルダーからテーブルのデータを確認することができます。

ビジュアルクエリの利用
今回は、ビジュアルクエリを使い、データのフィルタリング・結合・グループ化を実施します。
ビジュアルクエリの作成
まずは、右上の「Lakehouse」をクリックし、「SQL分析エンドポイント」に切り替えを行います。

SQL分析エンドポイントへの切り替え後、「新規SQLクエリ」 > 「New visual query」を順にクリックし、ビジュアルクエリの作成を行います。

データの追加とフィルタリング
作成した2つのテーブルをドラッグして追加を行います。

データの追加後、order_tableのデータをフィルタリングします。「注文日」の列を選択後、「行の削除」 > 「行のフィルター処理」を順にクリックします。

今回は、2023年1月のデータのみを抽出します。下図のように設定を記載し、「OK」をクリックします。

フィルタリング処理が追加され、2023年1月のデータのみを抽出したテーブルが表示されます。

データの結合
次に、製品IDをキーとして、order_tableとproduct_tableの結合を行います。「結合」 > 「クエリのマージ」を順にクリックします。

下記の内容を設定し、「OK」をクリックします。

結合したテーブルの右側にある記号をクリックし、製品ID以外を選択します。

テーブルの展開が完了し、結合したテーブルが表示されることを確認します。

グループ化
今回は、2023年1月のサブカテゴリー別総売り上げを、グループ化で表示させたいと思います。
サブカテゴリーの列を選択後、「変換」 > 「グループ化」を順にクリックします。

詳細設定として下記の内容を設定し、「OK」をクリックします。

グループ化が完了すると、サブカテゴリーごとの合計金額のテーブルを確認することができます。

ビューの作成
「ビューとして保存」をクリックします。

今回は、ビュー名に「TotalSalesBySubcategory_202301」を設定して、「OK」をクリックします。

作成が完了すると、Viewsからデータを確認することができます。

Power BIでの可視化
ビジュアルクエリで作成したビューなどを利用して、レポート作成を行います。
Reportingタブを選択し、「New report」をクリックして新規レポートを作成します。

今回は、作成したビューを利用して棒グラフと円グラフを作成し、可視化を行いました。

おわりに
今回は、ビジュアルクエリを利用してデータのフィルタリング、加工、グループ化を行いました。
ビジュアルクエリを使うことで、SQLなどのコードを書かずにGUI上でクエリを実施することができます。しかし、機能制限やパフォーマンス面では実際にコーディングする方が向いていることもあるので、使い分けが重要となります。
今後も、Microsoft Fabricについて記事にできればと思います。