Я новичок в OLAP и до сих пор не знаю, как создать связь между двумя или более объектами.
Я основываю свой куб на представлениях.Для простоты давайте назовем их так:
viewParent (ParentID PK)
viewChild (ChildID PK, ParentID FK)
эти представления имеют большеполя, но они не важны для этого вопроса.
в моем источнике данных я определил связь между viewParent и viewChild, используя ParentID для ссылки.
Что касается мер, я был вынужден создать отдельные меры для родителей и детей.
в моем запросе MDX эта связь, похоже, не навязана.Если я выберу количество записей для родителя, потомка и добавлю несколько фильтров для родителя, количество дочерних элементов не будет отображаться.
SELECT {
[Measures].[ParentCount],[Measures].[ChildCount]
} ON COLUMNS
FROM [Cube]
WHERE {
(
{[Time].[Month].&[2011-06-01T00:00:00]}
,{[SomeDimension].&[Foo]}
)
}
выбранный ParentCount верен, но на ChildCount не влияет ни один изфильтры (потому что они являются родительскими фильтрами).Тем не менее, поскольку я определил отношение, как я могу воспользоваться этим для фильтрации дочерних элементов по родителю с помощью предложения WHERE?
Факты:
viewParent, viewChild
Размеры:
ParentDimension (содержит атрибуты из родительского представления, по которым я собирался) ChildDimension (содержит атрибуты издетский взгляд, на котором я собираюсь)
Это просто идея, которую я придумал, но, возможно, мой дизайн / отношения нарушены.