У меня есть 2 куба (SalesCube и StockCube) с двумя общими размерами: Имя магазина, Идентификатор статьи. Каждый куб имеет свой собственный размер: SalesCube имеет SalesDim и StockCube имеет StockDim. Кроме того, каждый куб имеет свою собственную меру: SalesCube имеет «Sales value», а StockCube имеет значение «Stocks». Я создал виртуальный куб, который содержит все размеры (2 общих и 2 конкретных) и обе меры. Проблема в том, что если я использую конкретный размер, результат будет содержать данные только из меры из куба, который имеет эту конкретную размерность (второе измерение пусто). Если я использую только общие измерения, отчет принесет результаты для обеих мер. Что мне не хватает?mdx - виртуальный куб, не показывающий все результаты
Практически, виртуальные значения пустые меры по размерам, которые не приходят из того же родительского куба
я нашел что-то подобное, но без ответов: http://forums.pentaho.com/showthread.php?130932-Virtual-Cube-Measure-Behaviour-Question
<Schema name="Shop_Sales_and_Stock">
<Dimension name="SalesDim">
<Hierarchy hasAll="true">
<Table name="Sales" primaryKey="Article_Id"/>
<Level name="SalesDim" uniqueMembers="false" column="SalesDim" type="String">
</Level>
</Hierarchy>
</Dimension>
<Dimension name="StockDim">
<Hierarchy hasAll="true">
<Table name="Stocks" primaryKey="Article_Id"/>
<Level name="StockDim" uniqueMembers="false" column="StockDim" type="String">
</Level>
</Hierarchy>
</Dimension>
<Cube name="SalesCube">
<Table name="Sales"/>
<Dimension name="Shop_name">
<Hierarchy visible="true" hasAll="true">
<Table name = "Sales"/>
<Level name="Shop name" uniqueMembers="false" column="Shop_name" type="String">
</Level>
</Hierarchy>
</Dimension>
<Dimension name="Article Id">
<Hierarchy visible="true" hasAll="true">
<Table name = "Sales"/>
<Level name="Article Id" uniqueMembers="false" column="Article_Id" type="String">
</Level>
</Hierarchy>
</Dimension>
<DimensionUsage name="SalesDim" source="SalesDim" foreignKey="Article_Id"/>
<Measure name="Sales value" column="Sales value" aggregator="sum" formatString="#"/>
</Cube>
<Cube name="StockCube">
<Table name="Stocks"/>
<Dimension name="Shop_name">
<Hierarchy visible="true" hasAll="true">
<Table name = "Stocks"/>
<Level name="Shop name" uniqueMembers="false" column="Shop_name" type="String">
</Level>
</Hierarchy>
</Dimension>
<Dimension name="Article Id">
<Hierarchy visible="true" hasAll="true">
<Table name = "Stocks"/>
<Level name="Article Id" uniqueMembers="false" column="Article_Id" type="String">
</Level>
</Hierarchy>
</Dimension>
<DimensionUsage name="StockDim" source="StockDim" foreignKey="Article_Id"/>
<Measure name="Stocks value" column="Stocks value" aggregator="sum" formatString="#"/>
</Cube>
<VirtualCube name="Shop_Sales_and_Stock">
<CubeUsages>
<CubeUsage cubeName="SalesCube"/>
<CubeUsage cubeName="StockCube"/>
</CubeUsages>
<VirtualCubeDimension name="Shop name"/>
<VirtualCubeDimension name="Article Id"/>
<VirtualCubeMeasure cubeName="SalesCube" name="[Measures].[Sales value]"/>
<VirtualCubeMeasure cubeName="StockCube" name="[Measures].[Stocks value]"/>
</VirtualCube>
</Schema>
Я пробовал, но без изменений :( – bluesony
Итак, определите размеры 'Shop_name' и' Article Id' как глобальные (под элементом 'Schema') и добавьте их в кубы' DimensionUsage'. – mzy
это был мой Сначала я подумал ... но из какой таблицы я их определяю? каждый из них можно найти в обоих кубах/таблицах. – bluesony