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 を使用してデータにアクセスして変換する場合は、将来簡単に更新して up-to-date データを取得できる反復可能なプロセス (クエリ) を定義します。 基になるデータまたはスキーマの変更を考慮してプロセスまたはクエリを変更する必要がある場合は、最初にクエリを定義したときに使用したのと同じ対話型の直感的なエクスペリエンスを使用できます。 |
ボリューム (データ サイズ)、速度 (変化率)、およびさまざまな (データ ソースとデータ図形の幅) | Power Query では、データ セット全体のサブセットに対して作業して必要なデータ変換を定義できるため、データを簡単にフィルター処理して、管理しやすいサイズに変換できます。 Power Query クエリは、手動で更新したり、特定の製品 (Power BI など) でスケジュールされた更新機能を利用したり、プログラムによって (Excel オブジェクト モデルを使用して) 利用したりできます。 Power Query は、これらのソースごとに数百のデータ ソースと 350 を超える異なる種類のデータ変換への接続を提供するため、任意のソースおよび任意の図形のデータを操作できます。 |
Power Query エクスペリエンス
Power Query ユーザー エクスペリエンスは、Power Query エディターのユーザー インターフェイスを介して提供されます。 このインターフェイスの目的は、リボン、メニュー、ボタン、およびその他の対話型コンポーネントのユーザー フレンドリなセットを操作するだけで、必要な変換を適用できるようにすることです。
Power Query エディターは、主要なデータ準備エクスペリエンスです。 エディターでは、データをプレビューし、UI から変換を選択することで、さまざまなデータ ソースに接続し、何百もの異なるデータ変換を適用できます。 これらのデータ変換機能は、基になるデータ ソースの制限事項に関係なく、すべてのデータ ソースで共通です。
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 などの統合に含まれています。
手記
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 製品とサービスの一覧です。
商品 | 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 のデータファクトリー | はい | いいえ | はい | はい |
SQL Server Integration Services | はい | いいえ | いいえ | いいえ |
SQL Server Analysis Services | はい | はい | いいえ | いいえ |
Dynamics 365 Customer Insights | はい | いいえ | はい | はい |
1M エンジン | Power Query 数式言語 ("M") で表されるクエリを実行する基になるクエリ実行エンジン。 |
2Power Query Desktop | デスクトップ アプリケーションで見つかった Power Query エクスペリエンス。 |
3Power Query オンライン | Web ブラウザー アプリケーションで見つかった Power Query エクスペリエンス。 |
4データフロー | クラウドで実行され、製品に依存しないサービスとしての Power Query。 保存された結果は、他のアプリケーションでサービスとして使用できます。 |
関連コンテンツ
- Power Query での データ ソース
- データの取得
- Power Query のクイックスタート
- Power Query を使用してデータを整形・結合する
- データフロー とは