2017-03-16 11 views
0

質問の短いバージョン:計算された数値データに基づいてランクを作成するにはどうすればよいですか?DAXのメジャー値のランク付け(列の値とは対照的に)?

質問の背景: 私は、各行がtime taken値を持つと、各従業員のために多くの行を生成するテーブル/クエリを持っています。

Iは、( time takenに基づいて)その nametime taken平均、及び rankを示し、各 employeeに要する平均時間を計算し、各 employeeの行を持つテーブルを提示したい

。最初の部分を行うには

、私はメジャーを作成したがAverageTimeLengthと呼ばれ、にそれが等しくなるように設定:

AverageTimeLength = Average(Table_name[Column_name]) 

それから私は、次のようにコード化された:

AverageTimeLength_employee = CALCULATE([AverageTimeLength], GROUPBY(Table_name, Table_name[EmployeeName])) 

これら二つの指標です。私は作成している新しいテーブルチャートに秒を挿入することができましたが、残念ながら数値の値が列から来ないのでRANKX()を使用することはできません。数値データ(column_name = [AverageTimeLength_employee])から派生した列を作成しようとすると、循環推論のcolumn_nameというエラーが出ます。

私がしたいことは、単純でなければならないようです。誰も私が単純なランクパラメータを作成し、測定値をランク付けする方法を知っていますか?

答えて

1

あなたはAverageメジャーを作成し、以下のようにRank措置でそれを使用することができます。

Average = AVERAGE([Time taken]) 

Rank = IF (
    HASONEVALUE (Table_Name[Name]), 
    RANKX (ALL (Table_Name[Name]), [Average]) 
) 

はそれがお役に立てば幸いです。

+0

本当に助かりました。ありがとうございます。もしあなたが気にしないならば、私は 'RANKX()'関数についてもう少し疑問があります:(1)2人の従業員の間に繋がりがある場合、どのようにタイブレーカーを挿入できますか?(2)私が配置した他のフィルタがない場合は完全に機能します。フィルタリングされたエントリだけを考慮するようにランク付けするにはどうすればよいですか? – daOnlyBG

+0

@daOnlyBG、(1)計算された列を作成し、それをrankx関数で使用するか、rankx_value_パラメータを使用して、ランク基準をカスタマイズすることができます。 。 (2) 'ALL(Table_Name [Name])'を 'ALLSELECTED(Table_Name [Name]) 'で変更することにより、フィルターに賢明にすることができます。 –

+0

"Employee Successes"のような列があります。それはタイ・ブレーカーでしょう - 私は 'RANKX()'関数の中でどのように使用できるかを見なければなりません。 – daOnlyBG

関連する問題