🤖

Microsoft Fabricのレイクハウスを用いてTable化する方法(データフロー編)

2025/01/28に公開

0.対象となる読者

Ⅰ.Microsoft Fabricを使いたいと考えている方
Ⅱ.Microsoft Fabricを利用しているが、レイクハウスがどのようなものか、どのような役割をしているかがわからない方
Ⅲ. レイクハウスの使い方や活用の仕方が分からない方
Ⅳ.レイクハウスのFilesやTablesの違いについて理解したい方(まだ理解できてない方)
Ⅴ. レイクハウスのデータを可視化したいと考えている方

そもそもレイクハウスってなに?という疑問を持っている方は自分が書いた以下の記事を参考にしていただけたらと思います。
https://zenn.dev/headwaters/articles/3c567e21563120
「イラストで覚えるデータウェアハウス・レイク・レイクハウス」


1. はじめに

Microsoft Fabricでは、レイクハウスの作成と管理が簡単に行えるツールが提供されています。本記事では、Fabricを利用して実際にレイクハウスを作成し、データの格納から変換までの流れを一通り解説します。

今回のテーマは「レイクハウス」で、「データフローを用いてFileをTable化にする」 というシナリオを中心に説明させていただきたいと思います。

より全般的な概念や具体的な活用の仕方については以下のjemiyaさんが執筆した記事を参考にしてください。
https://zenn.dev/headwaters/articles/31aa1d098209ce
jemiyaさんの「Microsoft Fabric のレイクハウスについて」


2.レイクハウス作成・ファイル格納


レイクハウス構築後の画像
Microsoft Fabricの中でワークスペースを構築し、新しくレイクハウスを作ると上のような画面になります。レイクハウスのスタート画面になります。
今回は 「ExcelファイルをFilesにアップロードして、Table化させる」のが目標なので「ファイルをアップロード」をクリックします。


ファイルアップロード画面
アップロードボタンを押してファイルを選択してアップロードします。
今回この記事でのサンプルファイルはExcelファイルの拡張子ファイルである.xlsxの「Financial Sample」にしています。
.csvなどレイクハウスが対応する他の形式のファイルでも構いません。


ファイルがアップロードされFilesに格納されている状態
アップロードが無事終わっているなら「Files」のフォルダに先程のファイルが表示されます。


Filesのアップロードが反映されない場合には「最新の情報に更新」
Filesにマウスを近づけると右の方に...が表示されますので、「最新の情報に更新」をクリックしてください


しっかりアップロードされているのか中身の確認
アップロードしたファイルを選択すると中身のプレビューすることもできますが、今回のサンプルデータが.xlsx拡張子であるためプレビューできませんでした。
2025年1月時点でプレビューできるものは以下の拡張子になります。
.bmp, .css, .csv, .gif, .html, .jpeg, .jpg, .js, .json, .log, .md, .mjs, .png, .ps1, .py, .sql, .svg, .ts, .tsx, .txt, .xml, .yaml, .yml


よくやってしまうミス
よし!データも入れたし、もうPower BIの方で早く可視化したいな!
と思って セマンティックモデル [1]をクリックしちゃうと


テーブル化させる前のセマンティックモデル作成
あれ?確認ボタンが押せない!
しかも下のところに「全て選択」と表示されているけど、なにも表示されない!という現象が...

その原因はまだデータを構造化していないから です。

つまり、Filesにファイルを入れてるけど、Tablesにテーブルとして変換してない(落としてない)ことが原因 です。

