LuckyTemplates ランクとカスタム グループ化

LuckyTemplates ランクとカスタム グループ化

データ アナリストとして、傾向や洞察を生成するために、データ セットの値をグループ化してランク付けすることが求められることがよくあります。ただし、LuckyTemplates を使用してこれらのタスクを簡単に実行する方法を誰もが知っているわけではありません。

今日のブログでは、LuckyTemplates ランクとカスタム グループ化関数を必要とするシナリオを検討し、まさにそれを行う方法を示します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

このチュートリアルでは、 Record IDsPriorities、およびMinutesという 3 つの列を含むデータのテーブルを使用します。私たちの目標は、最大分数に基づいて優先度 1 または 2 を持つレコードの上位 5% を特定することです。

目次

LuckyTemplates ランクとグループ化を作成するためのデータ セット

Power Query でデータセットがどのように表示されるかは次のとおりです。優先順位 1 と 2 を残りから分離する属性がないため、M 関数 Table.Partitionを使用する必要があります。これにより、優先度 1 と 2 を他の行から分離するためのヘルパー列が生成されます。

LuckyTemplates ランクとカスタム グループ化

LuckyTemplates 関数: テーブル.パーティション

Table.Partition を使用してデータをセグメント化する方法を調べるには、まず詳細エディターを開きます。

LuckyTemplates ランクとカスタム グループ化

表示されるウィンドウで、新しい行を追加して新しい変数を作成します。変数をPartitionsと名付けましょう。次の情報を必要とする関数Table.Partitionを追加します。

  • パーティション化するテーブル。私たちの場合は、 がソースです。
  • 評価する列。これは、ルールが配置される戻りテーブルの列です。それが「優先度」列になります。
  • 作成するグループの数。これはパーティション化するテーブルの数も指します。ここでは2 つのテーブルが必要です。 
  • ハッシュ関数。ハッシュ値を取得するには、数値を使用する必要があります。ハッシュ関数をeach ifで開始し、その後に現在の値を表すアンダースコアを続けます。次に、条件is less than threeを追加し、zero else oneを返します。 

5 行目で、 Source をPartitionsに変更し、次の解決策を与えます。

LuckyTemplates ランクとカスタム グループ化

「完了」をクリックして、テーブルにどのような影響を与えるかを確認します。以下に示すように、Table.Partition 関数は 2 つのネストされたテーブルを含むリストを作成します。 

LuckyTemplates ランクとカスタム グループ化

「テーブル 1」をクリックすると、優先順位が 3 より小さいすべてのレコード (優先順位 1 および 2) を含むプレビュー テーブルが開きます。

LuckyTemplates ランクとカスタム グループ化

 残りの行はすべて表 2にあります。

LuckyTemplates ランクとカスタム グループ化

優先度 1 と 2 が 1 つのテーブルにグループ化されたため、このテーブルを使用して上位 5% を計算できます。 

LuckyTemplates 関数: Table.RowCount

Table.RowCount使用して、5% の要件を満たすために必要な行数を決定できます。優先度 1 と 2 の行数をカウントし、取得した数の 5% を取得します。

まず、左上隅から[Advanced Editor]ウィンドウを開きます。

LuckyTemplates ランクとカスタム グループ化

次に、新しい行と新しい変数を追加します。これをnRowと呼びます。3 行目から変数名Partitionsをコピーして、最初のテーブルを抽出する必要があります。

次に、位置インデックス演算子を使用して、最初のテーブルのリストの最初の項目にアクセスします。次に、Table.RowCount 演算子を Partitions(0) の周囲にラップします。次に、0.05 を掛けて 5% を取得します。 

また、 Number.Round関数を使用して、数値を小数点以下のゼロに丸めます。最後に、最後の行をPartitionsから nRowに変更します。 

LuckyTemplates ランクとカスタム グループ化

これにより、以下に示すように 2 が返されるはずです。

LuckyTemplates ランクとカスタム グループ化

結果は、5% の要件を満たすには、表 1 の 2 行をマークする必要があることを意味します。これを行うには、新しい M 関数 Table.AddRankColumn を使用できます。 

LuckyTemplates 関数: Table.AddRankColumn

