Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
この Power Query フィルター チュートリアルでは、Excel BI のテーブル フィルターの課題を解決するためのいくつかのアプローチを示します。このチャレンジの目標は、2 番目の単語が文字「C」で始まる名前を除外することです。
この Excel BI チャレンジは、LuckyTemplates のスキルを練習して磨く絶好の機会です。また、この分野の専門家によって使用されている優れたテクニックもたくさんあり、ここで学び、発見することができます。このチュートリアルのビデオ全体は、このブログの下部でご覧いただけます。
目次
Power Query フィルターのアプローチ #1
Power Query エディターに移動して、この問題を解決してみましょう。ユーザー インターフェイスとそのツールを可能な限り 使用して、文字Cで始まる 2 番目の単語を探します。[変換] タブで 、 [抽出]に移動し 、 [区切り記号の後のテキスト]を選択します。
上の [区切り文字の後のテキスト] ウィンドウで、スペースを入力して [OK] を押すと、以下のリストが表示されます。もちろん、以下の結果は私たちが望むものとは異なりますが、これにより構文の重要な部分が作成されます。
これらの各文字列の開始文字をそのままにしておきます。そこで、数式バーに別の関数Text.Startを追加し 、1 文字を保持してチェック マークを押します。
残っているのは、この結果を文字 C と比較することだけです。方程式の最後に = C と言って、チェック マークをもう一度押します。
テーブルのフィルタリングに使用できるロジックが正常に作成されました。次に、数式バーの構文をコピーし ( Ctrl + C )、X をステップから外す必要があります。
その後、ダミーフィルターを作成します。
作成したばかりのロジックを貼り付けて (Ctrl + V)、列参照を切り取り (Ctrl + X)、最後の部分を削除します。そして得られるのが下の画像です。
最後の括弧を強調表示し、それが Table.SelectRows 関数に属している場合は、準備完了です。最後に、 Text.AfterDelimeterの後にアンダースコアを付ける代わりに 、その列選択を貼り付けて戻し、そのチェック マークを押します。
そして、それが機能することが以下でわかります。
Power Query フィルターのアプローチ # 2
この Power Query フィルター チュートリアルの 2 番目のアプローチでは、少し異なることを実行します。いくつかの異なるPower Query 関数を使用しますが、比較では大文字と小文字が区別されます。
構造の大部分はすでに前の数式バーにあります。したがって、上で強調表示されている構文をコピーし、その fxを 先頭に押して、それを使用して 2 番目のアプローチを構築できるようにします。
次に、上の画像にある前のステップ参照 (「フィルターされた行」) を消去し、構文を貼り付けて置き換えます。そして最後に、もう一度チェックマークを押します。
単語をリストに分割する
数式バー内のText.AfterDelimeter の代わりに 、 Text.Splitを使用してリスト内の単語を分割します 。これには、以下のように名前列とスペースを分割することも含まれます。
各単語にはリスト内での位置があり、2 番目の位置にある単語を抽出するには、項目アクセスを使用します。したがって、中括弧のセットでは、そのゼロベースのインデックス位置を参照できます。2 番目の位置にあるものにアクセスするには、ここに1を入力する必要があります。
しかし、これを保護したいとも考えています。ある瞬間に 1 つの単語だけを含む文字列が入力された場合、そのリストには 2 番目の項目が存在せず、エラーが返されるからです。
必須項目アクセスをオプション項目アクセスに変更すると、将来発生する可能性のある問題が解決されます。そのためには、最後に疑問符 ( ? ) を追加するだけです。
疑問符を追加すると、必須項目アクセス権がオプション項目アクセス権に変更されます。これは、項目がリストに存在しない場合、エラーではなく null が返されることを意味します。
オプションの比較パラメーターを持つ関数を使用するため、関数 Text.Startも変更しましょう。したがって、 Text.Start の代わりに Text.StartsWithを使用し 、疑問符の後にコンマを追加し、 探している部分文字列である“C”を入力します。
次に、そのCompare 関数 を使用できるようにする ため、 Comparer.OrdinalIgnoreCaseと入力して選択します 。また、選択した行を表にするには右かっこを忘れずに追加してください。
これでほぼ完了です。あとはこれが true を返すかどうかを確認するだけなので、 数式の最後に= true を追加してチェック マークを押しましょう。これでプロセスは完了です。
Power Query テーブルの列を動的に結合する方法
Power Query: 異なる列を持つテーブルを結合する方法
拡張日付テーブル Power Query M 関数
結論
この Power Query フィルター チュートリアルでは、テーブル フィルターの課題に対する 2 つのアプローチを見てきました。1 つ目は、 Table.SelectRows関数 と Text.Start関数 とともに、[変換] タブの Text After Delimiterを使用します 。
一方、2 つ目では、 Text After Delimiter の使用を省略し 、 Text.Split関数を Text.Start に置き換えて 、リスト内の単語を分割します。また、比較関数Comparer.OrdinalIgnoreCaseも利用します 。
両方のテーブル フィルター オプションを調べて、どちらのアプローチがより適しているかを見つけることができます。
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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。