ブール(0 | 1)値を含むテーブル(Table_Name)に列(Column_Name)があります。各値のカウントを取得しようとしています。たとえば、合計1500行あり、700がTrueで800がFalseであることを示す2つのメジャーが必要です。
私は以下を試しましたが、それぞれが行の総数(1500)を示しています。
False_Measure = COUNTAX(FILTER('Table_Name','Table_Name'[Column_Name]=FALSE()),FALSE())
True_Measure = COUNTAX(FILTER('Table_Name','Table_Name'[Column_Name]=FALSE()),TRUE())
私は完全に混乱しています...
この時点で正しいDAX関数を使用しているかどうかさえわかりません。
問題は、COUNTAX()関数の2番目のパラメーターにあります。これは、リストされている同じフィルター項目ではなく、カウントする列/項目である必要があります。
したがって、これらの関数は、必要な結果を提供するはずです。
False_Measure = COUNTAX(FILTER('Table_Name', 'Table_Name'[Column_Name]=FALSE()), [Column_Name])
True_Measure = COUNTAX(FILTER('Table_Name', 'Table_Name'[Column_Name]=TRUE()), [Column_Name])
この関数のドキュメントはリストされています ここ 。
いくつかの可能性があります:
True_Measure = SUMX(Table_Name, 1*Table_Name[Column_Name])
True_Measure = SUMX(Table_Name, 1*(Table_Name[Column_Name] = TRUE()))
False_Measure = SUMX(Table_Name, 1*(Table_Name[Column_Name] = FALSE()))
False_Measure = COUNTROWS(Table_Name) - [True_Measure]
これらのほとんどでは、1*
を使用してTrue/False
ブール値を数値0
または1
に強制変換しています。
フィルタリングされたテーブルでもCOUNTROWS
を使用できます。
True_Measure = COUNTROWS(FILTER(Table_Name, Table_Name[Column_Name] = TRUE()))
False_Measure = COUNTROWS(FILTER(Table_Name, Table_Name[Column_Name] = FALSE()))
本当にCOUNTAX
を使用したい場合は、次のようになります。
True_Measure = COUNTAX(FILTER(Table_Name, Table_Name[Column_Name] = TRUE()), 1)
False_Measure = COUNTAX(FILTER(Table_Name, Table_Name[Column_Name] = FALSE()), 1)