Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

このチュートリアルでは、Power Query 高度なエディターを使用して、特定のテキストが出現する前に値を抽出する方法を説明します。これを実現する方法はたくさんありますが、完全にコード化されたソリューションを示すのは楽しいだろうと思いました。このチュートリアルの完全なビデオは、このブログの最後でご覧いただけます。

のメンバーが以下のシナリオを投稿しました。これから説明する完全にコード化されたソリューションはより高度ですが、個々のステップの結果を調べることができるように、非常に小さな部分に分割します。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

目次

Power Query の高度なエディターと M 関数の使用

サンプル クエリの参照を作成し、ロジックを構築できるカスタム列を追加します。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

まず最初にテキスト列を分割します。そこで、関数Text.Splitを使用して、開き括弧を配置します。テキストが必要なので、Text 列をポイントできます。次に、テキストとして区切り文字が必要です。したがって、一連の二重引用符の間にセミコロンを追加し、括弧を閉じて [OK] を押します。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

これにより、テキスト値が区切られたリストが得られます。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

これらのテキスト文字列には先頭または末尾のスペースが含まれている可能性があり、それらを削除する必要があるため、まだ少しクリーンアップを行う必要があります。つまり、これらの各リストの内容を変更する必要があり、そのためのList.Transformと呼ばれるM 関数があります。

そこで、数式バーに List.Transform を追加します。リストが必要なので、それを指定してからカンマを入れます。次は変換なので、これらのテキストをトリミングします。そこで、 Text.Trimを追加し、次に右かっこを追加して、「OK」を押します。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

ここで、Power Query 高度なエディター ウィンドウを開いてみましょう。前述したように、これを非常に小さな部分に分割したいからです。変数を使用して、各ステップの中間結果を保存します。

let式内にカンマ区切りの変数セットを作成できます。最初のステップをListTextsと呼びます。最後の閉じ括弧は列関数を追加したテーブルのものなので、これも新しい行に移動します。最初の式の最後にカンマを入力する必要があるので、そこに新しい式を追加できます。

次に、新しい変数名を作成し、それをFindPositionsと呼びます。弦全体が分離され、クリーニングされています。私たちがしなければならないのは、探している文字列の場所を見つけることだけです。これを行うには、 ListPositionOfという関数を使用します。開き括弧を追加すると、すでに作成した変数 (ListTexts) を返すことができます。

次に、探している値を入力します。これは 2 つの大文字の A です。let に相当するのは句内のなので、それを追加してFindPositionsに返す必要があります。次に、「完了」を押します。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

この関数はオプションの 3 番目のパラメーターを取るため、数式バーにその 3 番目のパラメーターを追加できます。これでリストが得られます。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

目的は検索文字列の前の値を抽出することなので、単一の位置に戻る必要があります。しかし、ゼロもあります。その文字列には最初の初期値より前に値はなく、エラーを避ける必要があるため、これらのゼロを除外する必要があるため、もう一度詳細エディターに戻ってロジックを追加します。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

まだ 1 つの位置に戻る必要があります。したがって、高度なエディターでは、List.Transformを使用してこれを解決できます。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

次に、List.Transform を使用して文字列を取得し、リスト内の項目にアクセスします。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

最後のステップでは、リスト内のすべてのテキスト値を単一の文字列に結合します。そこで、関数Text.Combineを使用した結果のロジックに別の行を追加します。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する

これにより、完全にコード化されたソリューションを使用して、特定のテキストの前の文字列を抽出できるようになります。

Power Query 高度なエディターを使用して特定のテキストの前の値を抽出する


区切りデータ – LuckyTemplates を使用したレコードの抽出
Power Query のレコードとリストから値を抽出する
LuckyTemplates で複数の列を動的にアンピボットする

結論

このチュートリアルでは、特定のテキストの前にある文字列を抽出する方法を説明し、そのタスクを実行するためにいくつかのテキストとリスト 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 ゲートウェイとは何ですか? 知っておくべきことすべて