0

我使用 Mondrian 3.4 作为我用 Java 编写的应用程序的 Olap 服务器。目前我想在多维数据集中执行一些典型的 Olap 操作,但我找不到任何指导我如何使用 Mondrian 在多维数据集中执行向下钻取操作的指针。我在 Mondrian API 中找不到执行此操作的方法。这可能吗?我该怎么做?

提前Thks。

4

2 回答 2

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()
于 2012-12-05T15:11:24.710 回答
0

我认为您可以检查MDDataSet_Tabular内部类mondrian.xmla.XmlaHandler,它提供了 API 函数来MDDataSet在您执行向下钻取操作时将维度值和名称存储到对象中。我使用的是 Mondrian 3.1,但我认为源代码在 3.4 中应该是相同的。

如果您有其他问题,请告诉我.. 祝你好运

于 2012-11-21T19:25:11.440 回答