Power Query モジュロ: 積み重ねられたデータを処理する方法

Power Query モジュロ: 積み重ねられたデータを処理する方法

このチュートリアルでは、乱雑に積み重ねられたデータをより整理された形式に変換する方法を説明します。これを行う非常に簡単な方法があり、非常に便利で、さまざまな用途に使用できます。Power Query モジュロを使用します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

妻がオフィスに来て、カレンダーの招待状から大量の住所をコピーしたのに、結局この形式で貼り付けることになったと言いました。彼女は 28 個の電子メール アドレスと名前を持っていましたが、最終的にはこのような奇妙な積み上げ形式になりました。それは、引用符、カンマ、ジャンク、電子メール アドレスがたくさん含まれた名前のリストでした。彼女は、Power Query を使用してデータをより良い形式に変換する方法を知りたいと考えていました。

Power Query モジュロ: 積み重ねられたデータを処理する方法

それでは、Power Query に移り、生データを見てみましょう。生データはそのままにして、参照するだけにしておきます。この参照ファイルをTestDataと呼びます。

Power Query モジュロ: 積み重ねられたデータを処理する方法

最初にインデックスを追加します。これらの目的では、インデックスが 0 から始まるか 1 から始まるかはあまり関係ありません。このデモでは、ゼロから始まるインデックスだけを使用します。他のオプションを経由する必要がなく、クリックするのは簡単です。

Power Query モジュロ: 積み重ねられたデータを処理する方法

ピボットは行を取得して列に変換するため、これにはピボットが関係します。この場合、この一連の行を 3 つの列に変換します。1 つは名、1 つは姓、もう 1 つは電子メール アドレスです。

列内のそれらをピボットしますが、ピボットがどの要素がどの列に入るのかを知る方法が必要です。ここで Power Query Modulo が登場します。

目次

Power Query Modulo を使用したスタックされたデータの処理

Modulo は、特定の数値を除算したときの余りを返します。Modulo にアクセスするには、[列の追加] タブに移動し、[標準] を見つけてドロップダウン矢印をクリックし、下にスクロールします。

Power Query モジュロ: 積み重ねられたデータを処理する方法

[Modulo] をクリックすると、必要な列の数を尋ねるポップアップ ボックスが表示されます。この場合、3 つの列が必要です。

Power Query モジュロ: 積み重ねられたデータを処理する方法

3 を 3 で割ると、余りが 0 の 1 が得られます。3 を 4 にすると余りが 1 になり、3 を 5 にすると余りが 2 になり、さらに 3 を 6 にすると余りが 0 になります。したがって、ピボットに使用できるこの素晴らしい繰り返しパターンが生成されます。

その前に、データをクリーンアップしましょう。これを行うには 2 つの方法があります。1 つは、単純に値を置き換えることができることです。たとえば、引用符の場合は、そこに引用符を入力し、何も置き換えることができます。それらの引用符を削除して削除します。

Power Query モジュロ: 積み重ねられたデータを処理する方法

これを一度にクリーンアップしていくつかのステップを保存できるもう 1 つの方法は、Text.Removeという関数を使用することです。まず、カスタム列を追加し、次に削除するすべての値をリストします。

Power Query モジュロ: 積み重ねられたデータを処理する方法

ご覧のとおり、これによりすべてがうまく簡単にクリアされます。これで、最初の列を削除して、そのカスタム列を移動できるようになりました。

Power Query モジュロ: 積み重ねられたデータを処理する方法

これでピボットをきれいに実行できるようになりました。Modulo を使用し、[Transform]、[Pivot Column] の順に移動し、Custom を基にピボットしますが、それを集約したくありません。したがって、「集計しない」を選択し、「OK」をクリックします。

Power Query モジュロ: 積み重ねられたデータを処理する方法

これを列内のこれらの値に置き換えるだけです。次に、これら 3 つの列を作成します。そこには姓、名、電子メール アドレスが表示されていますが、これは私たちが望む形式ではありません。

これを修正するには、これらの列を取得して、Fill Upを実行します。

Power Query モジュロ: 積み重ねられたデータを処理する方法

そして、モデューロの繰り返しパターンにより、これらの余分な行ができました。

Power Query モジュロ: 積み重ねられたデータを処理する方法

交互の行を削除することで、これを簡単に取り除くことができます。これは、[行の削除] オプションで実行できます。

Power Query モジュロ: 積み重ねられたデータを処理する方法

削除する最初の行は 2 行であると言えます。次に、2 行目と 3 行目を削除し、4 行目を残し、これを繰り返しパターンとして実行します。

Power Query モジュロ: 積み重ねられたデータを処理する方法

すべての正しいデータが適切な方法でクリーンアップされ、28 個の元の電子メール アドレスがまだ残っていることがわかります。

Power Query モジュロ: 積み重ねられたデータを処理する方法

これで、Index 列を削除し、それに応じて列ヘッダーの名前を変更できます。


LuckyTemplates のモジュロ関数と整数除算の DAX 関数
データ モデルの Power Query のベスト プラクティス
Power Query M: 日付テーブルの 0 ~ 1 の交互パターン

結論

Modulo トリックを使用し、データをピボットし、少しクリーンアップするだけで、非常に簡単に実行できることがわかります。コツを掴めば、すべてを行うのにおそらく 1 分程度しかかかりません。

これで、さらにいくつかのアイデアやツールが得られたことを願っています。次のチュートリアルもご覧ください。その中で、このチュートリアルで説明した内容のいくつかをさらに詳しく見ていき、カスタム関数を使用してこのプロセスを反復可能な方法で自動化する方法についても見ていきます。カスタム関数をデバッグするための素晴らしいトリックもいくつか紹介します。

お役に立てば幸いです。以下の完全なビデオを視聴し、その他の関連コンテンツについては以下のリンクをチェックしてください。

ではごきげんよう!


Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。