2014-11-05 37 views
1

我有一个包含所有学生成绩的表格。假设我有一个值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

我可以给你一个正常的Excel公式的答案。 – 2014-11-05 19:30:22

+0

更新了问题。尽管我需要DAX中的公式。 – 2014-11-05 19:33:37

回答

0

安德鲁,

我建议使用disconnected slicer technique。通过这种方法,我是那么轻易能够与这个公式来实现你的目标:

=CALCULATE(MAX(Grades[Grade]), FILTER(Grades, [Grade] < [Upper Limit Selected])) 

哪里[上限选定]是断开的切片机返回的值。我已经上传了source file to my Dropbox - 让我们知道这是否适合你。

相关问题