Power Queryとは?

Power Query は、データ変換およびデータ準備エンジンです。 Power Query には、ソースからデータを取得するためのグラフィカル インターフェイスと、変換を適用するための Power Query エディターが付属しています。 このエンジンは多くの製品やサービスで利用できるため、データの保存先は Power Query が使用された場所によって異なります。 Power Query を使用すると、データの抽出、変換、および読み込み (ETL) 処理を実行できます。

Power Query の入力、変換、宛先。

左側にデータソース、中央で変換のためにPower Queryを通過し、右側の4つの目的地に向かうデータソースをシンボライズした図: Microsoft Azure Data Lake Storage、Microsoft Dataverse、Microsoft Excel、Microsoft Power BI。

Power Query がデータの取得に役立つ方法

ビジネス ユーザーは、時間の最大 80% をデータ準備に費やしているため、分析と意思決定の作業が遅れます。 この状況にはいくつかの課題があり、Power Query はそれらの多くに対処するのに役立ちます。

既存の課題 Power Query はどのように役立ちますか?
データの検索と接続が難しすぎる Power Query では、あらゆるサイズと形状のデータを含む、さまざまなデータ ソースに接続できます。
データ接続のエクスペリエンスが断片化しすぎている すべてのデータ ソースに対するエクスペリエンスの一貫性とクエリ機能のパリティ。
多くの場合、データは使用前に再設定する必要がある 高い対話性と直感的なエクスペリエンスにより、あらゆるサイズのあらゆるデータ ソースに対してクエリを迅速かつ反復的にビルドできます。
すべての整形は 1 回限りであり、再現性がありません Power Query を使用してデータにアクセスし変換する場合、最新のデータを取得するために、後で簡単に更新できる反復可能なプロセス (クエリ) を定義します。
基になるデータまたはスキーマの変更を考慮してプロセスまたはクエリを変更する必要がある場合は、最初にクエリを定義したときに使用したのと同じ対話型で直感的なエクスペリエンスを使用できます。
ボリューム (データ サイズ)、速度 (変化率)、多様性 (データ ソースとデータ整形の幅) Power Query は、データ セット全体のサブセットに対して機能し、必要なデータ変換を定義する機能を提供します。これにより、データを簡単にフィルター処理して、管理可能なサイズに変換できます。
Power Query のクエリを手動で更新したり、特定の製品 (Power BI など) のスケジュールされた更新機能を利用したり、プログラムを使用 (Excel オブジェクト モデルを使用) したりすることで、クエリを更新できます。
Power Query では、何百ものデータ ソースへの接続と、これらのソースごとに 350 を超えるさまざまな種類のデータ変換が提供されます。このため、あらゆるソースからあらゆる形式のデータを処理できます。

Power Query エクスペリエンス

Power Query ユーザー エクスペリエンスは、Power Query エディターのユーザー インターフェイスによって提供されます。 このインターフェイスの目的は、わかりやすいリボン、メニュー、ボタン、その他の対話型コンポーネントのセットを操作するだけで、必要な変換を適用できるようにすることです。

Power Query エディターは主要なデータ準備エクスペリエンスです。これを使用して、さまざまなデータ ソースに接続し、データをプレビューして UI から変換を選択することで、何百もの異なるデータ変換を適用できます。 これらのデータ変換は、基になるデータ ソースの制限に関係なく、すべてのデータ ソースに共通です。

Power Query インターフェイスのコンポーネントを操作して新しい変換ステップを作成すると、Power Query によって変換を実行するために必要な M コードが自動的に作成されるため、コードを記述する必要はありません。

現時点では、次の 2 つの Power Query エクスペリエンスを利用できます。

  • Power Query Online - Power BI データフロー、Microsoft Power Platform データフロー、Azure Data Factory ラングリング データフローなど、オンライン Web ページを通じてエクスペリエンスを提供する多くの統合に含まれます。
  • Power Query for Desktop - Power Query for Excel や Power BI Desktop などの統合に含まれます。

Note

Power Query エクスペリエンスは 2 つ存在しますが、いずれのシナリオでもほぼ同じユーザー エクスペリエンスが提供されます。

変換

Power Query の変換エンジンには、Power Query エディターのグラフィカル インターフェイスを介して使用できる多くの事前構築された変換関数が含まれています。 これらの変換は、列の削除や行のフィルター処理のように単純な場合もあれば、最初の行をテーブル ヘッダーとして使用する場合のように一般的な場合もあります。 マージ、追加、グループ化、ピボット、ピボット解除などの高度な変換オプションも用意されています。

