M365Con 2027 – 無料オンラインカンファレンス · 11–22 Jan 2027 · 120 sessions→ m365con.net

ブログ · Mirko Peters

ハードコーディングをやめる:Power BI Dataflows でパラメーターを使う方法

By ·

ポッドキャストへようこそ。モダンなデータエンジニアリングを掘り下げる連載の続きです。今回のブログ記事では、経験豊富な開発者でもつまずきやすいテーマを取り上げます…

Automatically translated with AI from the original post. Read the English original

ポッドキャストへようこそ。モダンなデータエンジニアリングを掘り下げる連載の続きです。今回のブログ記事では、経験豊富な開発者でもつまずきやすいテーマを取り上げます。それは、壊れやすいハードコードされた値から離れ、データ準備パイプラインでパラメーター化を取り入れることです。開発環境から本番環境へデータフローを移行するときに、すべてのデータソース接続が壊れてしまい苦労したことがあるなら、このガイドが役立ちます。データフローを本当に柔軟で、再利用可能で、エンタープライズ環境に対応できるものにする方法を解説します。

Power BI の再利用可能なデータフローの原則

モジュール設計

モジュール設計によって、データフローを再利用可能にできます。データフローを小さな部品に分けると、各部品を簡単に変更できるようになります。Microsoft Fabric の Dataflows Gen2 はこれを支援します。レポートを作成する前に、データフローを使ってデータを準備できます。データフローは一度作成すれば、多くの場所で利用できます。これにより時間を節約でき、ロジックをどこでも統一した状態に保てます。

  • データセットを他のワークスペースと共有することもできます。つまり、異なるワークスペースから 1 つの主要なデータセットに接続できます。同じデータモデルを何度も作り直す必要はありません。
  • Dataflows Gen2 では、変更内容をレポート間で共有できます。これによりデータフローの再利用性が保たれ、データも一貫した状態を維持できます。

パラメーター化

データフローを再利用可能にするうえで、パラメーター化は重要です。パラメーターを使うと、さまざまなケースでデータフローの動作を制御できます。たとえば、異なるデータソースや保存先ごとにパラメーターを設定できます。つまり、ケースごとに新しいデータフローを作る必要はありません。

  • パラメーター化を使うと、テスト、構築、実行のすべてで同じロジックを利用できます。
  • 環境ごとに接続や設定を管理できます。
  • 作業を繰り返す必要がなくなり、データフローをグループ全体で再利用できます。

ハードコードされたロジックを避ける

ハードコードされたロジックを使わなければ、データフローはより柔軟になります。ハードコードされた値は、データフローを特定のソースや特定のケースに縛り付けてしまいます。代わりに、パラメーターと小さな処理ステップを使いましょう。Dataflows Gen2 はこれを支援します。多くのデータソースに接続でき、変更可能な設定を利用できます。これにより、要件が変わってもデータフローを再利用可能な状態に保てます。

ヒント:データ変換のロジックとレポートのロジックは、必ず分けて管理してください。そうすることで更新が簡単になり、新しいプロジェクトでもデータフローを再利用できます。

Power BI Dataflows:再利用性が重要な理由

定義とメリット

データプロジェクトにおいて、再利用性がなぜ重要なのかを理解しておくことは大切です。再利用可能なデータフローを使うと、分析のための強固な基盤を構築できます。Power BI のデータフローでは、変換ロジックを一度作成すれば、何度でも利用できます。これにより、データを整理された状態で見つけやすく保てます。

再利用可能なデータフローには、多くの利点があります。

  • すべてのレポートで同じ変換ロジックを使えます。つまり、すべてのレポートが同じルールに従います。
  • ビジネスロジックを個別に管理する必要が減ります。そのため、更新を素早く簡単に行えます。
  • データの主要な保存場所が 1 つになります。チーム全員が結果を信頼できます。
  • レポートごとに同じ手順を繰り返す必要がないため、時間を節約できます。
  • ミスも減ります。データが常に同じであれば、エラーは少なくなります。

Dataflows Gen2 を使うと、さらに多くの機能が利用できます。多くのソースに接続し、1 か所でデータを準備できます。特定のデータセットをレポートやダッシュボードと共有することもできます。これによりチームの協働が進み、分析の力を高く保てます。

注:データを 1 か所で準備すると、生のデータを有用な洞察に変えやすくなります。

よくある落とし穴

再利用性を考慮しないと、問題が生じることがあります。ロジックを異なるレポートにコピー&ペーストしてしまうかもしれません。その結果、ミスが発生し、時間が無駄になります。また、データの一貫性を保つことも難しくなります。

よくある問題は次のとおりです。

  • 1 つのデータフローを再利用せず、プロジェクトごとに新しいデータフローを作成する。
  • 変更すべきときに変更できない値を使う。
  • 変換の手順を文書化しない。
  • データを 1 か所の主要な場所で準備しない。

Dataflows Gen2 は、こうした問題を避ける助けになります。データを取得、変換、保存するためのクラウドツールを提供します。データを 1 か所で扱い、グループ全体と共有できます。これにより、分析作業がスムーズになり、信頼しやすくなります。

再利用可能なデータフローの構築

Building Reusable Dataflows

再利用を前提とした設計

再利用可能なデータフローは、次の簡単な手順で作成できます。まず、Power BI Service を開き、ワークスペースに移動します。[新しいアイテム] をクリックし、[データフロー] を選択します。テーブルを追加し、[Power BI データフロー (レガシ)] を選びます。サインインを確認して [次へ] をクリックします。必要なテーブルを選んで、データの変換を始めます。各手順を順番に進めることで、堅牢なデータ パイプラインを構築できます。

Power Query Online を使うと、ETL 処理を自分で行えます。IT 部門の対応を待つことなく、データの取得、変換、読み込みができます。このツールを使えば自分で作業を進められ、データフローを再び使いやすくなります。1 つの役割を確実に果たすデータフローを作成することもできます。たとえば、生データだけを取り込むステージング データフローを作成できます。ほかのデータフローは、このステージング データフローを使ってさらに変換を行えます。

データフローを再利用するときは、モジュール性を考慮しましょう。データフローを小さな部品に分割し、各部品が 1 つの役割だけを担うようにします。こうすると、全体を変更せずに一部だけを修正または更新しやすくなります。これらの部品の管理には Dataflows Gen2 を使用できます。この方法により作業を効率化でき、チームがセルフサービスで対応できるようになります。

ヒント: 必要なデータだけを取り込みましょう。念のためにすべてを読み込まないでください。これにより、データフローを高速に保ち、扱いやすくできます。

パラメーターとテンプレートの活用

パラメーターとテンプレートを使うと、複数のワークスペースでデータフローを活用できます。Power Query パラメーターまたは Fabric 変数を設定して、アイテム ID を扱えます。これにより、データフローを新しいワークスペースへ簡単に移行できます。毎回ロジックを変更する必要はありません。

Power BI Desktop のパラメーターを使うと、データフローの送信先を選択できます。ファイルをテンプレートとして保存してください。これで、数回クリックするだけで、さまざまな場所でデータフローを使用できます。この方法により、自分で作業を進めやすくなり、ミスも減らせます。テスト利用と本番利用を簡単に切り替えられます。

  • Power Query パラメーターと Fabric 変数を使うと、ワークスペースごとの設定を行えます。
  • テンプレートを使うと、新しいデータフローで同じ設定を再利用できます。
  • データフローを作成段階からテスト、本番利用へと、少ない手間で移行できます。

パラメーターとテンプレートを使うと、データフローの柔軟性が高まります。最初から作り直すことなく、多くのチームやプロジェクトを支援できます。これはセルフサービス データ エンジニアリングにおいて重要です。

信頼できる唯一の情報源

信頼できる唯一の情報源とは、主要なデータセットを 1 つに保つことを意味します。これにより、全員が結果を信頼できるようになります。Dataflows Gen2 を使用して 1 つのセマンティック モデルを作成できます。すべてのレポートとダッシュボードは、このモデルを使用します。これにより、ミスが減り、データの一貫性が保たれます。

データを 1 か所に保管すると、ガバナンスを向上させられます。誰がデータを使用し、どのように使用しているかを把握できます。これにより、ルールに従い、データを適切に管理できます。Dataflows Gen2 では、データの分類や結合を簡単に扱えます。機密データに対するルールを設定し、全員がそれに従うようにできます。

注: 信頼できる唯一の情報源は、チームが適切な判断を下す助けになります。全員が同じ数値と用語を使用するようになります。

ドキュメント作成の実践

適切なドキュメントを作成しておくと、データフローを長期間使いやすく保てます。データを準備するために行ったすべての手順を書き留めてください。これにより、ほかの人が作業内容を把握できます。各手順には明確な名前を付けましょう。特定の選択をした理由を説明するメモも追加してください。

  • 各データフローの所有者と更新担当者を明記してください。
  • データフローと各テーブルに説明を追加してください。
  • データフローを使用しているレポートとダッシュボードを把握しておいてください。
  • 作成する各手順には、わかりやすい名前を付けてください。

ドキュメント化と整理のためのベスト プラクティスを次の表にまとめます。

