mdx - IcCube - 在 icCube 表中显示行号
问题描述
在 Google Table 中有一个显示行号的选项。但遗憾的是,在其他表格中,此选项不可用。我们不使用 Google Table,因为 IcCube Table 只是在处理大量数据时渲染速度更快。
我们了解到的一种解决方法是创建一个具有常量值的计算度量,例如:Row as 42,然后设置一个自定义渲染器,如下所示:
function(context) {
return "<span>"+context.getRowIndex()+"</span>";
}
不幸的是,如果表被导出,则显示的是常量值(即 42)而不是行号。
有没有一种有用的方法可以在 icCube 的其他表中获取行号?
解决方案
一种可能性是使用计算成员来获取行号(它不适用于向下钻取)。
假设您有两个轴,查询将如下所示:
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]
这让我们认为我们应该添加一个函数来以更简单的方式获取当前轴成员。
_希望能帮助到你
推荐阅读
- angular - Angular 和 Laravel 高级搜索
- android - 从启动器图标启动应用程序时如何获取通知数据
- r - 安装 R 包失败
- react-native - 尝试使用 React Native 和 Expo 在 c# 中使用 API REST 时的值“未定义”
- c++ - 如何通过 C++ 向量更新 mongo 数组
- authentication - Nuxt Auth 在通过模式登录完成后给出错误
- java - 在android studio中使用java创建蓝牙遥控器的问题
- javascript - url 行的正则表达式
- java - 如果 Spring Boot 失败,如何停止重新尝试与 RabbitMq、Postgress 建立连接?
- amazon-web-services - ec2 中的 CPU 使用率突然达到 99%