ここでまた以下のような疑問が生じると思います。

  • Q1)データを構造化しないとPower BIで可視化できないの?
    → A1)できます!

    データの変換なくPower BIで可視化も可能
    しかし、セマンティックモデルやデータを直接入力しない限り、ExcelやCSVなど限られたファイルの形式にしか対応していません。今回の場合はたまたまこの記事でのサンプルファイルがExcelの拡張子である.xlsxであったため、構造化の必要性を感じないかもしれませんね。

  • Q2)構造化すると何がいいの?
    → A2)構造化することで以下のようなメリットがあります。
    1.データの整理視覚的な明瞭さ
     → 各列にヘッダーが付き、整然と表示されるため、視覚的に見やすくなる。
    2.データ分析の効率化
     → Power Queryなどの分析ツールと連携しやすくなる。
    3.データの一貫性
     → 各列が特定のデータ型(数値、テキスト、日付など)に適合するようになり、データの一貫性と精度が保たれる。
    つまり、構造化をする理由はデータを効率的に扱うためですね。

  • Q3)そもそもExcelのファイルだし、構造化されてるのでは?
    → A3)Excelファイルは既に構造化されているとも言えますが、データが特定の形式や一貫性を持って入力されていない場合、Excelファイルが完全に構造化されているとは言えません。ユーザーの使い方次第で構造が変わります。(Excelの柔軟性とも言えますが)


3.データフロー(Dataflow Gen2)によるデータの変換

ではファイルを無事格納できたので、データを変換してみましょう。
データの変換にはノートブック(Notebook)やパイプライン(Pipeline)など様々な方法があります。
この記事ではその変換の中、データフロー Gen2(Dataflow Gen2)を用いて変換する方法を紹介します。


データを準備・変換するためのData Factory データフロー(Gen2)
先ずは同じワークスペース内に移動し、データファクトリーのデータフローを選択します。


実は直接データフローから変換させる方法(オレンジ)とレイクハウスに入れて変換する方法(赤)が存在
ここでデータの変換には二つの方法がありまして、

  • オレンジ色の「Excelからインポート」:ファイルを格納せずテーブルにを変換
    → 元のファイルをレイクハウスに格納せず、すぐ変換ができます。が、元の変化前のファイルは保存をしないと格納されてないです。
  • 赤色の「別のソースからデータを取得する」:元のファイルをレイクハウスに格納し、そのファイルを変換する
    → 最終的にレイクハウスには「変換前のファイル」と「変換後のテーブル」が残ります。

つまり、今までの過程は赤色の「元のファイルをレイクハウスに格納し、そのファイルを変換する」ための手順ということになりますね。

では続いてその先の過程について調べてみましょう。


「別のソースからデータを取得する」を選択した場合、先程のファイルを保存したレイクハウスをクリック
今回は元のファイルをレイクハウスに格納してあるので、別のソースからファイルが格納されているレイクハウスを選択します。


ファイルを開き、格納されているデータファイルを選択し、作成
他のものはチェックしないように気きをつけてください。
ファイルのフォルダを開き、格納されているサンプルファイルにチェックし、作成。


データの準備・変換画面
ここでデータのクレンジング[2]や追加・編集・作成などができます。

ここで何故か表が二つ表示されるが、違いとしては

  • 上のはExcelのファイルをそのままにしたもの(列項目の名前がデフォルトのColumnのまま)
  • 下のはExcelの1行目を列項目の名前にしたもの

になります。
どのような表を編集したいか、自分のデータの構造や好みによって選択してください。
もう少し具体的に見てみましょう。


表全体を見るために緑色になっている「Table」をクリック
今回は下の「Excelの1行目を列項目の名前にしたもの」を選択してみます。
その表の詳細を見たい場合には緑色になっている「Table」をクリックします。


先と同様にExcelのようなファイルのデータの編集画面
「Table」をクリックすると表が展開されます。
ここで表の編集・追加ができるようになります、まるでExcelのようですね。
今回、データの変換が目標なので簡単な項目を一つ修正してみましょう。


「Country」と書いてある列項目の名前を同じ意味である「Nation」に変えてみた
では「Country」と書いている国項目を同じ意味である「Nation」に変えてみましょう。
「Country」と書いているところをダブルクリックすると修正できるようになります。

あくまでも簡単な参考例なので、自分なりに他の項目を修正してみたり、列を追加してみたりしてください!

4. データの公開とTable化


「Country」→「Nation」への属性の編集が完了しました
では表の変換作業が終わったので右したにある「公開」を押してみましょう!

そうすると...?

エラーメッセージ
実はそのまま公開するとこのようなエラーメッセージが表示されます。
その原因は以下の2つになります。
1.CMD[3]に変換されてない
2.データの同期先を決めてない

上記の問題を解決するには公開する前にデータの形式を決めて、同期先を決める必要があります。