ベスト プラクティス説明
テンプレートテンプレートを使うと、データフローの形式を統一し、再利用しやすく保てます。
バージョン管理Azure DevOps や GitHub などのツールで変更を追跡してください。
セマンティック層とレポート層の分離すべてのレポートで 1 つの主要なモデルを使用すると、重複を防ぎ、セキュリティを強化できます。

命名規則も重要です。たとえば DF_HubSpot_Contacts_Daily のような名前を使用してください。データフローには先頭に DF_ を付けます。DEV_、TEST_、PROD_ のように環境を示してください。名前の書き方のスタイルを決めて、すべてで統一してください。これにより、データフローを見つけやすく、理解しやすくなります。

ワークスペースの設定方法は、再利用性にとって重要です。データフローは複数のワークスペースに分けて配置してください。これにより、自分で作業を進めやすくなり、チームごとにセキュリティを管理できます。すべてのデータフローを 1 つのワークスペースに入れないでください。用途ごとに異なるワークスペースを使い分けましょう。これにより、データ エンジニアリングを拡大し、より多くのユーザーを支援できます。

ヒント: セルフサービスは、必要なデータフローを全員が見つけ、使い、信頼できるときに最も効果を発揮します。

Power BI データフローの例と注意点

Examples & Pitfalls in Power BI Dataflows

単発のデータフローのリファクタリング

最初はレポート1つ分のデータフローから始めることがあります。こうすると後で混乱や余分な作業が生じがちです。リファクタリングとは、雑然としたパイプラインをシンプルな構成要素に作り直すことです。たとえば Trident Advisory Group は、レポートごとに多数のパイプラインを持っていました。それらを1つのデータフローにまとめ、生の イベント ログを取得するようにしました。これにより、ビジネス アナリストはIT部門を待たずに新しいレポートを作成できるようになりました。この変更で作業は速く、簡単になりました。3時間かかっていたレポートが15分で完了するようになりました。さらに、チームはすべてのレポートで同じロジックを使えるようになります。

主なメリットを次の表に示します。

メリット説明
効率の向上更新サイクルが3時間から15分に短縮され、帯域幅に余裕が生まれます。
セルフサービス分析ビジネス アナリストは、データフロー上で直接アドホック レポートを作成できます。
データ ガバナンスデータ変換ロジックを一元化することで、レポート間で指標の一貫性が保たれます。

リファクタリングを行う際は、変更が他のアプリにどう影響するかを確認してください。明確な所有者がいないデータは必ず統合するようにしてください。これにより、データを安全かつ整理された状態に保つことができます。

避けるべき間違い

データフローを再利用しようとする際に、次のような間違いを犯すことがあります。1つ目は、1つのデータフローを使わず、ロジックをレポートごとにコピーしてしまうことです。これはエラーの原因となり、更新を困難にします。2つ目は、変更できない値を使ってしまうことで、柔軟性が損なわれます。手順を文書化しておかないと、チームが混乱する原因にもなります。

Dataflows Gen2 を使えば、これらの問題を避けやすくなります。ビジュアル ツールを使えば、コードをほとんど書かずにパイプラインを構築できます。Power Query は使いやすく、必要に応じて高度な変換も行えます。レポートの更新時刻は必ず設定するようにしてください。また、環境間で移行する際も、Dataflows Gen2 を使えばデプロイが簡単です。

ヒント: データ変換ロジックは1か所にまとめて管理しましょう。これにより、チームがデータを信頼できるようになり、すべてが整理された状態を保てます。


Power BI の Power Query と Power Query Online でデータフローを作成する

Power BI データフローとは何ですか。また、Power Query とどのような関係がありますか。

Power BI データフローとは、Power BI サービス内で作成・管理されるテーブルの集合で、Power Query を使用してさまざまなソースからデータを抽出、変換、読み込みます。データの準備を一元化するため、Power BI のデータセットや、その後段のレポートが同じ変換済みデータを再利用できます。これにより重複を減らし、大規模なデータ ソリューションにおけるデータの活用も支援します。

Power BI サービスでデータフローを作成するにはどうすればよいですか。

データフローを作成するには、Power BI サービスでワークスペースを開き、「作成」、「データフロー」の順に選択します。オンラインの Power Query エディターを使用して、さまざまなソース(オンプレミス、Azure、クラウド)に接続し、エンティティと変換を定義して保存します。データ ウェアハウスや大量のデータに向けてETLをモジュール化するために、複数のデータフローを作成することもできます。

Power BI Desktop でデータフローを使用できますか。また、データセットとはどのように接続しますか。

はい、Power BI データフローをデータ ソースとして接続することで、Power BI Desktop でも使用できます。接続後は、Power BI レポートがデータフローのデータをソースとして利用でき、他のデータ ソースと組み合わせて Power BI のデータセットを構築し、レポートを Power BI サービスに発行できます。

