我使用Mondrian 3.4作为我用Java编写的应用程序的Olap服务器。目前我想在多维数据集中执行一些典型的Olap操作,但我找不到任何指导我如何在Mondrian的多维数据集中执行向下钻取操作的指针。我无法在Mondrian API中找到方法来执行此操作。这可能吗?我该怎么办?
事先说。
答案 0 :(得分:0)
我认为您可以在MDDataSet_Tabular
中检查mondrian.xmla.XmlaHandler
内部类,它提供API函数,以便在执行向下钻取操作时将维度值和名称存储到MDDataSet
对象中。我正在使用Mondrian 3.1,但我认为源代码在3.4中应该是相同的。
如果您还有其他问题,请告诉我。祝您好运
答案 1 :(得分:0)
有两种方法可以进行深入研究。您可以深入了解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()