Power Query M 言語のチュートリアルと習得

Power Query M 言語のチュートリアルと習得

このチュートリアルでは、 Mコードを正常に実装し、 Power Query エディター内の一般的なエラーを解決する方法について説明します。また、Power Query でM言語を効果的に練習して習得する方法も学習します。

目次

Power Query M 言語の実装

Mコードの実装が成功するかどうかは、発生した問題をどれだけうまく解決できるかによって決まります。このチュートリアルでは、別の PBIX ファイルからMコードを転送しようとしたとき、またはフォーラムで見つけたMコードの一部を実装しようとしたときの最も一般的なエラーについて学びます。

ただし、まず、Power Query に関する質問がある場合は、問題を解決するにはデータ設定の変更が必要になる可能性があるため、PBIX ファイルとともにデータを提供することが重要です。データを提供しないと、サポートを提供しようとする側がソースにアクセスできないため、データ ソース エラーが発生します。

別のファイルを提供する方法もありますが、これは列と行の両方で値が 3000 以下のサンプルにのみ適用されます。したがって、テーブルが 3000 セル制限を超えていない場合は、テーブル全体をコピーし、[データの入力] オプションを使用して [テーブルの作成] ウィンドウに貼り付けることができます。データはバイナリに転送され、ファイルに埋め込まれます。

Power Query M 言語のチュートリアルと習得

Power Query M 言語のファイルの場所のパラメーター

サポートを提供する人を支援するもう 1 つの方法は、ファイルの場所のパラメーターを組み込むことです。そのため、ファイルを更新すると、そのファイル内のすべてのクエリが復元されます。これを実証するには、次の 4 つの手順に従います。

まず、Windows エクスプローラーに移動し、ファイル パスをコピーします。

Power Query M 言語のチュートリアルと習得

次に、 Power Query エディターに戻り、[パラメーターの管理] を選択します。次に、[新しいパラメータ] を選択し、パラメータに名前を付けます。

Power Query M 言語のチュートリアルと習得

3 番目に、パラメータを参照するときに引用符で囲まれた表記を使用しないように、スペースや特殊文字を含まない名前を使用します。[タイプ] を[テキスト]に設定し、[推奨値] を[値のリスト]に設定します。フォーラムにファイルを渡すとき、ファイル リストから場所を選択できます。

Power Query M 言語のチュートリアルと習得

最後に、[詳細エディター] ウィンドウを開き、ハードコーディングされたファイル パスをパラメーター名に置き換えます。

Power Query M 言語のチュートリアルと習得

Power Query M 言語の一般的なエラー

1. 循環参照

以下のエラー式は、選択したクエリの出力がクエリ内のステップの関数引数に渡されるときに発生します。この例では、クエリ名がそのステップの 1 つでTable.AddColumn関数に渡されることがわかります。

Power Query M 言語のチュートリアルと習得

最初の引数にはテーブル タイプが必要です。ほとんどの場合、コードの前のステップを参照していることがわかります。前のステップは、プレビュー ペインの右側にある [適用されたステップ] ペインにあります。

前のステップを参照する必要はありません。別のテーブル参照をその関数に渡すだけです。そのため、ソース ファイルの [適用されたステップ] ペインでステップ名を検索し、関数に渡されたテーブルの形状を確認します。これは、ステップを独自のファイルに変換するのに役立ちます。

2. 認識できない名前

この式エラーは、関数に渡されたテーブル引数の名前が存在しないか、スペルが間違っている場合に発生します。

Power Query M 言語のチュートリアルと習得

Power Query では大文字と小文字が区別されることに注意してください。ほとんどの場合、これは、[適用されたステップ] ペインで検索できる前のステップを参照します。しかし、繰り返しますが、それは必須ではありません。

このタイプのエラーのトラブルシューティングを行う場合は、ソース ファイル内の関数に渡されたテーブルの形状を確認し、それを独自のファイルと比較します。また、ステップの名前が変更されていないことを確認してください。

3. テキスト文字列

この式エラーは、関数に渡されたテーブル引数が実際にはテキスト文字列として渡された例です。

Power Query M 言語のチュートリアルと習得

スペースまたは特殊文字を含むステップ名には、先頭に引用符付き表記のハッシュまたはシャープ記号を付ける必要があります。名前は二重引用符で囲む必要があります。ステップ名をコピーして貼り付ける場合は、必ずフルネームを選択してください。

4. 型不一致エラー

もう 1 つの一般的な式エラーは、型の不一致エラーです。

Power Query M 言語のチュートリアルと習得

この種のエラーは、 Mコードに変更を加え始めると発生する傾向があります。上記のエラー メッセージでは、日付データ型を必要とする関数に日時値が渡されました。

このエラーの解決策は、値を引数として別の関数に渡す前に、値のデータ型を変換することです。この場合、Date.From関数を使用して日時値を日付値に変換できます。

不一致エラーにはさまざまな種類があります。いずれの場合でも、システムは常に必要なデータ型を示します。

5. 名前は存在しない

もう 1 つの一般的な式エラーは、関数の引数として渡された列参照の名前が存在しないか、スペルが間違っている場合です。

Power Query M 言語のチュートリアルと習得

列名が一致していることを確認してください。列参照を変更してみることもできます。列名が一致してもエラーが発生する場合は、名前にスペースまたは特殊文字が含まれていないか確認してください。

6. トークンカンマ

これは、トークン カンマに関する式の構文エラーです。

Power Query M 言語のチュートリアルと習得

各関数が関数引数のカンマ区切りリストを受け取るのと同じように、let 式は変数名と値のカンマ区切りリストを受け取ります。このタイプのエラーを解決するには、最後のステップを除く各ステップの最後にカンマが付いていることを確認してください。このエラーは、関数の末尾に閉じ括弧や角括弧が欠けていることによっても発生する可能性があります。

7. トークン識別子

Token Identifier Expected エラーは通常、Mコードがコピーされるときに、引用符が間違っているために発生します。

Power Query M 言語のチュートリアルと習得

エラーを修正するには、すべての引用符を見つけて置換する必要があります。code.visualstudio.comから無料でダウンロードできる Visual Studio Code というアプリケーションを使用することもできます。

Power Query M 言語のその他のエラー

フォーラムからのMコードを実装するときに発生する可能性のあるその他のエラーを次に示します。

  • トークン リテラルが期待される– これは、式の次のものが値、列、または関数であることが期待されることを意味します。
  • トークン RightParen Expected – これは、閉じ括弧または括弧が数式を閉じることが期待されることを意味します
  • RightParen の前にコンマを置くことはできません– これは、コンマを右括弧または括弧の直前に置くことができないことを意味します。
  • 無効なリテラル– テキスト文字列が二重引用符で閉じられていない場合によく発生します。
  • Token EoF Expected – 無効なキーワードまたは関数名が使用された場合に発生します。

Power Query M 言語の習得

習得するには長期的な取り組みと投資が必要です。すべては実行し、インスピレーションを得て、練習し、繰り返すことです。しかし、熟練していなくても、比較的短期間で驚くべき改善を達成することができます。

これらの投稿で説明されている概念を理解し、実践することができれば、エラーが発生したときに対処する方法がわかるでしょう。また、ハードコーディングされた値を動的な値に置き換えたり、カスタムM関数を作成したりするなど、関数パラメーターを操作することもできます。

あなたがしなければならないのは、自分で探索を始めることだけです。間違いを犯すことを許容し、それを解決する複数の方法を見つけることで、最も多くのことを学ぶことができます。これには時間がかかるかもしれませんが、非常にやりがいのある作業でもあります。それができるようになれば、スキルを磨くことができます。

Power Query M 言語のベスト プラクティス

1. 数式バー

Power Query に関する知識を広げるための一般的なベスト プラクティスの 1 つは、数式バーを常に表示しておくことです。言語の構造を説明する数式言語仕様を調べて、しばらく練習した後に再検討することができます。

すべての関数とその仕様がリストされているオンラインの数式リファレンスを通じて、宝探しに出かけることができます。これらの例を読んで、[詳細エディター] ウィンドウに例をコピーし、結果を検討することができます。

2. 標準ライブラリ

もう 1 つのベスト プラクティスは、 #sharedキーワードを使用して標準ライブラリを探索することです。これは、オンラインの数式リファレンスと比較すると相違点があるためです。また、実践例や他の人が遭遇した問題など、他のコンテンツを Web 検索して探すこともできます。

これは、Google で学習するとよく言われます。関数名や操作や変換の種類を検索できますが、結果は、検索条件をどの程度適切に定義したか、他の人が自分のケースをどの程度適切に説明したかに大きく依存します。

3. 練習と復習

最も重要なことは、クエリ エディター内で練習し、意図的により多くの時間を費やすことです。また、DAX、データ視覚化、M コードの学習に費やす時間のより良いバランスを見つけてください。

過去の作業を見直して、これらのベスト プラクティスを組み込むこともできます。LuckyTemplates のやなどのアクティビティに参加してください。フォーラムで質問に答えて理解を深め、知識を定着させてください。

学ぶべきこと、発見すべきことは常にたくさんあります。そのため、1日30分を自分の勉強に充てるなど、達成できる目標を設定しましょう。


クエリ エディターでのデータ変換のベスト プラクティス
データの読み込みと変換のベスト プラクティス

結論

コードにMを実装するには、練習と習熟が必要です。変数、関数、またはその他のエンティティが正しく使用されない場合、エラーが発生する可能性があります。Mが正しく使用されると、データ レポートから貴重で洞察力に富んだ結果が得られます。

メリッサ


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて