IcCube 报告:如何停止层次结构中的钻取?

IcCube Reporting : How to stop drill in a hierarchy?

当我们查询具有多个级别的 dimension/hierarchy 时,默认情况下允许钻取该层次结构的所有级别... 例如,在由以下组成的层次结构中:Continent/Country/State/City.

将钻取限制在州级别(即不显示城市级别)而不必创建没有城市的新层次结构的解决方案是什么?

我听说这可以使用模式脚本中的函数到 "flatten" 层次结构来完成。

谁能给我一个活生生的例子?

首先是将我们的导航映射为 MDX 函数(您也可以复制并粘贴代码,但没有重复使用)。像这样的想法(销售示例):

CREATE FUNCTION navigationDemo(_x) AS 
            {
            CASE  
            WHEN _x.hierarchy is [Customers].[Geography] THEN [Product].[Product].[Category]
            WHEN _x.hierarchy is [Product].[Product] THEN [Time].[Year].[Year]
            ELSE {}
            END
            }

一旦完成,我们就可以转到我们的小部件,在我们的示例中是 table,并定义一个向下钻取策略。它应该是 mdxExpression 类型,我们可以将我们新创建的函数插入到 MDX 表达式中

navigationDemo( $member )   // where $member is the clicked member in the table

不要忘记设置 'Filter by',因为我们希望新数据被点击的成员过滤。