如何使用 olap4j 读取 mdx 中的列标题和行标题

Posted

技术标签:

【中文标题】如何使用 olap4j 读取 mdx 中的列标题和行标题【英文标题】:How to read column header and row header in mdx using olap4j 【发布时间】:2016-10-19 17:14:53 【问题描述】:

我有一个 mdx 查询,它给我的结果如附图所示。 我想使用 olap4j 库从 java 中读取维度,即列标题和行标题。 使用 getCell 方法我可以读取值,谁能告诉我使用哪些方法来读取列标题和行标题。(MDX ResultTotal Sales Amount, Sunday,monday ...)

【问题讨论】:

【参考方案1】:

来自 olap4j 的 CellSet(除了单元格)具有轴(行、列、切片器)。它看起来像你的情况,

    Total Sales Amount 是在列轴上选择的度量。 星期日、星期一是行轴上某个维度的成员。

您可以执行以下操作来检索这些,

CellSet cellSet = //retrieve cellset
List<CellSetAxis> axes = cellSet.getAxes(); //Gives you all axes
CellSetAxis columnAxis = axes.get(0); //Will give you column axes
CellSetAxis rowAxis = axes.get(1);
List<Position> pos = rowAxis.getPositions();
for(Position p:pos)
     List<Member> members = p.getMembers();
     Member m = members.get(0); //will give you Sunday 

This 将为您提供 API 的更多详细信息。

【讨论】:

以上是关于如何使用 olap4j 读取 mdx 中的列标题和行标题的主要内容,如果未能解决你的问题,请参考以下文章

使用 olap4j Api 获取 Mdx 中维度的根级别

Mondrain MDX 用于日期范围之间的记录,其中开始日期和结束日期是单独的列

如何从 Mondrian OlapConnection 获取 org.olap4j.metadata.Cube

如何评估 MDX 在 OLAP 处理中的性能

如何通过读取、递增和更新数据库中的列来有效地保持计数

FoodMart数据仓库mysql表及数据初始化