【问题标题】:Filter a column which is less than a certain value that is derived from another formula, then get the maximum value过滤小于从另一个公式导出的某个值的列,然后获取最大值
【发布时间】:2014-11-05 19:10:52
【问题描述】:

我有一个包含所有学生成绩的表格。假设我有一个来自另一个公式的值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 中的公式吗?

【问题讨论】:

  • 我可以用一个普通的Excel公式给你答案。
  • 更新了问题。我需要 DAX 中的公式。

标签: excel-2013 powerpivot dax


【解决方案1】:

安德鲁,

我建议使用disconnected slicer technique。通过这种方法,我可以轻松地通过以下公式实现您的目标:

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

其中 [Upper Limit Selected] 是断开连接的切片器返回的值。我已经上传了source file to my Dropbox - 让我们知道这是否适合你。

【讨论】:

    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 2016-12-17
    • 2019-03-02
    • 1970-01-01
    • 2022-01-05
    相关资源
    最近更新 更多