2014-11-05 36 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 - 讓我們知道這是否適合你。

相關問題