Power BI データフローの一般的なユースケースと、データフロー作成のシナリオにはどのようなものがありますか。

代表的なユースケースとしては、複数のレポートで共通するデータ準備ロジックの一元化、企業全体の信頼できる唯一の情報源の作成、データ ウェアハウスや Azure Data Lake Storage Gen2 向けのデータ準備、スケジュール更新による大量データの処理、複数の Power BI データセットや Power Platform アプリでの再利用などがあります。

データフローの更新はどのように機能し、どのようにスケジュールを設定しますか。

データフローの更新では、データフローで定義された Power Query の変換を実行し、エンティティを最新データに更新します。Power BI サービスで更新スケジュールの設定を行い、定期的に実行することも、Power Automate を使ってイベントに基づいて更新することもできます。なお、更新の頻度や並列処理の度合いは、Power BI Premium のサブスクリプションまたは容量によって異なる場合があります。

Power BI のデータフローとデータセットの違いは何ですか。

データフローは、Power Query Online を使用した上流の ETL に重点を置き、データフローのデータとして保存される再利用可能なテーブルを作成します。一方、データセットは分析やモデリング(テーブル、リレーションシップ、メジャー)に最適化されています。データセットは通常データフローをソースとして利用するため、複数のデータセットやレポートで同じ準備済みデータを共有できます。

データフローは Azure にデータを保存できますか。また、ADLS Gen2 のサポートについて教えてください。

はい、「Enhanced compute engine」を使用する場合、または ADLS Gen2 を基盤とするワークスペースにリンクする場合、Power BI のデータフローはエンティティを Azure Data Lake Storage Gen2(ADLS Gen2)に格納できます。これにより、ビッグデータのシナリオや、Azure Data Factory などのツールからの直接利用、より大きなデータウェアハウス アーキテクチャとの統合が可能になります。

データフローを使用するには Power BI Premium が必要ですか。また、どの機能に Premium が必要ですか。

データフローは、基本機能であれば Power BI サービスの Pro ユーザーでも利用できます。ただし、より大きなストレージ、より高い更新頻度、ワークスペース間のリンクされたエンティティ、大量データ向けのコンピューティング分離などの機能は、多くの場合 Power BI Premium または Premium Per User が必要です。これらの機能により、拡張性のあるパフォーマンスとエンタープライズ水準の更新スケジュールが実現します。

Power BI サービスでは、データフローはオンプレミスのデータやコネクタをどのように扱いますか。

データフローからオンプレミスのデータ ソースに接続するには、Power BI サービスでオンプレミス データ ゲートウェイを構成して使用し、Power Query Online で適切なコネクタを選択して資格情報を入力します。これにより、データフローはオンプレミスのデータベースからデータを抽出し、クラウドに更新して、データセットやレポートで利用できるようになります。

ETL にデータフローを使う場合と Azure Data Factory を使う場合の違いは何ですか。

データフローは、Power BI と Power Platform に統合された Power Query による変換を用いた、業務部門主体のセルフサービス ETL 向けに設計されています。データセット間やレポート間での再利用に適しています。一方、Azure Data Factory は、データウェアハウス、ビッグデータ処理、多数のシステムにまたがる高度な変換を対象とした、エンタープライズ規模のオーケストレーションと複雑なパイプラインに向いています。ADLS Gen2 にデータを統合する場合は、両者を併用することもできます。

複数のデータフローを管理し、ワークスペース間で変換を再利用するにはどうすればよいですか。

Power BI サービスのワークスペース内でデータフローを整理し、「リンクされたエンティティ」を使って別のデータフローのテーブルを再利用できます。既存のデータフローを参照する新しいデータフローを作成することもできます。アクセスはワークスペースのアクセス許可で管理します。これにより、複数の Power BI ソリューションや Power BI レポートが、Power BI のデータフローで準備された共有データを一貫して利用できます。

まとめ

最後にまとめると、ハードコードされた値から脱却することは、Power BI の取り組みにおいて最も効果の大きいアーキテクチャ上の転換の一つです。モジュラー設計、パラメーター化、Dataflows Gen2 を活用することで、ソリューションに回復性と保守性が備わり、環境間の円滑な移行にも備えられます。最新のデータ パイプラインの構築や、成功に向けた Fabric 環境の構成についてさらに詳しく知りたい場合は、関連するポッドキャスト エピソードもぜひご覧ください: Build Reusable Dataflows Gen2 in Microsoft Fabric。お読みいただきありがとうございます。すてきなレポーティングを!

Entities in this article

Power BI Power Query Microsoft Places Fabric workspace Power BI Service Microsoft Fabric Single source of truth Dashboards Power BI Desktop Semantic model

Related articles

RSS