2013-03-17 1 views
1

У меня есть виртуальное измерение. Результаты верны, когда я запрашиваю куб, но когда я запрашиваю виртуальный куб, члены не отображаются.Mondrian virtual cube не показывает участников

запросов:

--From cube: 

SELECT 
NON EMPTY {Hierarchize({[Measures].[MyMeasure]})} ON COLUMNS, 
NON EMPTY {Hierarchize({{[MyVirtualDim Usage 0.New Hierarchy 0].[All MyVirtualDim Usage 0.New Hierarchy 0s]}, {[MyVirtualDim Usage 0.New Hierarchy 0].[New Level 0].Members}, {[MyVirtualDim Usage 0.New Hierarchy 0].[curs].Members}})} ON ROWS 
FROM [MyCube] 

--From virtual cube: 

SELECT 
NON EMPTY {Hierarchize({[Measures].[MyMeasure]})} ON COLUMNS, 
NON EMPTY {Hierarchize({{[MyVirtualDim.New Hierarchy 0].[All MyVirtualDim.New Hierarchy 0s]}, {[MyVirtualDim.New Hierarchy 0].[New Level 0].Members}, {[MyVirtualDim.New Hierarchy 0].[curs].Members}})} ON ROWS 
FROM [MyVirtualCube] 

Результаты:

--from cube (right) 

Axis #0: 
{} 
Axis #1: 
{[Measures].[MyMeasure]} 
Axis #2: 
{[MyVirtualDim Usage 0.New Hierarchy 0].[All MyVirtualDim Usage 0.New Hierarchy 0s]} 
{[MyVirtualDim Usage 0.New Hierarchy 0].[1]} 
{[MyVirtualDim Usage 0.New Hierarchy 0].[1].[1]} 
{[MyVirtualDim Usage 0.New Hierarchy 0].[1].[2]} 
Row #0: 5 
Row #1: 5 
Row #2: 3 
Row #3: 2 

--from virtual cube (bad) 

Axis #0: 
{} 
Axis #1: 
{[Measures].[MyMeasure]} 
Axis #2: 
{[MyVirtualDim.New Hierarchy 0].[All MyVirtualDim.New Hierarchy 0s]} 
Row #0: 5 

Вот определение схемы:

<Schema name="New Schema1"> 

    <Dimension visible="true" name="MyVirtualDim"> 
     <Hierarchy name="New Hierarchy 0" visible="true" hasAll="true"> 
     <Table name="dim2" schema="public" alias=""> 
     </Table> 
     <Level name="New Level 0" visible="true" table="dim2" column="id_nivell" nameColumn="id_nivell" type="Integer" internalType="int" uniqueMembers="false" levelType="Regular" caption="nivell" captionColumn="nom_nivell"> 
      <Property name="nivell" column="nom_nivell" type="String" description="nivell"> 
      </Property> 
     </Level> 
     <Level name="curs" visible="true" table="dim2" column="id_curs" nameColumn="id_curs" type="Integer" internalType="int" uniqueMembers="false" levelType="Regular" captionColumn="nom_curs"> 
      <Property name="curs" column="nom_curs" type="String" description="curs"> 
      </Property> 
     </Level> 
     </Hierarchy> 
    </Dimension> 

    <Cube name="MyCube" visible="true" cache="true" enabled="true"> 
    <Table name="facts" schema="public"> 
    </Table> 
    <DimensionUsage source="MyVirtualDim" name="MyVirtualDim Usage 0" visible="true" foreignKey="fk_dim2" > 
    </DimensionUsage> 
    <Measure name="MyMeasure" column="id" datatype="Integer" aggregator="count" visible="true"> 
    </Measure> 
    </Cube> 

    <VirtualCube enabled="true" name="MyVirtualCube" visible="true"> 

    <CubeUsages> 
     <CubeUsage cubeName="MyCube" > 
     </CubeUsage> 
    </CubeUsages> 

    <VirtualCubeDimension visible="true" name="MyVirtualDim"> 
    </VirtualCubeDimension> 

    <VirtualCubeMeasure cubeName="MyCube" name="[Measures].[MyMeasure]" visible="true"> 
    </VirtualCubeMeasure> 

    </VirtualCube> 
</Schema> 

Кто-то может увидеть, где проблема?

ответ

2

решаемые,

Виртуальные размеры и виртуальных кубов работает, как ожидалось. Для того, чтобы решить мою проблему, достаточно изменить имя измерения:

<Cube name="MyCube" visible="true" cache="true" enabled="true"> 
    <Table name="facts" schema="public"> 
    </Table> 
    <DimensionUsage source="MyVirtualDim" name="MyVirtualDim Usage 0" <--here! 

должны быть названы: MyVirtualDim вместо MyVirtualDim Usage 0, потому что это имя измерения в кубе.

Смежные вопросы