(SQL Server Analysis Services) MDX-запрос, чтобы получить непосредственного родителя?
Желаемый результат
Когда куб развернут и просмотрен, я хочу видеть только непосредственного менеджера сотрудника.
Результат куба показывает всех менеджеров конкретного сотрудника, как показано ниже:
Аббас, Санчес, 825
Аббас, Уэлкер, 825
Аббас, Аббас, 825`
Я хочу видеть только непосредственного руководителя конкретного сотрудника, имея в виду это:
Аббас, Уэлкер, 825
Как повторить сценарий:
- Использование инструментов данных SQL Server
- Создайте многопрофильный проект Data Analysis Services Mining
- Источником данных является база данных AdventureWorksDW12, пример базы данных от Microsoft.
- Представление источника данных имеет две таблицы: FactResellerSales и DimEmployee
- Создать куб. FactResellerSales = меры. DimEmployee = размеры.
Измерение DimEmployee имеет следующие атрибуты: EmployeeKey, LastName, ParentEmployeeKey.
- АтрибутEmployeeKey изменен, чтобы принять столбец имени: DimEmployee.LastName
- Атрибут ParentEmployeeKey находится в родительско-дочерних отношениях. Атрибут создал многоуровневую иерархию. СКРИНШОТ 1
Разверните куб и просмотрите. Перетащите следующие атрибуты: LastName, ParentEmployeeKey, Количество заказа. СКРИНШОТ 2
1 ответ
Может быть, вы могли бы попробовать любой из этих mdx
функции:
.Parent
... https://msdn.microsoft.com/en-us/library/ms145513.aspx
ancestor
... https://msdn.microsoft.com/en-us/library/ms145616.aspx
Контекст запроса, в котором вы пытаетесь получить родителя, важен. Я имею в виду, что в зависимости от того, что еще вам нужно для строк и столбцов или в слайсере, будет зависеть то, как вы используете mdx
найти родителя.
Может работать что-то вроде следующего:
WITH MEMBER Measures.ParentKey AS
[Dim Employee].[Parent Employee Key].CurrentMember.Parent.member_caption
SELECT
{[Measures].ParentKey } ON 0,
[Dim Employee].[Parent Employee Key].[(All)].members ON 1
FROM [YourCube]