// cubeQuery.getConditions().add(condition);
cubeQuery.getAggregates().add(new CubeQueryAggregate("min(m1)"));
cubeQuery.getAggregates().add(new CubeQueryAggregate("max(m2)"));
cubeQuery.getAggregates().add(new CubeQueryAggregate("count(m3)"));
cubeQuery.getGroupBy().add("d1");
OLAPEngine olapEngine = new OLAPEngine();
CubeQueryResult r = olapEngine.executeQuery(cubeQuery, cubeDescriptor);
for(CubeQueryResultRow row: r.getRows()) {
for(long l: row.getGroupBy())
System.out.print(l + "\t");
for(double d: row.getValues())
System.out.print(d + "\t");