在用自己的数据挣扎了一段时间后,我采用了父/子维度的 IcCube 示例 (http://www.iccube.com/support/documentation/user_guide/schemas_cubes/dim_parentchild.php)。然后我尝试了您的示例:
WITH
MEMBER [parent_name] as IIF( [dim (ALL)].[Hierarchy].currentmember
is [dim (ALL)].[Hierarchy].[ALL],'',
[dim (ALL)]. [Hierarchy].currentmember.parent.name )
SELECT
{[parent_name],[Measures].[value]} on 0,
non empty [dim (ALL)].[Hierarchy] on 1
FROM
[Cube]
(NULL值必须用''代替)
第一个维度有效,但如果我尝试深入地图,系统会告诉我,没有 ID 为“世界”的行。你有什么想法,如何解决这个问题?
编辑:
在父/子维度中使用实名而不是 ids(子:西班牙;父:欧洲,值:3)并将 [dim (ALL)].[Hierarchy] 替换为 [dim (ALL)].[Hierarchy] 之后。 members() 在代码中,我得到了一个树状图:
WITH
MEMBER [parent_name] as IIF( [dim (ALL)].[Hierarchy].currentmember
is [dim (ALL)].[Hierarchy],'',
[dim (ALL)].[Hierarchy].currentmember.parent.name )
SELECT
{[parent_name],[Measures].[value]} on 0,
non empty [dim (ALL)].[Hierarchy].members() on 1
FROM
[Cube]
现在深入到下一个级别后,出现错误消息“未能找到 ID 为“欧洲”的行”。我在我的数据中添加了一个 3 级(孩子:马德里;父母:西班牙,值:5),但我无法达到这个水平。点击“西班牙”不会改变任何东西。