3

我想通过发送带有 Rest 请求的 MDX 从 activePivot 的多维数据集中检索数据。我尝试这样做并检索了一个 json 对象,然后我解析了这个 json 对象以仅检索特定信息(看图片)。

我看了一下这个问题:我可以将 ActivePivot 连接到画面软件吗?, 但并不完整。

现在,无论请求是什么,我都想在网页的动态表中呈现信息。我该怎么做?

在此处输入图像描述

4

1 回答 1

2

您正在尝试执行我们所说的从CellSet渲染数据透视表的操作。CellSet(以及可选的相应 Cube 发现信息)足以执行此任务,您可以自己编写它,基本上只需迭代 CellSet 上的轴和单元格。据我所知,没有开源库可以帮助您这样做(您使用的 REST Api 是最新的)。

由于您使用的是 ActivePivot,您可能知道ActivePivot Live 4,它是 ActivePivot 的 UI 前端,它使用您正在使用的相同 API,并包含一个TabularView组件,该组件执行您尝试执行的操作,并具有许多附加功能这对您来说可能很有趣,命名为:

  • 延迟渲染(它可以以低内存占用快速渲染非常大的 CellSet)
  • 支持通过 WebSocket 查询对 CellSet 进行实时更新
  • 高度可配置的表格(您可以通过编程方式或通过 UI 自定义每个元素的样式)
  • 列可以重新排序/固定/调整大小
  • 能够对一列或一组列进行复杂的渲染(例如迷你图、层次结构树)
  • 组件可用作库,因此如果您愿意,可以将它们包含在您的 Angular 应用程序中

该产品包含更多功能,例如,您可以在这两个视频中看到(每次看到包含数据的表格时,这就是 TabularView):https ://www.youtube.com/watch?v=-B07d4meYbQ和https: //www.youtube.com/watch?v=QMTVAtdpuRs

因此,如果您使用 ActivePivot Live,您可以将任何 MDX 显示为 div 中的表格,其 idtable具有以下代码:

const servers = ActivePivotLive.api.queries.serversPool;
const server = servers.addActivePivotServer({url: 'http://localhost:9090'});
conat tabularView = ActivePivotLive.api.widgets.createTabularView()
  .withMdx(yourMdx)
  .within('table');

然后稍后您可以更改 mdx

tabularView.getQuery().setMdx(newMdx)

例如,您可以将其包装在 Angular 指令中。

否则,您将不得不自己实现它,但如果您在尝试实现它时遇到特定问题或错误,当然可以在这里寻求帮助。

于 2016-05-12T16:00:00.987 回答