これらの変換はすべて、メニューで変換オプションを選択し、その変換に必要なオプションを適用することで可能になります。 次の図は、Power Query エディターで使用できるいくつかの変換を示しています。

Power Query エディターの [変換]、[ホーム]、および [列の追加] タブにある変換コマンドを示す画像。

詳細情報: クイック スタート: Power BI で Power Query を使用する

データフロー

Power Query は、Power BI や Excel など多くの製品で使用できます。 ただし、製品内で Power Query を使用すると、その使用はその特定の製品にのみ制限されます。 データフローは、クラウドで実行される Power Query エクスペリエンスの製品に依存しないサービス バージョンです。 データフローを使用すると、同じ方法でデータを取得してデータを変換できますが、出力を Power BI または Excel に送信する代わりに、Dataverse や Azure Data Lake Storage などの他のストレージ オプションに出力を格納できます。 これにより、他の製品やサービスでデータフローの出力を使用できます。

詳細情報: データフローとは

Power Query M 式言語

どのデータ変換シナリオでも、グラフィカル エディターを使用して最適な方法で実行できない変換が一部あります。 これらの変換の一部では、グラフィカル インターフェイスで現在サポートされていない特別な構成と設定が必要になる場合があります。 Power Query エンジンでは、すべての Power Query 変換 (M とも呼ばれる Power Query M 数式言語) の背後でスクリプト言語が使用されます。

M 言語は、Power Query のデータ変換言語です。 クエリで発生するものはすべて、最終的に M で記述されます。Power Query エンジンを使用して高度な変換を実行する場合は、詳細エディターを使用してクエリのスクリプトにアクセスし、必要に応じて変更できます。 ユーザー インターフェイスの関数と変換で必要な変更が正確に実行されない場合は、詳細エディター と M 言語を使用して、関数と変換を微調整してください。

let
    Source = Exchange.Contents("xyz@contoso.com"),
    Mail1 = Source{[Name="Mail"]}[Data],
    #"Expanded Sender" = Table.ExpandRecordColumn(Mail1, "Sender", {"Name"}, {"Name"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded Sender", each ([HasAttachments] = true)),
    #"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each ([Subject] = "sample files for email PQ test") and ([Folder Path] = "\Inbox\")),
    #"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows1",{"Attachments"}),
    #"Expanded Attachments" = Table.ExpandTableColumn(#"Removed Other Columns", "Attachments", {"Name", "AttachmentContent"}, {"Name", "AttachmentContent"}),
    #"Filtered Hidden Files1" = Table.SelectRows(#"Expanded Attachments", each [Attributes]?[Hidden]? <> true),
    #"Invoke Custom Function1" = Table.AddColumn(#"Filtered Hidden Files1", "Transform File from Mail", each #"Transform File from Mail"([AttachmentContent])),
    #"Removed Other Columns1" = Table.SelectColumns(#"Invoke Custom Function1", {"Transform File from Mail"}),
    #"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Transform File from Mail", Table.ColumnNames(#"Transform File from Mail"(#"Sample File"))),
    #"Changed Type" = Table.TransformColumnTypes(#"Expanded Table Column1",{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type text}, {"Column9", type text}, {"Column10", type text}})
in
    #"Changed Type"

詳細情報: Power Query M 数式言語

Power Query はどこで使用できますか?

次の表に、Power Query が含まれている Microsoft の製品とサービスを示します。

Product M エンジン1 Power Query
デスクトップ2
Power Query
オンライン3
データフロー4
Excel for Windows はい はい いいえ いいえ
Excel for Mac はい はい いいえ いいえ
Power BI はい イエス イエス はい
Power Apps はい いいえ イエス はい
Power Automate はい いいえ 有効 いいえ
Power BI Report Server はい はい いいえ いいえ
Azure Data Factory はい いいえ イエス はい
Microsoft Fabric の Data Factory はい いいえ イエス はい
SQL Server Integration Services はい いいえ 番号 いいえ
SQL Server Analysis Services はい はい いいえ いいえ
Dynamics 365 Customer Insights はい いいえ イエス はい
1M エンジン Power Query 数式言語 ("M") で表されるクエリを実行する、基になるクエリ実行エンジン。
Power Query デスクトップ デスクトップ アプリケーションで見つかる Power Query エクスペリエンス。
3Power Query オンライン Web ブラウザー アプリケーションで見つかる Power Query エクスペリエンス。
4データフロー クラウドで実行され、製品に依存しないサービスとしての Power Query。 格納された結果は、他のアプリケーションでサービスとして使用できます。

関連項目

Power Query のデータ ソース
データの取得
Power Query のクイックスタート
Power Query を使用してデータを整形して結合する
データフローとは