Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
LuckyTemplates サポート フォーラムでメンバーが動的パラメーターについて何度も質問しているのを見たので、動的パラメーターを使用した動的セグメンテーションについて説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
この点で難しいのは、どの領域を最初にセグメント化するかを判断することです。また、動的パラメータを数式に入力する方法も見つける必要があります。ここで示す例を通じて、これらすべてを単純化していきます。
目次
What-If パラメータの作成
まず必要なのはパラメータです。この場合、顧客ランクパラメータを作成しました。
このパラメータを作成するには、「モデリング」に進み、「新規パラメータ」をクリックします。
what-if パラメータによりテーブルが自動的に作成されます。また、私が行った選択に対するメジャーも作成されます。
それをレポートにドラッグすると、スライサーで選択した内容がすべて表示されます。
ここで覚えておくべき重要な点は、カスタム セグメンテーションを実行するたびにパラメータで結果を分割する必要があるということです。
したがって、顧客ランクのパラメータとは別に、店舗が存在する地域に関する情報も得ています。
計算のコンテキストは、これを正しく行うための重要な要素の 1 つです。ここには、店舗の場所を示す追加のコンテキストもあります。
次に、上位顧客と下位顧客を比較して、収益を分けたいと考えています。また、これらの上位グループと下位グループの両方を動的にしたいと考えています。ここで動的パラメータが登場します。
動的パラメータの適用
したがって、データをどのように見たいかによって結果は変わる必要があります。つまり、Customer Rankのスライサーを変更すると、テーブル上のデータも変更されるはずです。
最初にやることは、公式を使用して上位の顧客をテーブルに参加させることです。
合計収益に対して関数を使用し、ランキング関数としてを使用して列を作成しました。TOPN は、ランキング結果に基づいて仮想テーブルも返します。
上位にランクされた顧客のみを調べているため、総収益を 計算するときにここにコンテキストを追加しました。そのランキングは、顧客ランク値によって決定されます。
TOPNを使用して、すべての顧客データを調べます。ただし、テーブルに設定されているパラメーターであるため、上位 4 つのコンテキストのみが維持されます。スライサーで設定した値です。
スライサーを 3 に移動すると、結果も変更され、上位 3 つのデータのみが反映される必要があります。
また、下位の顧客にも注目したいので、それをテーブルに追加します。
最下位の顧客をそこに配置したため、特定の時間枠内の店舗ごとの顧客の総数が必要になることに注意することも重要です。
Total Customers を取得するには、関数を使用しました。
これはすべて単なるサンプル データであるため、この式から導き出される数値は小さく、非現実的に見えるかもしれないことに注意してください。ただし、この計算は、実際のシナリオに適用すると、より大きな周波数でも機能します。
これが私が下位顧客を獲得するために使用した公式です。これはTop Customersで使用したものと非常に似ていますが、若干の調整が加えられていることに注意してください。
ここでもCALCULATE関数とTOPN関数の両方を使用しました。ただし、単に顧客ランクを入力する代わりに、総顧客数と顧客ランク値の差を使用しました。
次に、単にとCustomer Name を配置するのではなく、ロジックを追加する必要がありました。上位の顧客ではなく下位の顧客を取得しているため、 DESCの代わりにASC を使用します。
前の式は、すべての顧客を反復処理して上位の顧客を取得しました。ただし、取得しているのは最下位の顧客であるため、売上がゼロのインスタンスもカウントされることになります。
最下位の顧客としてカウントされた人も購入したことを確認する必要があります。このため、値は 0 より大きくなければならないと追加しました。
そのため、私のデータには実際に購入した顧客の数が表示されるようになりました。この最初の行では、11 人の顧客が指定された期間内にその特定の店舗で何かを購入したことを示しています。
この部分は非常に難しくなる可能性があります。これは主にTOPNがすでに仮想テーブルを作成しているためですが、その中に別の仮想テーブルも作成しているためです。この仮想テーブルは、顧客全体ではなく、はるかに小さい顧客のサブセットに注目します。
そこで、ここではTotal Revenueの式の最後に別のランキングを作成しています。前に述べたように、 DESCの代わりにASC を使用しています。
これらの数式を使用すると、動的パラメータが動的セグメンテーションに追加されました。
結果の視覚化
私が使用した手法は、はるかに大規模なデータセットに使用できる可能性があります。これは、結果をよりよく理解するには、結果を示すいくつかの視覚化が役立つことを意味します。
まず、各店舗の上位顧客と下位顧客の比較を示す簡単なグラフから始めます。
数値が十分に大きく、その方が適切に表示される場合は、これを変更して積み上げ棒グラフを使用することもできます。
これらの視覚化により、数値をより深く理解することができます。これは、たとえば、どの店舗がより高いリスクにさらされているかを示します。顧客が非常に少なく、収益が低い店舗がわかります。
動的セグメンテーション: 高度な DAX を使用して顧客をグループにセグメント化する方法
データ モデルを使用した顧客セグメンテーション手法 – LuckyTemplates と
LuckyTemplates で高度な DAX を使用した DAX セグメンテーションの例
結論
ここで使用したデータは非常に低頻度ですが、これをより大きなデータセットに適用したときの可能性を想像してください。この手法では、他の情報をセグメント化し、上位顧客と下位顧客や店舗の場所だけでなく、非常に多くの異なるパラメータを追加することもできます。
この例では、メジャー内のメジャーを操作する方法も示します。このようなテクニックを使用すると、データがどこに適用されるかに関係なく、データに関する驚くべき洞察が得られます。
ではごきげんよう、
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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。