Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
多くの人は、 DAXを使用してLuckyTemplates のカスタム並べ替えを実行できないと信じていますが、それは真実ではありません。DAX は並べ替えを完全に保証でき、実際にそれを行うのは非常に簡単です。今日のブログでは、まさにそれを簡単に行う方法を紹介します。 このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
目次
私たちのデータモデル
単純なデータ モデルから始めましょう。データ テーブルには 3 つのキャンペーン、分析された ROI、およびコストが含まれています。
表からわかるように、コストは同じですが、ROI が異なります。ここでの概念は、特定の予算に対する ROI に応じてどのキャンペーンを実行する必要があるかを知ることです。
LuckyTemplates カスタム並べ替え: While ループの使用
単純な while ループを使用した測定から始めましょう。
予算を 20000 に設定し、 _Budget を使用して Budget 変数に保存します。
次に、テーブル変数VAR_Tableを作成して while ループを使用します。
次に、ベースの表 4に対してを使用し、 「_RT」を使用して累計列を追加します。
次に、VAR_ROIとして保存されている現在の行の[分析された ROI]を取得します。次に、Budget を取得します。そこからを減算し、現在の行で取得した ROI 以上の分析済み ROI を求めて表 4 をフィルターし、[Cost]を取得します。
これらの行では、最初の行で最も高い ROI が取得され、次に次の行でその次に高い ROI が取得されます (以下同様)。したがって、本質的には、マイナスの場合は 0 までカウントダウンする累計を表す列が作成されます。
次に、while ループを終了します。VAR_FinalTableを使用して FinalTable 変数を作成します。ここでは、単純に Table 変数をフィルターして、ゼロ以上の累計を求めます。このフィルターを適用するのは、ゼロを下回るとマイナスになり、予算を超えていることを意味するためです。
使用できます。列 (Campaigns、Analyzed ROI、Cost) を含め、を追加します。
[選択] ウィンドウでこのカードのビジュアルを再表示すると、ROI が最も高い 2 つの Instagram と SEM があることがわかります。
元の表を確認して結果を比較してみましょう。
実際、PPC の ROI は SEM や Instagram よりも低いことがわかります。
ただし、お気づきかと思いますが、結果は正しい順序で返されず、Instagram の 8.1 が SEM の 8.15 の前に最初に表示されました。
LuckyTemplates の並べ替え順序の適用
しかし、ROI が最も高い Instagram を最初に返し、SEM を 2 番目に返したい場合はどうすればよいでしょうか? 基本的に、ソート順序を保証したいと考えています。これは少し難しくなりますが、その方法を理解するのは難しくありません。
関数は次のようになります。下部セクションは以前の while ループと同じです。
そして、ソート順序を保証するには、少し追加の作業を行う必要があります。
ここでも、20000 に設定したVAR_Budgetから始めます。次に、 VAR_Count Iを使用して Count 変数を作成し、表 4 に
次の行では、CONCATENATEX関数を使用して、キャンペーン、分析された ROI、およびコストの列を連結します。データ内にないものであれば何でも区切り文字として使用できます。この場合は、アスタリスクを使用しましょう。
次に、コスト列の後の次のパラメーターでパイプ文字 (|) を使用します。また、VAR_Ordered を使用して分析された ROI を降順に並べ替えます。つまり、最も高い ROI が一番上になります。
コメント行を見ると、コードはSEM*8.158*10000 |のような形式で結果を返すと言っています。インスタグラム*8.1*10000。また、ROI が高いものから低いものまでの順序で表示されます。
LuckyTemplates カスタム並べ替え: For ループの使用
この例は、 for ループ、while ループ、およびあらゆる種類の優れた関数を取得できるため、興味深いものです。今回は、for ループを使用します。
表1
この例では、Table1 が for ループであり、 (1,_Count,1)として記述される 1 からカウントまで 1 ずつ進むへのADDCOLUMNSを実行しています。
テーブルの行を区切るためにパイプ文字を使用するため、行ではPATHITEMを使用して、文字列であるOrdered変数からパスを取得します。
また、テーブル内の行数がなくなるまで、 GENERATESERIESで作成される自動列であるValue、または Calendars 1、2、3、4、5 も使用します。次に、それをTextとして返します。
これで、テーブルの並べ替え順序が保証され、ROI が最も高いものから最も低いものへと変わります。したがって、並べ替え順序を保証するための DAX は次のとおりです。
表2
これを使用可能な形式で取得するには、Table2を実行する必要があります。ここで、取得した文字列から個々の列を選択します。
別のADDCOLUMNSを使用して、for ループである Table1 に追加してみましょう。Campaignsの場合は、campaigns 列を作成し、を使用してアスタリスクをパイプに置き換えます。次に、 RowPath のPATHITEM を使用して最初の要素を取得し、それをTEXT として返します。
「分析された ROI」列でも、基本的に同じことを行います。アスタリスクをパイプに置き換えます。次に、パス内の 2 番目の項目を取得し、TEXT として返します。これを行うのは、何らかの理由で、PATHITEM では10 進数ではなく整数またはテキストとして返せるためです。
これは少し奇妙ですが、ゼロを追加するだけで済み、DAX が TEXT 文字列を数値に自動的に変換するため、これを解決できます。
もう一度、 Cost列に対して同じことを行います。SUBSTITUTEとPATHITEMを使用して3 番目の項目を取得します。次に、数値を返すには、この場合は整数であるため、もう一度ゼロを追加します。
コードの残りの部分は、前に説明した while ループです。これで、キャンペーンの最高位から最低位への保証された並べ替え順序が得られます。
当社のキャンペーンの ROI は SEM が最も高く、Instagram は 2 番目でした。
LuckyTemplates の外部ツール – LuckyTemplates Power Sort Pro
レポート ビルダーでグラフを並べ替えおよびフィルターする方法
LuckyTemplates レポートで視覚化を動的に並べ替える
結論
while ループと for ループを使用して、ROI に基づいてデータ モデルで 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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。