我还是MDX的新手,我试图让一些基本功能在我的SSAS多维数据集中运行。你们能指出我在这里做错了什么吗?我已使用以下代码向我的多维数据集添加了计算度量:
CREATE MEMBER CURRENTCUBE.[Measures].[Amount YTD]
AS
AGGREGATE(
YTD([OrderDate].[Calendar].CurrentMember)
,[Measures].[Amount]),
VISIBLE = 1, ASSOCIATED_MEASURE_GROUP = 'MyMeasureGroup';
之后我试图获取一些数据......
SELECT
NON EMPTY
{
[Measures].[Amount]
, [Measures].[Amount YTD]
} ON COLUMNS,
NON EMPTY
{
[OrderDate].[Month].ALLMEMBERS *
[Product].[Product Group].ALLMEMBERS
} ON ROWS
FROM (SELECT ([OrderDate].[Year].&[2014-01-01T00:00:00]:
[OrderDate].[Year].&[2015-01-01T00:00:00]) ON COLUMNS
FROM [SalesOrderIntake])
这是我得到的输出:
我没有在输出消息中看到任何错误,这使我很难弄清楚正在起作用的是什么。希望你们能帮助我解决这个问题。
仅供参考:实际选择仅用于测试目的。我只想让YTD运行起来。我已经尝试了几件事情,它总是空洞的,所以如果我直接在SSMS中查询它而不是使用BI工具,我希望得到一些实际的错误。此外,OrderDate维度是由VS提供给我的生成时间维度。
答案 0 :(得分:1)
在您的查询中,您使用的内容类似于属性层次结构:
[OrderDate].[Month].ALLMEMBERS
该措施使用用户层次结构:
[OrderDate].[Calendar]
如果在脚本中使用Calendar,它可以正常工作吗?
答案 1 :(得分:1)
#Error
代码中存在运行时错误时, MDX
通常会重新出现。我可以想到一个可能出现错误的情况。您在计算成员中使用[OrderDate].[Calendar].CurrentMember
。但是,如果不是一个,在范围内有来自此层次结构的多个成员,则会抛出错误。
以下是Adventure Works的一个场景。
with member abc as
sum(YTD([Date].[Calendar].currentmember), [Measures].[Internet Sales Amount])
select abc on 0
from [Adventure Works]
where {[Date].[Calendar].[Date].&[20060115], [Date].[Calendar].[Date].&[20060315]}
P.S。感谢@whytheq教我这个通过双击单元格来检查这个错误的技巧:)干杯。
答案 2 :(得分:0)
我知道,它的帖子很旧,但是为了后代的利益。
正确的方法是:
UISettings