首页 > 解决方案 > IcCube - 在 icCube 表中显示行号

问题描述

在 Google Table 中有一个显示行号的选项。但遗憾的是,在其他表格中,此选项不可用。我们不使用 Google Table,因为 IcCube Table 只是在处理大量数据时渲染速度更快。

我们了解到的一种解决方法是创建一个具有常量值的计算度量,例如:Row as 42,然后设置一个自定义渲染器,如下所示:

function(context) {
    return "<span>"+context.getRowIndex()+"</span>";
}

不幸的是,如果表被导出,则显示的是常量值(即 42)而不是行号。

有没有一种有用的方法可以在 icCube 的其他表中获取行号?

标签: mdxiccubeiccube-reporting

解决方案


一种可能性是使用计算成员来获取行号(它不适用于向下钻取)。

假设您有两个轴,查询将如下所示:

WITH
   FUNCTION _currentTuple(_t) as CASE _t.count
            WHEN 1 THEN _t.hierarchy.currentMember
            WHEN 2 THEN ( _t.Item(0).hierarchy.currentMember,_t.Item(1).hierarchy.currentMember)
            // you get the idea 
            ELSE  Error( "_currentTuple- " + Str(_t.count)  )
           END
   MEMBER [Line Position] as Rank( _currentTuple( Axis(1)(0) )  ,   Axis(1) )
SELECT
 [Line Position] on 0,
 [Customers].[Geography].[Region].members * [Product].[Product].[Category] on 1
FROM [Sales]   

这让我们认为我们应该添加一个函数来以更简单的方式获取当前轴成员。

_希望能帮助到你


推荐阅读