このセクションでは、LuckyTemplates のランク機能を使用して行をランク付けします。Table.AddRankColumnは、比較基準に基づいてテーブルに新しいランキング列を追加するために使用されます。

まず、[詳細エディター]ウィンドウを開きます。テーブル 1 を作成し、新しい行にt1という名前を付けます。次に、Table.AddRankColumnを使用して、最初のテーブルPartitions (0) を追加します。また、i と呼ぶ新しい列名を割り当てる必要もあります

比較基準として、 {“Minutes”, Order.Descending}を使用して分を高いものから低いものまでランク付けします。 

最後に、RankKind=RankKind.Ordinalを追加します。これにより、すべての項目が等しいと評価される場合でも、すべての項目に一意の番号が強制的に与えられます。次に、nRow をt1に変更して、テーブル 1 を返します。 

私たちのソリューションは次のようになります。 

LuckyTemplates ランクとカスタム グループ化

「完了」をクリックすると、次のような表が表示されます。 

LuckyTemplates ランクとカスタム グループ化

ブールフィルタの追加

ランク列をもう保持したくないため、テーブルにブール フィルターも追加します。代わりに、ブール値フィルターを追加して、除外する必要がある上位 2 行のみを識別することが必要です。 

それでは、 [詳細エディター]ウィンドウに戻り、カスタム列を追加しましょう。Table.AddColumn関数を使用して新しい行を追加し、新しい列をExcludeと呼びます。

columnGenerator の場合、 nRow番号 (除外する行数)以下の各 iを使用して、新しく作成された列を確認できます。また、論理型を使用してデータ型を割り当てます。

私たちのソリューションは次のようになります。

LuckyTemplates ランクとカスタム グループ化

「完了」をクリックすると、以下のようなテーブルが表示されます。

LuckyTemplates ランクとカスタム グループ化

LuckyTemplates 関数: Table.RemoveColumns

ヘルパー列は必要なくなったので、テーブルから削除できます。 

そこで、[詳細エディター]ウィンドウで、Table.RemoveColumnsを使用して列iを削除しましょう。

LuckyTemplates ランクとカスタム グループ化

次に、「完了」をクリックします。 

LuckyTemplates ランクとカスタム グループ化

テーブルの結合

ネストされたテーブル 1 の新しいバージョンを作成しました。ネストされたテーブル 2 にも同じレイアウトを作成する必要があります。また、そのテーブルには、すべての値が TRUE に等しい除外列を追加する必要があります。 

詳細エディターで、t2 という新しい変数を作成します。Table.AddColumn を使用してカスタム列を追加し、Partitions (1)を呼び出します。次に、Exclude列を追加し、columnGenerator をそれぞれ true に設定し、logical と入力します。 

13行目を編集してt2を返したいと思います。

LuckyTemplates ランクとカスタム グループ化

このようなテーブルを取得する必要があります。

LuckyTemplates ランクとカスタム グループ化

最後に行う必要があるのは、これら 2 つのテーブルを再度結合することです。[詳細エディター]ウィンドウで、 t1 & t2に等しい t という新しい変数を追加します。 

LuckyTemplates ランクとカスタム グループ化

「完了」をクリックすると、以下のような最終テーブルが表示されます。これで、指定した基準に基づいてランク付けおよびグループ化され、上位 5% が除外対象としてマークされたテーブルが完成しました。

LuckyTemplates ランクとカスタム グループ化


LuckyTemplates でのランキング分析: 結合されたデータ セットからの高度な分析情報
LuckyTemplates でのランキングの視覚化 – レポート内のテーブルをフィルター処理するための動的ビジュアル
LuckyTemplates のディメンションとグループ

結論

このブログでは、Power Query でTable.PartitionTable.AddRankColumn、およびTable.RemoveColumns関数を使用する方法を学習しました。サンプル データセットには優先度 1 と 2 の 44 行があり、それらをグループ化してランク付けすることに成功し、上位 5% にそれに応じてマークが付けられました。

これらの関数の使用に関する新たな知識を活用して、次のデータ セットに LuckyTemplates ランクとカスタム グループ化機能を使用できるようになります。

ではごきげんよう、

メリッサ・デ・コルテ


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 ゲートウェイとは何ですか? 知っておくべきことすべて