首页 > 解决方案 > Power BI DAX 按日期汇总和筛选

问题描述

我有一个 Power BI 报告,我想找到某个动作发生的最后日期,该日期具有非 0 值。在以下示例中:

|-------------|------------|
|  ActionDate |   ActionAmt|
|-------------|------------|
| 1-Feb       |  -100      |
|-------------|------------|
| 1-Feb       |   100      |
|-------------|------------|
| 10-Jan      |   150      |
|-------------|------------|

我想返回 1 月 10 日的日期,而不是 2 月 1 日,因为 1 月 10 日是 ActionDay 求和的第一个非 0 值。我的代码返回 1-2 月:

Last Action Date =
VAR maxdatekey =
    CALCULATE ( MAX ( 'Action'[ActionDateKey] ), 'Action'[ActionAmount] > 0 )
RETURN
    IF (
        maxdatekey,
        FORMAT (
            LOOKUPVALUE ( 'Date'[DateValue], 'Date'[DateKey], maxdatekey ),
            "dd-MMM-yyyy"
        )
    )

如何进一步分组以排除汇总的 0 天?

标签: powerbidax

解决方案


我认为您正在寻找类似的东西,在计算金额时按日期汇总:

LastActionDate =
VAR Summary =
    SUMMARIZE (
        'Date',
        'Date'[DateValue],
        "Amt", CALCULATE ( SUM ( 'Action'[ActionAmount] ) )
    )
RETURN
    FORMAT (
        MAXX ( FILTER ( Summary, [Amt] > 0 ), 'Date'[DateValue] ),
        "dd-MM-yyyy"
    )

推荐阅读