我正在使用表格的查询:
Select {
([Measures].[M1], [Time].[2000]),
([Measures].[M2], [Time].[2000]),
([Measures].[M1], [Time].[2001]),
([Measures].[M2], [Time].[2001])
} on 0
From [Cube]
Where
([Some].[OtherStuff])
使用Analysis Services 2008.即使我没有指定NON EMPTY或类似的东西,我仍然只返回三个单元格(其中一个是null)。
如何确保所有细胞都被带回 - 即使是空细胞?
其他想法: 上面的查询实际上并不是我正在运行的那个(令人惊讶的是:))。真实的一个具有来自同一维度的几个层次结构,这些层次结构被指定为select的一部分,并且也是where子句的一部分。我想知道这是否与此有关,但我想不出究竟是什么。
其他额外的想法:* 这似乎是一个名为Auto-Exists的AS2005 / 8功能。请查看this MSDN article上的相关部分。
答案 0 :(得分:1)
你正在拉回不同的尺寸,这种尺寸不会太好。试试这个:
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]}
答案 1 :(得分:1)
不是答案,但这应该有助于缩小问题范围,在AdventureWorks中复制问题的查询
SELECT
{ ( [Date].[Calendar].[Date].&[1], [Date].[Fiscal].[Date].&[1129] ) } on 0
FROM [Adventure Works]
我希望这会带回指定的元组和Null,但是不会检索任何元组。
我认为这是因为元组位于同一维度的两个层次结构中,没有共性。