我有一张订单表。它包含以下相关列:
我想在同一个表中创建一个新列: OrderedSameMonthLastYear 如果一年前同一个月至少有一个来自同一客户的其他订单,则该值应为true。
我尝试过几个不同的查询,但我真的不知道DAX能做到这一点。
谢谢!
答案 0 :(得分:1)
您可以使用EARLIER()函数访问上一行上下文(在本例中是表中的所有行)并在列之间进行比较,然后使用COUNTROWS()
来计算已过滤的行数。
OrderedSameMonthLastYear =
IF(
COUNTROWS(
FILTER(
Orders,
Orders[CustomerId] = EARLIER(Orders[CustomerId]) &&
Orders[Date].[Year] = EARLIER(Orders[Date].[Year]) - 1 &&
Orders[Date].[Month] = EARLIER(Orders[Date].[Month])
)
) > 0,
TRUE,
FALSE
)