Search in sources :

Example 11 with Member

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());
}
Also used : Member(org.olap4j.metadata.Member)

Example 12 with Member

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);
}
Also used : Position(org.olap4j.Position) ArrayList(java.util.ArrayList) Member(org.olap4j.metadata.Member) Cell(org.olap4j.Cell)

Aggregations

Member (org.olap4j.metadata.Member)12 Position (org.olap4j.Position)3 ArrayList (java.util.ArrayList)2 mondrian.olap (mondrian.olap)2 Property (org.olap4j.metadata.Property)2 ResultSet (java.sql.ResultSet)1 RolapConnection (mondrian.rolap.RolapConnection)1 Locus (mondrian.server.Locus)1 Cell (org.olap4j.Cell)1 OlapException (org.olap4j.OlapException)1 Cube (org.olap4j.metadata.Cube)1 Dimension (org.olap4j.metadata.Dimension)1 Hierarchy (org.olap4j.metadata.Hierarchy)1 Level (org.olap4j.metadata.Level)1