Power Query でのカスタム テキスト クリーニング関数の作成

Power Query でのカスタム テキスト クリーニング関数の作成

というシリーズのために作成したテキスト クリーニングのカスタム関数を詳しく見ていきます。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

第 2 週では、クリーンアップが必要な乱雑なデータがいくつかあります。ここでの目標は、両方の列のすべてのテキスト値をクリーンアップすることです。

このタスクのために、クリーン テキスト関数を作成しました。

Power Query でのカスタム テキスト クリーニング関数の作成

まずは、M コードを簡単に見てみましょう。

Power Query でのカスタム テキスト クリーニング関数の作成

この関数は、myText という 1 つのパラメータを受け取ります。以下にリストされているすべての変数がテキスト値を返すわけではないため、その値はテキスト型である必要があり、関数はテキスト値を返す必要があります。

Power Query でのカスタム テキスト クリーニング関数の作成

戻り値の型を宣言するとエラーになります。このエラーの発生を防ぐために、今のところはコメントアウトできます。

Power Query でのカスタム テキスト クリーニング関数の作成

最初の変数が何を返すかを確認したい場合は、in 句の後に名前で参照するだけです。そこで、ToRemove 変数をコピーし、一番下の行に貼り付けて、[OK] をクリックします。

Power Query でのカスタム テキスト クリーニング関数の作成

その関数の結果を確認するには、その関数を呼び出す必要があります。このクエリにカスタム列を追加しましょう。

Power Query でのカスタム テキスト クリーニング関数の作成

次に、関数を呼び出し、この結合された列を選択して、[OK] を押します。

Power Query でのカスタム テキスト クリーニング関数の作成

目次

空のクエリからリストを作成する

ToRemove ステップでリストが作成されることがわかります。実際には、これは 2 つのリストを組み合わせたものです。

最初のリストは引用符を作成し、2 番目のリストは削除したい文字の範囲を示しています。

Power Query でのカスタム テキスト クリーニング関数の作成

このリストはどうやって作成したのでしょうか?

さて、私はTxt.ToListという関数を使いました。

内部関数のドキュメントにアクセスするには、空のクエリを作成し、括弧なしで関数名を入力し、Enter キーを押します。

Power Query でのカスタム テキスト クリーニング関数の作成

Text.ToList が指定されたテキスト値から文字値のリストを返すことがわかります。

いくつかのテキストを貼り付けて、この関数を呼び出してみましょう。

Power Query でのカスタム テキスト クリーニング関数の作成

新しいクエリが作成され、このリストにはテキスト内に表示されるすべての文字が含まれていることがわかります。

Power Query でのカスタム テキスト クリーニング関数の作成

追加のリストを追加したことを覚えていますか? 2 つのリストを結合し、アンパサンドを使用しました。

それを今再現しましょう。アンパサンドとリスト初期化子を使用して、引用符を入力しました。

Power Query でのカスタム テキスト クリーニング関数の作成

引用符がこのリストに追加されたことがわかりますが、なぜリストを作成したのでしょうか?

Power Query でのカスタム テキスト クリーニング関数の作成

さて、テキスト クリーニング関数の次のステップでは、Text という M 関数を使用しました。削除。

Power Query でのカスタム テキスト クリーニング関数の作成

テキストを入力してから、その文字列から削除する文字のリストを入力できることがわかります。

Power Query でのカスタム テキスト クリーニング関数の作成

テキストクリーニング機能に戻りましょう。

Power Query でのカスタム テキスト クリーニング関数の作成

に。Remove はこれら 2 つのリストを作成し、それらを 1 つのリストに結合しました。

Power Query でのカスタム テキスト クリーニング関数の作成

次に、CleanText 変数を貼り付けましょう。'in' 句は M 関数 Text.Remove を呼び出し、myText 変数を渡してから、To.Remove リストを呼び出します。これが何をするのか見てみましょう。

Power Query でのカスタム テキスト クリーニング関数の作成

クエリに戻りましょう。これはリストを返さなくなりましたが、いくつかのテキスト値を返します。

Power Query でのカスタム テキスト クリーニング関数の作成

Power Query でのトリミング

次のステップはトリミングです。上の画像からわかるように、追加のスペースと最後にある末尾のカンマを削除する必要があります。これを行うには、トリム関数を使用できます。クエリに戻って M コードを調べてみましょう。

M コードでは、2 つのトリム関数をネストしました。最初の文字列関数は、CleanText 変数の先頭と末尾にある追加のスペースを削除します。

Power Query でのカスタム テキスト クリーニング関数の作成

残りのテキストについては、結果の文字列からスペースも削除します。

末尾のカンマも削除します。

Power Query でのカスタム テキスト クリーニング関数の作成

結果を見てみましょう。変数名をコピーし、「in」句の後に貼り付けて、「完了」をクリックします。クエリを更新すると、追加のスペースが削除され、末尾のカンマが削除されていることがわかります。

Power Query でのカスタム テキスト クリーニング関数の作成

クエリの最後のステップでは、いくつかのテキスト値を置き換えただけです。

Power Query でのカスタム テキスト クリーニング関数の作成

最後のケースでは、アンダースコアをスペースに置き換えました。それをコピーして、「in」句の後に貼り付けましょう。戻り値の型も再度有効にしました。

Power Query でのカスタム テキスト クリーニング関数の作成

クエリに戻って結果を調べてみましょう。これまでのところ、非常に良好です。

Power Query でのカスタム テキスト クリーニング関数の作成

さて、関数を呼び出すために新しい列を作成する必要はありませんよね? 私たちができることは、代わりにマージ列の列 1 を変換することです。

このカスタム列ステップを削除します。

Power Query でのカスタム テキスト クリーニング関数の作成

次に、UI を使用してコードの大部分を作成します。[変換] タブで両方の列を選択し、[形式] に移動して関数を選択します。

Power Query でのカスタム テキスト クリーニング関数の作成

これは UI によって生成される M コードであるため、どの関数が選択されるかは実際には問題ではありません。これで、そのテキストを置き換えることができます。下位機能…

Power Query でのカスタム テキスト クリーニング関数の作成

…クリーンテキスト機能を使用します。なぜ fx を前に追加しなければならなかったのか理解していただけたでしょうか。それから始まる「in function」はありません。

Power Query でのカスタム テキスト クリーニング関数の作成

OK を押すと、テキストが消去されたことがわかります。これはすごいですね。

Power Query でのカスタム テキスト クリーニング関数の作成

結論

なぜカスタム クリーニング関数を作成するのに苦労しなければならなかったのでしょうか? 今後、この手順を繰り返すか、同様のロジックを使用する必要がある可能性がある場合は、この関数クエリを保存できます。

そうすることで、後の段階でのクエリの開発がスピードアップします。もう一つの良い理由は、それが楽しいからです。

このチュートリアルを楽しんでいただければ幸いです。購読した場合は、 LuckyTemplates チャンネルに登録することを忘れないでください。

メリッサ


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 ゲートウェイとは何ですか? 知っておくべきことすべて