«Получение 5 лучших продаж по годам и отображение результатов по кварталам» с помощью многомерных выражений

Я работаю с кубом продаж.
Я хочу получить 5 лучших магазинов по годам и отобразить их продажи по кварталам позже в моем отчете.

Мне удалось попасть в пятерку лучших магазинов, но не только за год, но и за квартал!

SELECT NON EMPTY { [Measures].[Revenue] } ON COLUMNS, 
NON EMPTY { ([DWH REF DATE].[H_CALENDER].[QUARTER NUM].ALLMEMBERS * TOPCOUNT([DWH REF STORE].[H_STORE].[STORE].ALLMEMBERS , 5  ,  [Measures].[Revenue] )) } 
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_VALUE, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( -{ [DWH REF STORE].[H_STORE].[TERRITORY].&[N/A].&[N/A] } ) ON COLUMNS FROM ( SELECT ( { [DWH REF DATE].[H_CALENDER].[YEAR NUM].&[2012] } ) ON COLUMNS FROM [SALES CUBE])) 

Чего я точно хочу, так это войти в пятерку лучших магазинов по годам, а затем получить их продажи на четверть из 5 магазинов.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
89
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Добро пожаловать в SO, поэтому давайте рассмотрим пример. Я пытаюсь получить 5 лучших подпродуктов по интернет-продажам от Adventureworks Cube за 2013 год.

select 
[Measures].[Internet Sales Amount]
on columns,
non empty
topcount
(
[Product].[Subcategory].[Subcategory],
5,
[Measures].[Internet Sales Amount]
)
on rows
from 
[Adventure Works]
where [Date].[Calendar].[Calendar Year].&[2013]

Результат

Теперь давайте попробуем разделить продажи на четверть.

select 
[Measures].[Internet Sales Amount]
on columns,
non empty
[Date].[Calendar Quarter of Year].[Calendar Quarter of Year]
on rows
from 
(select  topcount([Product].[Subcategory].[Subcategory],5,[Measures].[Internet Sales Amount]) on 0 from [Adventure Works] )
where [Date].[Calendar].[Calendar Year].&[2013]

Результат

Обновлено: на основе комментария

select 
[Measures].[Internet Sales Amount]
on columns,
non empty
(
topcount
(
[Product].[Subcategory].[Subcategory],
5,
[Measures].[Internet Sales Amount]
),[Date].[Calendar Quarter of Year].[Calendar Quarter of Year])
on rows
from 
[Adventure Works]
where [Date].[Calendar].[Calendar Year].&[2013]

Результат

Спасибо за ваш ответ. Ну, в конце концов, это не то, что я ожидал, я хочу, чтобы продажи по кварталам для 5 лучших субпродуктов

Ramy Frikha 27.05.2019 18:18

Это именно то, что есть. В этом примере представлены продажи пяти основных подпродуктов с разбивкой по кварталам. Вы хотите, чтобы в результате тоже были субпродукты

MoazRub 27.05.2019 20:07

Да, пожалуйста, я хочу, чтобы 5 лучших подпродуктов тоже были в результатах! Я новичок в SO, поэтому я не знаю, как поделиться картинкой, иначе я бы показал вам результаты, которые я хочу!

Ramy Frikha 27.05.2019 23:06

Проверьте редактирование. Теперь, если вы хотите изменить вложенность на противоположную, поменяйте местами кватер и верхний счетчик "([Дата].[Календарный квартал года].[Календарный квартал года] ,topcount ([Продукт].[Подкатегория].[Подкатегория ], 5, [Меры].[Объем интернет-продаж] ))"

MoazRub 27.05.2019 23:31

Одно слово ! Идеально ! это то, что я хотел именно!

Ramy Frikha 28.05.2019 00:24

@RamyFrikha ваш исходный запрос должен решить проблему. Просто нужно было поменяться местами.

MoazRub 28.05.2019 00:27

Другие вопросы по теме