1

我是 MDX 的新手,我正在尝试将日期过滤器应用于日期层次结构的年份,即我想要计算除 NA 之外的每个产品编号的所有销售额,日期大于 2016 年 1 月 1 日。

现在写我正在使用以下查询:

 SELECT NON EMPTY { [Measures].[SALES COUNT] } ON COLUMNS
 , NON EMPTY { ([PRODUCT CRIETERIA].[PRODUCT NUMBER].[PRODUCT NUMBER].ALLMEMBERS ) } 
 DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
 FROM 
 ( 
 SELECT 
 ( -{ [PRODUCT CRIETERIA].[PRODUCT NUMBER].&[NA] } ) ON COLUMNS 
 FROM 
 ( 
 SELECT 
 ( 
 { 
 [PRODUCT Creation Date].[PRODUCT Creation Date Hierarchy].[PRODUCT Creation Year].&[2016], 
 [PRODUCT Creation Date].[PRODUCT Creation Date Hierarchy].[PRODUCT Creation Year].&[2017] 
 } 
 ) 
 ON COLUMNS FROM [Product_QA])) 
 WHERE ( [PRODUCT Creation Date].[PRODUCT Creation Date Hierarchy].CurrentMember ) 
 CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

但是上面的查询工作正常,但不正确,因为我必须每年手动更改此查询。我想要日期 > 2016 年 1 月 1 日的结果如何使用大于此处的结果来获得所需的结果。

谢谢。

4

1 回答 1

1

我找到了解决方案 - 一般来说,当使用日期维度时,冒号范围运算符NULL在任一侧都会给出一个在一侧打开的范围,例如 2016 年及以上

[PRODUCT Creation Date].[PRODUCT Creation Date Hierarchy].[PRODUCT Creation Year].&[2016] 
: NULL

截至 2016 年(包括 2016 年):

NULL:
[PRODUCT Creation Date].[PRODUCT Creation Date Hierarchy].[PRODUCT Creation Year].&[2016]
于 2018-01-19T06:56:36.680 回答