【问题标题】:Rendering ActivePivot in a web page在网页中呈现 ActivePivot
【发布时间】:2016-05-13 00:20:42
【问题描述】:
【问题讨论】:
标签:
rest
angular
rendering
mdx
activepivot
【解决方案1】:
您正在尝试从 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 中的表格,ID 为 table:
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 指令中。
否则您将不得不自己实现它,但如果您在尝试实现它时遇到特定问题或错误,当然可以在这里寻求帮助。