モンドリアン初心者です。プロジェクトで OLAP 操作に使用しています。Foodmart データベースでテストしています。問題は、OLAP 操作の結果を JSON 形式にする必要があることです。mondrian が JSON と同じ構造を階層という形で持っていることは知っています。mondrian MDX クエリの結果からの出力として JSON ファイルを生成したいと考えています。結果は OLAP 操作と同様になります。MDX クエリから生成された結果を反復処理する方法がわかりません。これがコードです。
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ファイルに変換する方法を提案してください。私はこの目的のためにペンタホ モンドリアンを使用しています。ありがとう。