Powerbi 类别和的DAX中值
如何计算类别总和的中位数?我有样本数据:Powerbi 类别和的DAX中值,powerbi,dax,Powerbi,Dax,如何计算类别总和的中位数?我有样本数据: +----------------+-----------+ | category | sales | +----------------+-----------+ | a | 1 | | a | 2 | | a | 4 | | b | 1 | | b
+----------------+-----------+
| category | sales |
+----------------+-----------+
| a | 1 |
| a | 2 |
| a | 4 |
| b | 1 |
| b | 3 |
| b | 4 |
| c | 1 |
| c | 4 |
| c | 5 |
+----------------+-----------+
+----------------+-----------+
| category | sales_sum |
+----------------+-----------+
| a | 7 |
| b | 8 | <- This median
| c | 10 |
+----------------+-----------+
| median of sums | 8 | <- This is expected results, regardless row context
+----------------+-----------+
通过参考上述措施,我可以得到我想要的:
CALCULATE ( [Median_of_sums], REMOVEFILTERS ( T[Category] ) )
但是我希望一次就可以得到它。我不完全确定您在寻找什么,但是使用summary函数可能会达到以下目的:
Total =
MEDIANX (
SUMMARIZE (
T,
T[category],
"Sales_Calc", SUM ( T[sales] )
),
[Sales_Calc]
)
其思想是首先在类别级别对信息进行汇总,然后计算汇总表的中位数。这将给出所附样本的以下结果:
a 7
b 8
c 10
Total 8
如果希望所有类别都反映8,则必须使用all函数确保类别上下文不会影响计算:
Total =
MEDIANX (
SUMMARIZE (
ALL ( T ),
T[category],
"Sales_Calc", SUM ( T[sales] )
),
[Sales_Calc]
)
希望这会有所帮助。是的,第二项措施会产生预期的结果。我不明白你为何提出第一项措施。顺便说一句,我试图用SummaryColumns函数实现同样的功能,结果走错了路。这就是为什么我们放弃了这种做法。谢谢
Total =
MEDIANX (
SUMMARIZE (
ALL ( T ),
T[category],
"Sales_Calc", SUM ( T[sales] )
),
[Sales_Calc]
)