DAX を使用した LuckyTemplates カスタム並べ替え

DAX を使用した LuckyTemplates カスタム並べ替え

多くの人は、 DAXを使用してLuckyTemplates のカスタム並べ替えを実行できないと信じていますが、それは真実ではありません。DAX は並べ替えを完全に保証でき、実際にそれを行うのは非常に簡単です。今日のブログでは、まさにそれを簡単に行う方法を紹介します。 このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

目次

私たちのデータモデル

単純なデータ モデルから始めましょう。データ テーブルには 3 つのキャンペーン、分析された ROI、およびコストが含まれています。 

DAX を使用した LuckyTemplates カスタム並べ替え

表からわかるように、コストは同じですが、ROI が異なります。ここでの概念は、特定の予算に対する ROI に応じてどのキャンペーンを実行する必要があるかを知ることです。 

LuckyTemplates カスタム並べ替え: While ループの使用

単純な while ループを使用した測定から始めましょう。 

DAX を使用した LuckyTemplates カスタム並べ替え

予算を 20000 に設定し、 _Budget を使用して Budget 変数に保存します。

DAX を使用した LuckyTemplates カスタム並べ替え

次に、テーブル変数VAR_Tableを作成して while ループを使用します。 

DAX を使用した LuckyTemplates カスタム並べ替え

次に、ベースの表 4に対してを使用し、 「_RT」を使用して累計列を追加します。

DAX を使用した LuckyTemplates カスタム並べ替え

次に、VAR_ROIとして保存されている現在の行の[分析された ROI]を取得します。次に、Budget を取得します。そこからを減算し、現在の行で取得した ROI 以上の分析済み ROI を求めて表 4 をフィルターし、[Cost]を取得します。 

DAX を使用した LuckyTemplates カスタム並べ替え

これらの行では、最初の行で最も高い ROI が取得され、次に次の行でその次に高い ROI が取得されます (以下同様)。したがって、本質的には、マイナスの場合は 0 までカウントダウンする累計を表す列が作成されます。

次に、while ループを終了します。VAR_FinalTableを使用して FinalTable 変数を作成します。ここでは、単純に Table 変数をフィルターして、ゼロ以上の累計を求めますこのフィルターを適用するのは、ゼロを下回るとマイナスになり、予算を超えていることを意味するためです。

DAX を使用した LuckyTemplates カスタム並べ替え

使用できます。列 (Campaigns、Analyzed ROI、Cost) を含め、を追加します。

DAX を使用した LuckyTemplates カスタム並べ替え

[選択] ウィンドウでこのカードのビジュアルを再表示すると、ROI が最も高い 2 つの Instagram と SEM があることがわかります。

DAX を使用した LuckyTemplates カスタム並べ替え

元の表を確認して結果を比較してみましょう。

DAX を使用した LuckyTemplates カスタム並べ替え

実際、PPC の ROI は SEM や Instagram よりも低いことがわかります。 

ただし、お気づきかと思いますが、結果は正しい順序で返されず、Instagram の 8.1 が SEM の 8.15 の前に最初に表示されました。 

LuckyTemplates の並べ替え順序の適用

しかし、ROI が最も高い Instagram を最初に返し、SEM を 2 番目に返したい場合はどうすればよいでしょうか? 基本的に、ソート順序を保証したいと考えています。これは少し難しくなりますが、その方法を理解するのは難しくありません。

関数は次のようになります。下部セクションは以前の while ループと同じです。

DAX を使用した LuckyTemplates カスタム並べ替え

そして、ソート順序を保証するには、少し追加の作業を行う必要があります。 

ここでも、20000 に設定したVAR_Budgetから始めます。次に、 VAR_Count Iを使用して Count 変数を作成し、表 4 に 

DAX を使用した LuckyTemplates カスタム並べ替え

次の行では、CONCATENATEX関数を使用して、キャンペーン、分析された ROI、およびコストの列を連結します。データ内にないものであれば何でも区切り文字として使用できます。この場合は、アスタリスクを使用しましょう。 

次に、コスト列の後の次のパラメーターでパイプ文字 (|) を使用します。また、VAR_Ordered を使用して分析された ROI を降順に並べ替えます。つまり、最も高い ROI が一番上になります。

DAX を使用した LuckyTemplates カスタム並べ替え

コメント行を見ると、コードは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として返します。 

DAX を使用した LuckyTemplates カスタム並べ替え

これで、テーブルの並べ替え順序が保証され、ROI が最も高いものから最も低いものへと変わります。したがって、並べ替え順序を保証するための DAX は次のとおりです。 

表2

これを使用可能な形式で取得するには、Table2を実行する必要があります。ここで、取得した文字列から個々の列を選択します。

別のADDCOLUMNSを使用して、for ループである Table1 に追加してみましょう。Campaignsの場合は、campaigns 列を作成し、を使用してアスタリスクをパイプに置き換えます。次に、 RowPath のPATHITEM を使用して最初の要素を取得し、それをTEXT として返します。

DAX を使用した LuckyTemplates カスタム並べ替え

「分析された ROI」列でも、基本的に同じことを行います。アスタリスクをパイプに置き換えます。次に、パス内の 2 番目の項目を取得し、TEXT として返します。これを行うのは、何らかの理由で、PATHITEM では10 進数ではなく整数またはテキストとして返せるためです。

これは少し奇妙ですが、ゼロを追加するだけで済み、DAX が TEXT 文字列を数値に自動的に変換するため、これを解決できます。 

DAX を使用した LuckyTemplates カスタム並べ替え

もう一度、 Cost列に対して同じことを行います。SUBSTITUTEPATHITEMを使用して3 番目の項目を取得します。次に、数値を返すには、この場合は整数であるため、もう一度ゼロを追加します。

DAX を使用した LuckyTemplates カスタム並べ替え

コードの残りの部分は、前に説明した while ループです。これで、キャンペーンの最高位から最低位への保証された並べ替え順序が得られます。 

DAX を使用した LuckyTemplates カスタム並べ替え

当社のキャンペーンの ROI は SEM が最も高く、Instagram は 2 番目でした。 


LuckyTemplates の外部ツール – LuckyTemplates Power Sort Pro
レポート ビルダーでグラフを並べ替えおよびフィルターする方法
LuckyTemplates レポートで視覚化を動的に並べ替える

結論

while ループと for ループを使用して、ROI に基づいてデータ モデルで LuckyTemplates カスタム並べ替えを使用することに成功しました。これは、DAX が並べ替え順序を確実に保証できることを証明しています。 

データを正確に分析して視覚化するには、DAX でデータが正しく並べ替えられていることを確認することが重要です。このチュートリアルで学んだことを応用して、次のレポートでデータを適切に並べ替えることができます。

ではごきげんよう、

グレッグ・デックラー


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