DAX 查询以查看 table 中是否有具有相同 ID 和相同日期的另一行 - 1 年
DAX query to see if there's another row in a table with same id and same date - 1 year
我有一份 table 订单。它包含以下相关列:
- OrderId(键)
- 客户编号
- 日期(层次结构)
我想在同一个 table 中创建一个新列:OrderedSameMonthLastYear
如果一年前的同一个月至少有一个来自同一客户的其他订单,则该值应该为真。
我尝试了几个不同的查询,但我对 DAX 的了解还不够多,无法完成此任务。
谢谢!
您可以使用EARLIER()函数访问上一行上下文(在本例中是table中的所有行)并进行列之间的比较,然后使用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
)
结果如下:
我有一份 table 订单。它包含以下相关列:
- OrderId(键)
- 客户编号
- 日期(层次结构)
我想在同一个 table 中创建一个新列:OrderedSameMonthLastYear 如果一年前的同一个月至少有一个来自同一客户的其他订单,则该值应该为真。
我尝试了几个不同的查询,但我对 DAX 的了解还不够多,无法完成此任务。
谢谢!
您可以使用EARLIER()函数访问上一行上下文(在本例中是table中的所有行)并进行列之间的比较,然后使用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
)
结果如下: