【问题标题】:Power BI Filter on MAX of a columnPower BI 筛选列的 MAX
【发布时间】:2018-11-01 11:24:48
【问题描述】:

我的数据有一列包含周数。我想要一个视觉效果(在这种情况下是图表)来显示最近一周,这是该值的最大值。视觉过滤器似乎不允许我输入某些东西的 MAX,只是通常的大于、小于等。

我可以使用切片器获取最近的一周,但我只需要一个视觉效果来显示它。报告的其余部分将是整个星期。

有什么想法吗?

【问题讨论】:

    标签: powerbi powerbi-desktop


    【解决方案1】:

    如果您只想在视觉对象中显示最近一周的数据,您可以添加这样的计算列:

    OnlyLatestWeek = IF('Table1'[Weeknr] = MAX('Table1'[Weeknr]),Table1[Weeknr],BLANK())
    

    在您的视觉对象中使用此列而不是 [Weeknr] 列。

    编辑
    在 DirectQuery 模式下,您可以尝试使用度量而不是计算列。像这样的:

    OnlyLatestWK = 
    VAR maxweek =
        CALCULATE ( MAX ( 'Table1'[Week] ), ALL ( Table1 ) )
    RETURN
        IF (
            SELECTEDVALUE ( 'Table1'[Week] ) = maxweek,
            SUM ( Table1[Amount] ), //use your own expression here
            BLANK ()
        )
    

    【讨论】:

    • 试过了,得到了这个错误:“函数 'MAX' 不允许作为 DirectQuery 模型上计算列 DAX 表达式的一部分。”
    • 是的,这似乎是 DirectQuery 模式的限制。如果可能,您可以在源表中添加计算列。
    • 我可以在 SQL 查询中使用类似的 IF 语句而不是更改源表吗?或案例何时?
    • 我做到了:SELECT *, CASE Week WHEN (SELECT MAX(week) FROM Attendance) THEN Week ELSE '' END AS LatestWeek FROM Attendance
    【解决方案2】:

    您还可以在图表上使用“过滤器”功能,其中数据字段是关键指标(例如销售额),过滤器类型 = 'Top N',显示项目 = 'Top' / '1',按值 = 时间周期变量。

    这对我有用:)

    【讨论】:

      【解决方案3】:

      您可以创建一个度量作为 MAX[TableName.Week] 并将其拖到您的视觉对象中。

      【讨论】:

      • 完成了,我应该把它拖到哪里?无论我把它放在哪里,它看起来都不正确或没有预期的效果。
      猜你喜欢
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      • 2022-01-18
      • 2020-05-06
      • 1970-01-01
      • 2020-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多