This content has been marked as final. Show 5 replies
In AWM you should be able to drag the dimension key column from the fact table to multiple levels of the hierarchy.
At the XML level you should see elements in the cube map like this:
The MappedDimension attribute instructs the server to load data at the LEAF_LEVEL only. To get it to load at all levels you can simply delete the MappedDimension line and recreate the cube. If you then look in the AWM mapping screen you should see MY_FACT.MY_DIM_COLUMN mapped to all levels within MY_DIM.MY_HIER.
<CubeDimensionalityMap Name="MY_DIM" Dimensionality="MY_DIM" MappedDimension="MY_DIM.MY_HIER.LEAF_LEVEL" Expression="MY_FACT.MY_DIM_COLUMN"> </CubeDimensionalityMap>
There are a few cases where this will not work, so be warned! Here are some that I can think of.
(1) If you have an MV on the cube
(2) You are partitioning by the dimension
(3) The expression for the CubeDimensionalityMap comes from the dimension table.
Case (3) sometimes happens because users map to a dimension table column instead of to a fact table column wwhen they are different sides of the table join. For example if the table join condition is "MY_FACT.MY_DIM_COLUMN = MY_DIM_TABLE.KEY_COLUMN" then some people map to the expression MY_DIM_TABLE.KEY_COLUMN instead of to MY_FACT.MY_DIM_COLUMN. If this is true, then you can just change the expression to point to the fact column. A legitimate case of (3) happens where the fact table contains data at a lower level (e.g. DAY) than what is loaded into the AW (e.g. MONTH). A solution there is to create a VIEW that does the correct join and then map the cube to the VIEW.
I tried to drag the dimension key column from the fact table to multiple levels of the hierarchy using AWM. When I tried that I get following error:
Error popu-up with
If I click on more details:
at java.util.ArrayList.get(Unknown Source)