SUMMARIZECOLUMNS返回所有未来日期的结果



如何使用SUMMARIZECOLUMNS并保留特定列Date[Date] (Calendar)的所有值的结果?

EVALUATE
SUMMARIZECOLUMNS (
'Date'[Date],
'Sales'[CustomerKey],
"__MaxDate_Sales",
CALCULATE (
MAX ( 'Sales'[Order Date] )
,REMOVEFILTERS ( 'Sales' ) 
,VALUES ( Sales[CustomerKey] ) --Comment this line to get full Calendar dates
)
)
ORDER BY 'Date'[Date] DESC

链接到操场复制问题:

https://dax.do/JQ83Voo6Ds93B1/

注释,VALUES ( Sales[CustomerKey] )行会得到直到2011-12-31的所有'Date'[Date](如期望的那样),但是,该函数不会返回每个Customer的最后一个不同的日期。取消注释,返回正确的结果,但将Date表缩小到Sales表日期的最大值。

是否有可能解决问题没有包装SUMMARIZECOLUMNS与ADDMISSINGITEMS?

+------------+--------------------+-----------------+-----------------+
| Date[Date] | Sales[CustomerKey] | __MaxDate_Sales |     Status      |
+------------+--------------------+-----------------+-----------------+
| 2011-12-31 |                123 | 2009-12-31      | Current result  |
| 2011-12-31 |                123 | 2007-01-02      | Expected result |
| 2011-12-31 |                998 | 2007-08-31      | Expected result |
+------------+--------------------+-----------------+-----------------+

如果您注释了上面的行,那么当前结果对于任何客户机都是相同的。Date表比Sales表长2年。

这是你想要的吗?

EVALUATE
SUMMARIZECOLUMNS (
'Date'[Date],
'Sales'[CustomerKey],
"__MaxDate_Sales",
CALCULATE (
MAX ( 'Sales'[Order Date] ),
REMOVEFILTERS ( 'Date' )
)
)

最新更新