我使用Mondrian 3.4作为我用Java编写的应用程序的Olap服务器。目前,我想在多维数据集中执行一些典型的Olap操作,但我找不到任何指导我如何使用Mondrian在多维数据集中执行钻取操作的指针。我在Mondrian API中找不到这样做的方法。这个是可能的吗?我怎么发动汽车呢?
预想一下。
发布于 2012-11-21 19:25:11
我认为你可以在mondrian.xmla.XmlaHandler
中查看MDDataSet_Tabular
内部类,它提供了一些函数,当你执行向下钻取操作时,它会将维度值和名称存储到MDDataSet
对象中。我使用的是Mondrian 3.1,但我认为3.4中的源代码应该是相同的。
如果您还有其他问题,请告诉我。祝好运
发布于 2012-12-05 15:11:25
有两种方法可以进行深入分析。您可以向下钻取MDX查询,也可以向下钻取特定单元格。
要在olap4j中运行向下钻取查询,请执行以下操作:
ResultSet rs =
olapConnection.createStatement().executeQuery(
"DRILLTHROUGH\n"
+ "SELECT {[Measures].[Unit Sales]} on columns\n"
+ "from [Sales]\n"
+ "where ([Promotions].[One Day Sale],\n"
+ " [Store].[Store City].[Walla Walla],\n"
+ " [Product].[Product Category].[Bread])\n"
+ "RETURN [Customers].[Name], [Gender].[Gender]");
RETURN子句是可选的,它指定要返回的字段。要向下钻取特定单元格,可以运行查询,访问所需的单元格,然后调用:
org.olap4j.Cell.drillthrough()
https://stackoverflow.com/questions/13451999
复制