データフローの Premium 機能

データフローは、Power BI Pro、Premium Per User (PPU)、Power BI Premium のユーザーに対してサポートされています。 一部の機能は、Power BI Premium サブスクリプション (Premium 容量または PPU ライセンス) でのみ使用できます。 この記事では、PPU と Premium 専用の機能とその使用の詳細について説明します。

次の機能は、Power BI Premium (PPU または Premium 容量のサブスクリプション) でのみ使用できます。

  • 拡張コンピューティング エンジン
  • DirectQuery
  • 計算対象エンティティ
  • リンクされたエンティティ
  • 増分更新

以下のセクションでは、これらの各機能について詳しく説明します。

重要

この記事は、第 1 世代のデータフロー (Gen1) に適用され、第 2 世代 (Gen2) のデータフローには適用されません。Gen2 のデータフローは Microsoft Fabric (プレビュー) で使用できます。 詳細については、「第 1 世代のデータフローから第 2 世代のデータフローに移行する」を参照してください。

拡張コンピューティング エンジン

Power BI の拡張コンピューティング エンジンにより、Power BI Premium サブスクライバーは自身の容量を使用してデータフローの使用を最適化できます。 拡張コンピューティング エンジンを使用すると、次のような利点があります。

  • 計算対象エンティティに対する実行時間の長い ETL (抽出、変換、読み込み) ステップに必要な更新時間が大幅に短縮されます (joinsdistinctfiltersgroup by の実行など)。
  • エンティティに対して DirectQuery クエリを実行できます。

Note

  • 検証プロセスと更新プロセスにより、データフローにモデル スキーマが通知されます。 テーブルのスキーマを自分で設定するには、Power Query エディターを使用し、データ型を設定します。
  • この機能は、WABI-INDIA-CENTRAL-A-PRIMARY を除くすべての Power BI クラスターで使用できます

拡張コンピューティング エンジンを有効にする

重要

拡張コンピューティング エンジンは、A3 以上の Power BI 容量に対してのみ機能します。

Power BI Premium では、拡張コンピューティング エンジンはデータフローごとに個別に設定されます。 次の 3 つの構成から選択できます。

  • 無効

  • 最適化 (既定値) - 拡張コンピューティング エンジンはオフになっています。 データフロー内のテーブルが別のテーブルによって参照される場合や、データフローが同じワークスペース内の別のデータフローに接続される場合、自動的にオンになります。

  • オン

既定の設定を変更し、拡張コンピューティング エンジンを有効にするには、次の手順を実行します。

  1. ワークスペースで、設定を変更するデータフローの横にある [その他のオプション] を選択します。

  2. データフローの [その他のオプション] メニューから、[設定] を選択します。

    [設定] が強調されている、データフローの [その他のオプション] メニューのスクリーンショット。

  3. [拡張コンピューティング エンジンの設定] を展開します。

    データフローの設定ページのスクリーンショット。[拡張コンピューティング エンジンの設定] 設定が強調表示されています。

  4. [拡張コンピューティング エンジンの設定][オン] を選択し、[適用] を選択します。

    [オン] の選択が有効にされ、[適用] ボタンが強調されている、[Enhanced compute engine settings] (拡張コンピューティング エンジンの設定) のスクリーンショット。

拡張コンピューティング エンジンを使う

拡張コンピューティング エンジンをオンにしたら、データフローに戻ります。複雑な演算 (同じ容量の既存のリンクされたエンティティから作成されたデータフローに対する joinsgroup by 演算など) を実行する計算テーブルのパフォーマンスが向上しているはずです。

コンピューティング エンジンを最大限に活用するには、次のように ETL ステージを 2 つの異なるデータフローに分割します。

  • データフロー 1: このデータフローでは、データ ソースから必要なものをすべて取り込むことだけが必要です。
  • データフロー 2: この 2 つ目のデータフローですべての ETL 操作が実行されますが、データフロー 1 が同じ容量にあり、それを参照していることを確認します。 また、最初にフォールドできる演算 (filter、group by、distinct、join) を実行するようにします。 これらの演算を実行してから他の操作を実行することで、コンピューティング エンジンが確実に使用されるようにします。

一般的な質問と回答

質問: 拡張コンピューティング エンジンを有効にしましたが、更新に時間がかかります。 なぜでしょうか。

回答: 拡張コンピューティング エンジンを有効にすると更新時間が遅くなる原因には、2 つの理由が考えられます。

  • 拡張コンピューティング エンジンを有効にすると、エンジンが適切に機能するためにある程度のメモリが必要になります。 そのため、更新の実行に使用できるメモリが減り、更新がキューに格納される可能性が高くなります。 これにより、同時に更新できるデータフローの数が減少します。 この問題に対処するために、拡張コンピューティングを有効にすると、データフローの更新が時間の経過と同時に分散され、容量サイズが十分かどうかを評価して、同時データフロー更新に使用可能なメモリがあることを確認します。

  • 更新が遅くなる可能性があるもう 1 つの理由は、コンピューティング エンジンは既存のエンティティ上に対してのみ動作することです。 データフローではないデータ ソースがデータフローで参照されている場合、改善は見られません。 一部のビッグ データ シナリオでは、データを拡張コンピューティング エンジンに渡す必要があるため、データ ソースからの最初の読み取りが遅くなり、パフォーマンスが向上しません。

質問: 拡張コンピューティング エンジンのトグルが表示されません。 なぜですか?

回答: 拡張コンピューティング エンジンは、世界中のリージョンに段階的にリリースされていますが、一部のリージョンではまだご利用いただけません。

