Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
このチュートリアルでは、Power Query 高度なエディターを使用して、特定のテキストが出現する前に値を抽出する方法を説明します。これを実現する方法はたくさんありますが、完全にコード化されたソリューションを示すのは楽しいだろうと思いました。このチュートリアルの完全なビデオは、このブログの最後でご覧いただけます。
のメンバーが以下のシナリオを投稿しました。これから説明する完全にコード化されたソリューションはより高度ですが、個々のステップの結果を調べることができるように、非常に小さな部分に分割します。
目次
Power Query の高度なエディターと M 関数の使用
サンプル クエリの参照を作成し、ロジックを構築できるカスタム列を追加します。
まず最初にテキスト列を分割します。そこで、関数Text.Splitを使用して、開き括弧を配置します。テキストが必要なので、Text 列をポイントできます。次に、テキストとして区切り文字が必要です。したがって、一連の二重引用符の間にセミコロンを追加し、括弧を閉じて [OK] を押します。
これにより、テキスト値が区切られたリストが得られます。
これらのテキスト文字列には先頭または末尾のスペースが含まれている可能性があり、それらを削除する必要があるため、まだ少しクリーンアップを行う必要があります。つまり、これらの各リストの内容を変更する必要があり、そのためのList.Transformと呼ばれるM 関数があります。
そこで、数式バーに List.Transform を追加します。リストが必要なので、それを指定してからカンマを入れます。次は変換なので、これらのテキストをトリミングします。そこで、 Text.Trimを追加し、次に右かっこを追加して、「OK」を押します。
ここで、Power Query 高度なエディター ウィンドウを開いてみましょう。前述したように、これを非常に小さな部分に分割したいからです。変数を使用して、各ステップの中間結果を保存します。
let式内にカンマ区切りの変数セットを作成できます。最初のステップをListTextsと呼びます。最後の閉じ括弧は列関数を追加したテーブルのものなので、これも新しい行に移動します。最初の式の最後にカンマを入力する必要があるので、そこに新しい式を追加できます。
次に、新しい変数名を作成し、それをFindPositionsと呼びます。弦全体が分離され、クリーニングされています。私たちがしなければならないのは、探している文字列の場所を見つけることだけです。これを行うには、 ListPositionOfという関数を使用します。開き括弧を追加すると、すでに作成した変数 (ListTexts) を返すことができます。
次に、探している値を入力します。これは 2 つの大文字の A です。let に相当するのは句内のなので、それを追加してFindPositionsに返す必要があります。次に、「完了」を押します。
この関数はオプションの 3 番目のパラメーターを取るため、数式バーにその 3 番目のパラメーターを追加できます。これでリストが得られます。
目的は検索文字列の前の値を抽出することなので、単一の位置に戻る必要があります。しかし、ゼロもあります。その文字列には最初の初期値より前に値はなく、エラーを避ける必要があるため、これらのゼロを除外する必要があるため、もう一度詳細エディターに戻ってロジックを追加します。
まだ 1 つの位置に戻る必要があります。したがって、高度なエディターでは、List.Transformを使用してこれを解決できます。
次に、List.Transform を使用して文字列を取得し、リスト内の項目にアクセスします。
最後のステップでは、リスト内のすべてのテキスト値を単一の文字列に結合します。そこで、関数Text.Combineを使用した結果のロジックに別の行を追加します。
これにより、完全にコード化されたソリューションを使用して、特定のテキストの前の文字列を抽出できるようになります。
区切りデータ – LuckyTemplates を使用したレコードの抽出
Power Query のレコードとリストから値を抽出する
LuckyTemplates で複数の列を動的にアンピボットする
結論
このチュートリアルでは、特定のテキストの前にある文字列を抽出する方法を説明し、そのタスクを実行するためにいくつかのテキストとリスト M 関数を使用しました。楽しんでいただけたでしょうか。以下の完全なビデオチュートリアルを見て、段階的な解決策を詳しく確認してください。
ではごきげんよう!
メリッサ
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。
Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。
LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。
SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。
SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。
ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。
DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。
LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。
このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。