Попасть в пятерку лучших по разным годам MDX
У меня есть топ-5 клиентов по годам, и я хочу создать запрос, который будет получать эту информацию за год в разные годы в одно и то же время, я имею в виду:
select
[Measures].[Ventas]
on columns,
non empty
topcount
(
[Dim Cliente].[Company Name].Children,5,[Measures].[Ventas]
)
on rows
from
[DWH Northwind]
where
[Dim Tiempo].[Año].&[1996]
ТОП 5 1996
Могу ли я попасть в пятерку лучших 1996 и 1997 годов вместе в год?
2 ответа
Решение
Вы можете использовать функцию Generate следующим образом:
select
[Measures].[Ventas] on columns,
non empty Generate(
{ [Dim Tiempo].[Año].&[1995], [Dim Tiempo].[Año].&[1996] } as yy,
topcount (yy.currentMember * [Dim Cliente].[Company Name].Children,5,[Measures].[Ventas])
) on rows
from [DWH Northwind
Таким образом, вы можете получить ТОП-5 для каждого доступного года таким же образом:
select
[Measures].[Ventas] on columns,
non empty Generate(
[Dim Tiempo].[Año].members as yy,
topcount (yy.currentMember * [Dim Cliente].[Company Name].Children,5,[Measures].[Ventas])
) on rows
from [DWH Northwind
Надеюсь, это поможет.
Попробуй это
select
[Measures].[Ventas]
on columns,
non empty
{
topcount
(([Dim Tiempo].[Año].&[1996],[Dim Cliente].[Company Name].Children),5,[Measures].[Ventas])
,
topcount
(([Dim Tiempo].[Año].&[1997],[Dim Cliente].[Company Name].Children),5,[Measures].[Ventas])
}
on rows
from
[DWH Northwind]
where