2013-03-17 2 views
1

가상 차원이 있습니다. 결과는 큐브를 쿼리 할 때 적합하지만, 가상 큐브를 쿼리 할 때 멤버가 표시되지 않습니다.몬드리안 가상 큐브 멤버가 표시되지 않습니다.

조회 :

--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

해결 된,

예상대로 가상 차원과 가상 큐브가 실행됩니다. 큐브 차원의 이름 때문에 MyVirtualDim 대신 MyVirtualDim Usage 0 :

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

이 이름을 지정해야합니다 : 내 문제를 해결하기는 차원 이름을 변경 충분하다.

관련 문제