Ssas 有没有办法指定每个单元格都应该使用MDX返回?
我正在使用以下表单的查询:Ssas 有没有办法指定每个单元格都应该使用MDX返回?,ssas,mdx,Ssas,Mdx,我正在使用以下表单的查询: Select { ([Measures].[M1], [Time].[2000]), ([Measures].[M2], [Time].[2000]), ([Measures].[M1], [Time].[2001]), ([Measures].[M2], [Time].[2001]) } on 0 From [Cube] Where ([Some].[OtherStuff]) 使用AnalysisServices 2008。
Select {
([Measures].[M1], [Time].[2000]),
([Measures].[M2], [Time].[2000]),
([Measures].[M1], [Time].[2001]),
([Measures].[M2], [Time].[2001])
} on 0
From [Cube]
Where
([Some].[OtherStuff])
使用AnalysisServices 2008。即使我没有指定NON-EMPTY或类似的值,我仍然只返回三个单元格(其中一个为null)
我如何确保所有的单元格都被带回来-即使是空的单元格
其他想法:
上面的查询实际上不是我正在运行的查询(令人惊讶的是:)。真正的一个具有来自同一维度的两个层次结构,它们被指定为select的一部分,也被指定为where子句的一部分。我想知道这是否与此有关,但我想不出确切的原因
其他想法:
这似乎是AS2005/8中名为“自动存在”的功能。请查看上的相关部分。您正在拉回不同的维度,这些维度飞得不太好。请尝试以下方法:
with
member [Time].[Calendar].[CY2000] as
([Time].[Calendar].[2000], [Time].[Fiscal].[All Time])
member [Time].[Calendar].[FY2001] as
([Time].[Calendar].[All Time], [Time].[Fiscal].[2001])
select
{[Time].[Calendar].[CY2000], [Time].[Calendar].[FY2001]}*
{[Measures].[M1], [Measures].[M2]}
on columns
from [Cube]
where
{[Some].[OtherOtherStuff]}
这不是一个答案,但这应该有助于缩小问题的范围,这是一个在AdventureWorks中复制问题的查询
SELECT
{ ( [Date].[Calendar].[Date].&[1], [Date].[Fiscal].[Date].&[1129] ) } on 0
FROM [Adventure Works]
我希望这会返回指定的元组和Null,但不会检索任何元组
我认为这是因为元组位于同一维度的两个层次结构上,没有公共性。也尝试过。。。它不起作用。用我的一些想法更新这个问题…顺便说一句,感谢交叉连接的建议-我在编写假装查询时没有想到这一点。真的没有机会:)太棒了。谢谢你!我想知道是否有更简单的方法:/请发布准确的查询,以便我们能更好地帮助您。此外,我已经将这一点考虑在内,修改了我的答案。泰罗曼发布的查询正好显示了我所说的问题。