Столкнулся с проблемой, которую не могу решить. Для моего академического проекта у меня есть куб, представляющий хранилище данных авиакомпании. В этой авиакомпании пассажиры заполняют анкету из 5 вопросов, оценивая различные аспекты полета от 1 до 10.
Меня попросили написать MDX
запрос, чтобы показать, как их общая оценка полета (средняя из пяти оценок) зависит от класса, в котором они были.
Это мой запрос:
WITH
MEMBER [Average Grade1] AS
[Measures].[Grade1] / [Measures].[Flight Count]
MEMBER [Average Grade2] AS
[Measures].[Grade2] / [Measures].[Flight Count]
MEMBER [Average Grade3] AS
[Measures].[Grade3] / [Measures].[Flight Count]
MEMBER [Average Grade4] AS
[Measures].[Grade4] / [Measures].[Flight Count]
MEMBER [Average Grade5] AS
[Measures].[Grade5] / [Measures].[Flight Count]
MEMBER [Average] AS
(
[Measures].[Average Grade1] + [Measures].[Average Grade2]
+
[Measures].[Average Grade3]
+
[Measures].[Average Grade4]
+
[Measures].[Average Grade5]
)
/ 5
SELECT
{
[Measures].[Average Grade1]
,[Measures].[Average Grade2]
,[Measures].[Average Grade3]
,[Measures].[Average Grade4]
,[Measures].[Average Grade5]
,[Measures].[Average]
} ON COLUMNS
,{[Junk].[Class].Children} ON ROWS
FROM [Airline];
Это дает неправильные результаты, потому что среднее подсчитывается до фактической группировки по классам, поэтому для всех классов отображается один и тот же результат. Может ли кто-нибудь сказать мне, как получить результат, который я хочу?