Я новичок в Мондриане. Я использую его в своем проекте для операций OLAP. Я тестирую его с базой данных Foodmart. Проблема в том, что мне нужны результаты операций OLAP в формате JSON. Я знаю, что mondrian имеет ту же структуру, что и JSON, в виде иерархий. Я хочу создать файл JSON в качестве результата запроса mondrian MDX. Результат должен быть аналогичен операциям 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));
На самом деле мне нужно выполнять операции OLAP в хранилище данных, которое хранится в MySQL. Полученные данные должны быть в формате JSON, который я передам на D3 http://mbostock.github.com/d3 а> для визуализации. Для формата данных я должен использовать формат JSON. Любые предложения, как перебрать результат MDX и преобразовать его в файл JSON. Я использую Pentaho Mondrian для этой цели. Спасибо.