我有一个用户定义的层次结构:
A > B
维度键是A和B的组合键。
现在,如果我浏览多维数据集并使用层次结构作为过滤器,它将不起作用(在度量中不显示任何内容)。
但是如果我使用层次结构作为行字段,它会起作用,很好地显示层次结构成员。
有任何想法吗?
.
发现它是什么。
维度由另一个表构成,该表的成员比进行度量的表多。(维度成员比度量成员多 50%)
因此,在使用维度作为过滤器时,它显示了许多空行,按设计工作,并且在处理多维数据集时不会失败,因为在维度中找到了所有度量键。
SSMS 和 SSRS 查询编辑器中的 GUI 多维数据集浏览器为您编写 MDX 查询。要走得更远,您应该开始学习 MDX 的基础知识。
如果您在 X 轴上放置一个维度,然后可能取消选中一些项目,则生成的 MDX 将仅在 Select 子句中列出这些项目。
select
{[Measures].[Measure1]} on 0,
{[A].&[ID1], [A].&[ID2], [A].&[ID3]} on 1
From mycube
如果您将维度放在网格正上方的过滤器区域中,它会将过滤器添加到 WHERE 子句中 - 因此您不会看到维度成员,但会看到度量。您仍然需要在 X 或 Y 轴上添加一些东西以获得任何结果
select
From mycube
Where {[A].&[ID1], [A].&[ID2], [A].&[ID3]}
最后。如果您使用窗口顶部的过滤器字段,自动生成的 MDX 将创建一个子立方体。同样,您仍然必须指定要在至少一个轴上显示的内容才能进行测量。
Select
From
( Select {[A].&[ID1], [A].&[ID2], [A].&[ID3]} on 0 From mycube)