use of org.olap4j.metadata.Member in project mondrian by pentaho.
the class Olap4jTest method testMondrian1353.
/**
* This is a test for
* <a href="http://jira.pentaho.com/browse/MONDRIAN-1353">MONDRIAN-1353</a>
*
* <p>An empty stack exception was thrown from the olap4j API if
* the hierarchy didn't have a all member and the default member
* was not explicitly set.
*/
public void testMondrian1353() throws Exception {
final TestContext testContext = TestContext.instance().create(null, "<Cube name=\"Mondrian1353\">\n" + " <Table name=\"sales_fact_1997\"/>\n" + " <Dimension name=\"Cities\" foreignKey=\"customer_id\">\n" + " <Hierarchy hasAll=\"false\" primaryKey=\"customer_id\">\n" + " <Table name=\"customer\"/>\n" + " <Level name=\"City\" column=\"city\" uniqueMembers=\"false\"/> \n" + " </Hierarchy>\n" + " </Dimension>\n" + " <Measure name=\"Unit Sales\" column=\"unit_sales\" aggregator=\"sum\"\n" + " formatString=\"Standard\" visible=\"false\"/>\n" + "</Cube>", null, null, null, null);
final Member defaultMember = testContext.getOlap4jConnection().getOlapSchema().getCubes().get("Mondrian1353").getDimensions().get("Cities").getDefaultHierarchy().getDefaultMember();
assertNotNull(defaultMember);
assertEquals("Acapulco", defaultMember.getName());
}
use of org.olap4j.metadata.Member in project teiid by teiid.
the class OlapQueryExecution method next.
@Override
public List<?> next() throws TranslatorException {
if (!rowPositionIterator.hasNext()) {
return null;
}
Position rowPosition = rowPositionIterator.next();
Object[] result = new Object[colWidth];
int i = 0;
// add in rows axis
List<Member> members = rowPosition.getMembers();
for (Member member : members) {
String columnName = member.getName();
result[i++] = columnName;
}
// add col axis
for (Position colPos : columnsAxis) {
Cell cell = cellSet.getCell(colPos, rowPosition);
result[i++] = cell.getValue();
}
if (returnsArray) {
ArrayList<Object[]> results = new ArrayList<Object[]>(1);
results.add(result);
return results;
}
return Arrays.asList(result);
}
Aggregations