Python における Self とは: 実際の例
Python における Self とは: 実際の例
というシリーズのために作成したテキスト クリーニングのカスタム関数を詳しく見ていきます。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
第 2 週では、クリーンアップが必要な乱雑なデータがいくつかあります。ここでの目標は、両方の列のすべてのテキスト値をクリーンアップすることです。
このタスクのために、クリーン テキスト関数を作成しました。
まずは、M コードを簡単に見てみましょう。
この関数は、myText という 1 つのパラメータを受け取ります。以下にリストされているすべての変数がテキスト値を返すわけではないため、その値はテキスト型である必要があり、関数はテキスト値を返す必要があります。
戻り値の型を宣言するとエラーになります。このエラーの発生を防ぐために、今のところはコメントアウトできます。
最初の変数が何を返すかを確認したい場合は、in 句の後に名前で参照するだけです。そこで、ToRemove 変数をコピーし、一番下の行に貼り付けて、[OK] をクリックします。
その関数の結果を確認するには、その関数を呼び出す必要があります。このクエリにカスタム列を追加しましょう。
次に、関数を呼び出し、この結合された列を選択して、[OK] を押します。
目次
空のクエリからリストを作成する
ToRemove ステップでリストが作成されることがわかります。実際には、これは 2 つのリストを組み合わせたものです。
最初のリストは引用符を作成し、2 番目のリストは削除したい文字の範囲を示しています。
このリストはどうやって作成したのでしょうか?
さて、私はTxt.ToListという関数を使いました。
内部関数のドキュメントにアクセスするには、空のクエリを作成し、括弧なしで関数名を入力し、Enter キーを押します。
Text.ToList が指定されたテキスト値から文字値のリストを返すことがわかります。
いくつかのテキストを貼り付けて、この関数を呼び出してみましょう。
新しいクエリが作成され、このリストにはテキスト内に表示されるすべての文字が含まれていることがわかります。
追加のリストを追加したことを覚えていますか? 2 つのリストを結合し、アンパサンドを使用しました。
それを今再現しましょう。アンパサンドとリスト初期化子を使用して、引用符を入力しました。
引用符がこのリストに追加されたことがわかりますが、なぜリストを作成したのでしょうか?
さて、テキスト クリーニング関数の次のステップでは、Text という M 関数を使用しました。削除。
テキストを入力してから、その文字列から削除する文字のリストを入力できることがわかります。
テキストクリーニング機能に戻りましょう。
に。Remove はこれら 2 つのリストを作成し、それらを 1 つのリストに結合しました。
次に、CleanText 変数を貼り付けましょう。'in' 句は M 関数 Text.Remove を呼び出し、myText 変数を渡してから、To.Remove リストを呼び出します。これが何をするのか見てみましょう。
クエリに戻りましょう。これはリストを返さなくなりましたが、いくつかのテキスト値を返します。
Power Query でのトリミング
次のステップはトリミングです。上の画像からわかるように、追加のスペースと最後にある末尾のカンマを削除する必要があります。これを行うには、トリム関数を使用できます。クエリに戻って M コードを調べてみましょう。
M コードでは、2 つのトリム関数をネストしました。最初の文字列関数は、CleanText 変数の先頭と末尾にある追加のスペースを削除します。
残りのテキストについては、結果の文字列からスペースも削除します。
末尾のカンマも削除します。
結果を見てみましょう。変数名をコピーし、「in」句の後に貼り付けて、「完了」をクリックします。クエリを更新すると、追加のスペースが削除され、末尾のカンマが削除されていることがわかります。
クエリの最後のステップでは、いくつかのテキスト値を置き換えただけです。
最後のケースでは、アンダースコアをスペースに置き換えました。それをコピーして、「in」句の後に貼り付けましょう。戻り値の型も再度有効にしました。
クエリに戻って結果を調べてみましょう。これまでのところ、非常に良好です。
さて、関数を呼び出すために新しい列を作成する必要はありませんよね? 私たちができることは、代わりにマージ列の列 1 を変換することです。
このカスタム列ステップを削除します。
次に、UI を使用してコードの大部分を作成します。[変換] タブで両方の列を選択し、[形式] に移動して関数を選択します。
これは UI によって生成される M コードであるため、どの関数が選択されるかは実際には問題ではありません。これで、そのテキストを置き換えることができます。下位機能…
…クリーンテキスト機能を使用します。なぜ fx を前に追加しなければならなかったのか理解していただけたでしょうか。それから始まる「in function」はありません。
OK を押すと、テキストが消去されたことがわかります。これはすごいですね。
結論
なぜカスタム クリーニング関数を作成するのに苦労しなければならなかったのでしょうか? 今後、この手順を繰り返すか、同様のロジックを使用する必要がある可能性がある場合は、この関数クエリを保存できます。
そうすることで、後の段階でのクエリの開発がスピードアップします。もう一つの良い理由は、それが楽しいからです。
このチュートリアルを楽しんでいただければ幸いです。購読した場合は、 LuckyTemplates チャンネルに登録することを忘れないでください。
メリッサ
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて