Я новичок в Мондриане. Я использую его в своем проекте для операций OLAP.
Я проверяю это с базой данных Foodmart.
Проблема в том, что мне нужны результаты операций OLAP в формате JSON.
Я знаю, что Mondrian имеет ту же структуру, что и JSON в форме иерархий.
Я хочу сгенерировать файл JSON в качестве вывода из результата запроса MDX Mondrian.
Результат должен быть похож на операции 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 для этой цели.
Спасибо.