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 関数を使用しました。楽しんでいただけたでしょうか。以下の完全なビデオチュートリアルを見て、段階的な解決策を詳しく確認してください。

ではごきげんよう!

メリッサ


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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。