質問: コンピューティング エンジンでサポートされているデータ型は何ですか?

回答: 拡張コンピューティング エンジンとデータフローでは、現在、次のデータ型がサポートされています。 データフローで次のデータ型のいずれかが使用されていない場合は、更新時にエラーが発生します。

  • 日付/時刻
  • 10 進数
  • テキスト
  • 整数
  • 日付/時刻/タイムゾーン
  • true または false
  • Date
  • 時刻

Power BI で DirectQuery とデータフローを使用する

DirectQuery を使用してデータフローに直接接続し、それによってデータをインポートせずにデータフローに直接接続することができます。

データフローに DirectQuery を使用すると、Power BI とデータフローのプロセスに対して次の改善が可能になります。

  • 個別の更新スケジュールを回避する - DirectQuery では、データフローに直接接続するため、インポートされたセマンティック モデルを作成する必要がなくなります。 そのため、データフローに DirectQuery を使用すると、データフローとセマンティック モデル用の個別の更新スケジュールが不要になり、データの同期が保証されます。

  • データのフィルター処理 - DirectQuery は、データフロー内のデータのフィルター処理されたビューを操作する場合に便利です。 コンピューティング エンジンで DirectQuery を使用して、データフローのデータをフィルター処理し、フィルター処理された必要なサブセットを操作できます。 データをフィルター処理することで、データフローのデータのより小さく管理しやすいサブセットを操作できます。

データフローに DirectQuery を使う

データフローでの DirectQuery の使用は、Power BI Desktop で可能です。

データフローで DirectQuery を使うには、次のような前提条件があります。

  • データフローが Power BI Premium が有効なワークスペース内に存在する必要があります。
  • コンピューティング エンジンを有効にする必要があります。

DirectQuery とデータフローの詳細については、「データフローで DirectQuery を使用する」を参照してください。

データフローに対して DirectQuery を有効にする

データフローを DirectQuery からアクセスできるようにするには、拡張コンピューティング エンジンが最適化された状態になっている必要があります。 データフローに対して DirectQuery を有効にするには、新しい [コンピューティング エンジンの拡張設定] オプションを [オン] に設定します。

[オン] オプションが選択されている拡張コンピューティング エンジン設定のスクリーンショット。

この設定を適用したら、最適化を有効にするためにデータフローを更新してください。

DirectQuery に関する考慮事項と制限事項

DirectQuery とデータフローには、いくつかの既知の制限事項があります。

  • インポートおよび DirectQuery データ ソースがある複合または混合モデルは、現在、サポートされていません。

  • 大規模なデータフローでは、視覚エフェクトを表示するときに、タイムアウトの問題が発生する可能性があります。 タイムアウトの問題が発生する大規模なデータフローの場合は、インポート モードを使用する必要があります。

  • DirectQuery を使用している場合は、データ ソースの設定で、データフロー コネクタに無効な資格情報が表示されます。 この警告が動作に影響することはなく、セマンティック モデルは正常に機能します。

  • データフローに 340 以上の列がある場合、強化されたコンピューティング エンジン設定が有効になっている Power BI Desktop のデータフロー コネクタを使用すると、データフローに対して DirectQuery オプションが無効になります。 このような構成で DirectQuery を使用するには、340 列未満を使用します。

計算対象エンティティ

Power BI Premium サブスクリプションでデータフローを使用するときに、ストレージ内計算を実行できます。 この機能により、既存のデータフローで計算を実行して、レポートの作成と分析に集中できる結果を返すことができます。

編集中のテーブルが強調表示されている Power Query エディターのスクリーンショット。

ストレージ内計算を実行するには、まず、データフローを作成して、その Power BI データフロー ストレージにデータを取り込む必要があります。 データを含むデータフローを作成した後は、ストレージ内計算を実行するエンティティである、計算対象エンティティを作成できます。

計算対象エンティティに関する考慮事項と制限事項

  • 組織の Azure Data Lake Storage Gen2 アカウントで作成されたデータフローを使用するとき、リンクされたエンティティと計算対象エンティティは、そのエンティティが同じストレージ アカウントに存在するときにのみ適切に機能します。

ベスト プラクティスとして、オンプレミスとクラウドのデータによって結合されたデータに対して計算を行う場合は、ソースごとに新しいデータフローを作成し (オンプレミス用に 1 つ、クラウド用に 1 つ)、3 番目のデータフローを作成して、これらの 2 つのデータソースのマージと計算を行います。

リンクされたエンティティ

リンクされたエンティティと Power BI Premium サブスクリプションを使用して、既存のデータフローを参照できます。これにより、計算対象エンティティを使用してこれらのエンティティの計算を実行したり、複数のデータフロー内で再利用できる "単一の正しい情報源" テーブルを作成したりできます。

増分更新

更新のたびにすべてのデータを取得する必要がないよう、増分更新されるようにデータフローを設定できます。 そのためには、データフローを選択してから、増分更新アイコンを選択します。

Power BI データフロー内のテーブルのスクリーンショット。[増分更新] アイコンが強調表示されています。

増分更新を設定すると、日付範囲を指定するパラメーターがデータフローに追加されます。 増分更新の設定方法について詳しくは、「データフローでの増分更新の使用」を参照してください。

増分更新を設定しない場合に関する考慮事項

次の状況では、データフローの増分更新を設定しないでください。

  • リンクされたエンティティでデータフローが参照されている場合、それらでは増分更新を使用しないでください。

データフローと Power BI の詳細については、以下の記事を参照してください。