データの同期先を指定
このCMDとデータの同期先を決めるのは別の作業が必要なわけではなくボタン一つでできます。
赤い四角で囲んだ2か所のどちらかを選択してください(どちらを押しても全く画面が表示されます)
同期先として今回のレイクハウスを選択しました。必要に応じて同期先を選択してください。


接続は「Lakehouse(なし)」にして次へ
接続画面では「Lakehouse(なし)」を選択して次へのタンをクリック。


ワークスペースからレイクハウスを選択し次へ
宛先ターゲットの選択画面ではワークスペースを選択して、作成したLakehouseを選択してください。
円通の形をしているものがレイクハウスとなっていて、それをクリックしてTableの名前を入力します。


データの形式設定
上の「自動設定を使用する」を選択するとデータを分析し、データの形式を指定してくれます。
形式に問題がない場合には「設定の保存」
設定の保存ができたら、「公開」を押してレイクハウスの方に遷移されます。
この作業には最大3分程度かかる場合があります。


追加されたデータフロー(編集されたデータ)
データフローの更新には少し時間がかかる場合がございますので、追加されるまで待ちます。
右上のアラームが表示されたら完了となります。


更新されない場合には先程の同様に「最新の情報に更新」
更新されない場合にTableタブの右にある...をクリックし、2~3回ほど「最新の情報に更新」を押してください。


変換されたデータがTablesに格納されました
これで変換されたデータを選択するとFileを構造化したTableに落とすことができました。


セマンティックモデルの作成
これでSQLとしてテーブルを扱えるのでセマンティックモデルの作成も可能となりました。

dboというSQL Serveでのデフォルトスキーマが表示されると成功です。

5.まとめ

5.1 レイクハウス作成・ファイル格納

  1. レイクハウスの作成
    • Fabricワークスペース内でレイクハウスを作成
    • ファイルを「Files」にアップロード
  2. アップロードの確認
    • アップロード後、Filesタブでデータを確認
    • 必要に応じて「最新の情報に更新」を実行
  3. 注意点
    • ExcelやCSVファイルはそのままPower BIで可視化可能
    • Table化(構造化)することで、データの整理や分析が効率化

5.2 データフロー(Dataflow Gen2)によるデータの変換

  1. データの変換準備
    • データファクトリー内の「データフロー」を選択
    • ファイルをレイクハウスからインポート
  2. データの変換
    • データフローで表形式のデータを編集(ex:「Country」を「Nation」に変更)
    • 編集後、「公開」を押す前に同期先を設定(レイクハウスを選択)
      3.データ構造化のメリット
    • データ整理や一貫性向上
    • Power BIやSQL Serverとの連携が容易

5.3 データの公開とTable化

  1. データ形式の設定
    • データフローで設定を保存し、公開
    • レイクハウスの「Tables」に構造化されたデータが格納される
  2. セマンティックモデルの作成
    • 構造化データを基にセマンティックモデルを作成可能
    • Power BIでの詳細な分析や可視化が可能

6. 最後に

本記事では、レイクハウスを用いてデータを格納・変換し、Table化するプロセスを紹介しました。Microsoft Fabricの環境を活用することで、こんなに効率的にデータ管理・分析が行えるのです!

レイクハウスを活用することで、データの格納から変換、分析までをスムーズに実現できるMicrosoft Fabricの強力な機能を体感いただけたと思います。
このプロセスを理解することで、さらに複雑なデータ活用シナリオにも対応できるようになります。ぜひ、Fabricを使って自分だけのデータ基盤を構築し、ビジネスの可能性を広げてみてください!

お疲れ様でした。

脚注
  1. 意味的に整理して構造化したモデル。目的は、データの意味や関係性を明確にして、利用者がデータを直感的かつ効率的に利用できるようにする。 ↩︎

  2. データの品質を向上させるための修正作業です。不要なデータを削除したり、誤ったデータを修正したりすることを指す。 ↩︎

  3. Microsoftおよびそのパートナーが公開した標準化された拡張可能なデータスキーマの集合体であり、データの作成、集約、および分析を簡素化するための一般的な概念。 ↩︎

ヘッドウォータース

Discussion