Excel 具有条件逻辑的DAX时间智能

Excel 具有条件逻辑的DAX时间智能,excel,excel-formula,dax,Excel,Excel Formula,Dax,我有一个带有团队ID、付款类型和日期的“销售”表(见下面的示例): 我想编写一个DAX公式,用于“查找”一个“月度”团队上个月的销售金额,以及一个“季度”团队上3个月的销售金额。查找还需要按团队ID进行筛选,以便以前的销售属于同一团队 以下是期望输出(销售额变化)的示例: 这些公式显然不能产生预期的结果,但我在这里分享它们是为了展示我解决这个问题的方法。也许,这里有更了解情况的人可以帮助您掌握正确的语法和逻辑 谢谢 要计算上个月/季度的总数,可以添加计算列。但是,您需要将月份列更改为日期。

我有一个带有团队ID、付款类型和日期的“销售”表(见下面的示例):

我想编写一个DAX公式,用于“查找”一个“月度”团队上个月的销售金额,以及一个“季度”团队上3个月的销售金额。查找还需要按团队ID进行筛选,以便以前的销售属于同一团队

以下是期望输出(销售额变化)的示例:

这些公式显然不能产生预期的结果,但我在这里分享它们是为了展示我解决这个问题的方法。也许,这里有更了解情况的人可以帮助您掌握正确的语法和逻辑


谢谢

要计算上个月/季度的总数,可以添加计算列。但是,您需要将月份列更改为日期。 2016年1月16日=>1/1/2016

公式:

=
IF (
    myTable[paymenttype] = "monthly",
    CALCULATE (
        SUM ( myTable[sales] ),
        FILTER (
            myTable,
            myTable[TeamID] = EARLIER ( myTable[TeamID] )
                && DATEADD ( myTable[date], 1, MONTH ) = EARLIER ( myTable[date] )
                && myTable[paymenttype] = EARLIER ( myTable[paymenttype] )
        )
    ),
    CALCULATE (
        SUM ( myTable[sales] ),
        FILTER (
            myTable,
            myTable[TeamID] = EARLIER ( myTable[TeamID] )
                && DATEADD ( myTable[date], 3, MONTH ) = EARLIER ( myTable[date] )
                && myTable[paymenttype] = EARLIER ( myTable[paymenttype] )
        )
    )
)

要计算上个月/季度的总数,可以添加计算列。但是,您需要将月份列更改为日期。 2016年1月16日=>1/1/2016

公式:

=
IF (
    myTable[paymenttype] = "monthly",
    CALCULATE (
        SUM ( myTable[sales] ),
        FILTER (
            myTable,
            myTable[TeamID] = EARLIER ( myTable[TeamID] )
                && DATEADD ( myTable[date], 1, MONTH ) = EARLIER ( myTable[date] )
                && myTable[paymenttype] = EARLIER ( myTable[paymenttype] )
        )
    ),
    CALCULATE (
        SUM ( myTable[sales] ),
        FILTER (
            myTable,
            myTable[TeamID] = EARLIER ( myTable[TeamID] )
                && DATEADD ( myTable[date], 3, MONTH ) = EARLIER ( myTable[date] )
                && myTable[paymenttype] = EARLIER ( myTable[paymenttype] )
        )
    )
)