我有一张表,其中包含所有学生的成绩。假设我有一个从另一个公式派生的值UpperLimit
,如何获得小于UpperLimit
的最高等级?
示例:
Grade
-----
18
72
43
100
65
75
如果UpperLimit
为75(计算后),那么它应该返回72,因为72是75以下的最高数字。
我的想法是首先过滤小于UpperLimit
的表/列,然后从中获取最大值。目前,我的代码是这样的:
MAXX(
FILTER(
VALUES(Student[Grade]),
Student[Grade] < [UpperLimit]
),
Student[Grade]
)
但是,它返回100(最高整体值)。
有人可以解释为什么它会返回100,以及如何在DAX中修复公式?
答案 0 :(得分:0)
安德鲁,
我建议使用disconnected slicer technique。通过这种方法,我可以轻松地通过以下公式实现您的目标:
=CALCULATE(MAX(Grades[Grade]), FILTER(Grades, [Grade] < [Upper Limit Selected]))
其中[上限选择]是断开连接切片器返回的值。我上传了source file to my Dropbox - 让我们知道这是否适合你。