Search code examples
mdxmondrian

Selecting other hierarchies in dimensions


I've googled the error message and various other keywords, but haven't found anything similar enough to my own problem that I could apply it.

In my schema, I have the following dimension:

<Dimension name="Chip">
  <Hierarchy hasAll="true" primaryKey="chip_id">
    <Table name="chip"/>
    <Level name="Reference Designator" column="ux" type="Integer"/>
    <Level name="Pad" column="pad" type="Integer"/>
    <Level name="Chip" column="chip" type="Integer"/>
  </Hierarchy>
  <Hierarchy name="Flash Pack Hierarchy" hasAll="true" primaryKey="chip_id">
    <Table name="chip"/>
    <Level name="Flash Pack" column="fp" type="Integer"/>
    <Level name="Pad" column="pad" type="Integer"/>
    <Level name="Chip" column="chip" type="Integer"/>
  </Hierarchy>
  <Hierarchy name="Bank Hierarchy" hasAll="true" primaryKey="chip_id">
    <Table name="chip"/>
    <Level name="Bank" column="bank" type="Integer"/>
    <Level name="Chip" column="chip" type="Integer"/>
  </Hierarchy>
</Dimension>

and the cube:

<Cube name="Chip Facts">
  <Table name="chip_facts"/>
  <DimensionUsage name="Machine" source="Machine" foreignKey="machine_id"/>
  <DimensionUsage name="Card" source="Card" foreignKey="card_id"/>
  <DimensionUsage name="Chip" source="Chip" foreignKey="chip_id"/>
  <DimensionUsage name="Failure" source="Failure" foreignKey="failure_id"/>
</Cube>

I can query:

select
  [Chip].[Reference Designator].members on columns
from [Chip Facts]

but not:

select
  [Chip].[Flash Pack].members on columns
from [Chip Facts]

I get:

Caused by: mondrian.olap.MondrianException: Mondrian Error:MDX object '[Chip].[Flash Pack]' not found in cube 'Chip Facts'

How do I select the other hierarchy?


Solution

  • Syntax mondrian Olap cube

    select {[Measures.qty1],..} on rows,
    {[dimension.heirrarchy].members} on columns
    from cube