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 でデータが正しく並べ替えられていることを確認することが重要です。このチュートリアルで学んだことを応用して、次のレポートでデータを適切に並べ替えることができます。

ではごきげんよう、

グレッグ・デックラー


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて