我是Mondrian的新手。我在我的項目中使用它來進行OLAP操作。 我正在用Foodmart數據庫測試它。 問題是我需要JSON格式的OLAP操作結果。 我知道mondrian與層次結構中的JSON具有相同的結構。 我想生成一個JSON文件作爲mondrian MDX查詢結果的輸出。 結果應該與OLAP操作類似。 我不知道如何遍歷從MDX查詢生成的結果。 這是代碼。如何從Mondrian輸出生成JSON文件
String connStr = "Provider=mondrian;" +
"Catalog=/WEB-INF/FoodMart.xml;" +
"JdbcDrivers=com.mysql.jdbc.Driver;" +
"Jdbc=jdbc:mysql://localhost/foodmart;" +
"jdbcUser=root;" +
"jdbcPassword=;";
String queryStr ="select {[Measures].[Unit Sales], [Measures].[Store Cost], [Measures].>Store Sales]} ON COLUMNS,"+"Crossjoin(Hierarchize(Union({[Promotion Media].[All Media]}, >[Promotion Media].[All Media].Children)), {[Product].[All Products]})
ON ROWS"+" from [Sales]"+"where [Time].[1997]";
Connection connection = DriverManager.getConnection(connStr, null);
Query query = connection.parseQuery(queryStr);
Result result = connection.execute(query);
result.print(new PrintWriter(System.out));
其實我需要在存儲在MySQL中的數據倉庫上執行OLAP操作。 結果數據應採用JSON格式,我將傳遞給D3 http://mbostock.github.com/d3進行可視化。 對於數據格式,我必須使用JSON格式。 請給出任何建議如何迭代MDX結果並將其轉換爲JSON文件。 我正在使用Pentaho Mondrian來達到這個目的。 謝謝。