这是我的第二篇文章,我希望我能掌握格式。如果我提供的信息太少或太多,请告诉我。
作为解决更复杂问题的垫脚石,我需要从不受报表切片器中选择的季度日期影响的表中计算第一个订单日期。
这是我的日历 DAX:
DateTable = ADDCOLUMNS(CALENDARAUTO(),
"MonthNo", MONTH([Date]),
"MonthName", FORMAT([Date],"MMMM"),
"Quarter", QUARTER([Date]),
"Year", YEAR([Date]),
"Day", DAY([Date]),
"WeekdayNum", WEEKDAY([Date]),
"WeekdayName",FORMAT([Date],"DDDD"),
"YearMonth", FORMAT([Date], "YYYY-MM"),
"YearQuarter", FORMAT([Date], "YYYY-Q"))
到目前为止,我已经尝试了一些变化。目前,我已经尝试过这段代码:
FirstOrderDate = CALCULATE(MIN('invoices_2019-2022'[Date Initiated]),
ALL(DateTable[Date]))
只要我没有在切片机中选择任何四分之一,就可以正常工作。
但是,一旦我在切片器中选择 YearQuarter,结果就会发生变化:
因此,代码不再返回实际的第一个订单日期,仅返回切片器上下文中的第一个订单日期。尽管有 ALL 功能。
接下来,我尝试了这个:
FirstOrderDate = CALCULATE(MIN('invoices_2019-2022'[Date Initiated]),
REMOVEFILTERS(DateTable[Date]))
同样的结果。
我已经用谷歌搜索这个东西了,还尝试了 MINX 的变体,以及其他一些东西。
我真的不知道为什么会这样以及如何让它发挥作用。
请帮忙。
谢谢。
您需要对整个表格或相关列执行
ALL
或 REMOVEFILTERS
。
所以尝试一下:
ALL(DateTable)
// or
REMOVEFITLERS(DateTable)
是否可以删除 REMOVEFILTERS,然后再次使用 FILTER 作为延续?