powerbi - 高于平均水平的人数
问题描述
我有这个来自 Excel 的简单数据集:
Date Person Amount
Jan-18 jason 1
Jan-18 fred 2
Jan-18 george 3
Feb-18 jason 10
Feb-18 fred 12
Feb-18 george 15
Feb-18 jim 25
我添加了两个措施:
Amount = SUM( Data[Amount] )
和
Average Amount per Person =
AVERAGEX(
VALUES( Data[Person]),
[Amount]
)
这可以按我的预期工作,并且在我选择特定日期时是动态的:
我现在想要的是“高于平均水平的人数” - 所以在屏幕截图中只有 Jim 高于 15.50,因此该度量应返回 1。
我对此措施的尝试是这样的:
Number of Persons Above Average =
CALCULATE(
DISTINCTCOUNT( Data[Person] ),
FILTER(
Data,
SUM( Data[Amount] ) >= [Average Amount per Person]
)
)
正如您在下面看到的,它只返回显示的人数 - 在本例中为 4
如何将上述措施修改为正确的DAX
?
解决方案
我喜欢在以下情况下使用变量:
Number of Persons Above Average =
VAR AveragePerPerson = [Average Amount per Person]
RETURN
CALCULATE ( DISTINCTCOUNT ( Data[Person] ),
Data[Amount] >= AveragePerPerson )
这样您就不必担心如何在内部计算平均度量,CALCULATE
并且您不必使用FILTER
函数。
推荐阅读
- python - 旋转组件加载矩阵
- c# - How can I use a Grid View OnRowEditing Event Handler to allow specific cells in the grid view to be edited?
- android - 使用 2 种不同的 listitem 时,Listview 的 getView() 无法正常工作
- java - 如何选择带有离子和appium
- machine-learning - 为什么我的验证准确性差异如此之大?
- python-3.x - Elasticsearch:获取python3中的所有消息(超过10000条)
- amazon-textract - 用于 Amazon Textract 的 Restful API - 示例
- java - 为什么他们从 Spring Framework 5 中删除了对 VelocityEngineUtils 的支持?
- angular - 在Angular中使用量角器时如何测试包含项目的表格
- c# - Xunit Debug 不稳定