我正在使用此查询(MDX)。它返回数据,但它返回数据多年,我试图在日期范围内获取日期:例如,如果我想要10/1/2013,查询返回10/1 / 2013,10 / 1 / 2014,10 / 1/2015
我正在寻找具体的日期范围,2013年10月13日和2014年1月13日
为什么我要多年,我特别要求该日期范围?
SELECT {[Measures].[Network Calls Received]}
ON COLUMNS,
non empty
[Dim Time].[Half Hour of Day].members ON Rows
FROM
[OTS Analysis Services]
where [Dim Date].[Date].&[10/13/2013]:[Dim Date].[Date].&[01/13/2014]
答案 0 :(得分:1)
您的过滤器看起来有一个错误的密钥。一旦使用了错误的密钥,服务器就会使用NULL而不是它。
以下是一个例子:
未过滤(显示数据样本):
2014年3月至2014年6月正确过滤:
比我们向正确的成员添加错误的密钥(和使用NULL一样!):
一旦我们使用了两个错误的密钥,就没有机会弄清楚所使用的维度(与两个NULL相同):
请检查两位成员,尤其是[Dim Date]。[Date]。& [01/13/2014]。看起来这个维度中没有这样的成员。
解决格式的键也需要检查,就像BI Dude前一段时间写的那样(非常感谢他!)。
答案 1 :(得分:0)
我认为问题在于您的参考。通常维度成员键是整数。 所以你的范围应该是
where ([Dim Date].[Date].&[20131013]:[Dim Date].[Date].&[20140113])
您可以通过以下方式查看会员参考: