Я пытаюсь получить топ-10 проданных продуктов для каждой компании - PullRequest
0 голосов
/ 28 марта 2019

Я пытался сделать, как описано в ссылке ниже,

https://activeviam.com/en/resource-center/advanced-mdx-queries

но мой запрос занял так много времени, а затем произошла ошибка тайм-аута.

SELECT NON EMPTY
Generate
(
   [Cube Company].[Name].MEMBERS,

   TopCount
   (
     {[Cube Company].[Name].CurrentMember} * [Cube Product].[ALL].
     [AllMember].Children,
     10,
     [Measures].[sales]
   )

) ON ROWS,
{MEASURES.[sales]} ON COLUMNS
FROM [DB];

Я также попробовал как пример запроса, который отображает 10 лучших продуктов для каждого календарного года на следующей странице с фильтром и без него, и все еще та же ошибка:

https://docs.microsoft.com/en-us/sql/mdx/generate-mdx?view=sql-server-2017

SELECT NON EMPTY
{[Measures].[sales]} ON COLUMNS, 
Generate(
 [Cube Company].[Name].MEMBERS,
 TopCount(
        [Cube Company].[Name].CURRENTMEMBER 
        * FILTER([Cube Product].[Name].MEMBERS, [Measures].[sales]>0),
        10,
        [Measures].[sales]
        )
) ON ROWS
FROM [DB];
...