У меня есть следующее выражение в Excel, которое отлично работает.Синтаксис MDX для измерений DAX, рассчитанный с помощью AVERAGE()
=CUBESET("ThisWorkbookDataModel",
"TopCount(
[ProductBV].[Product Name].Children,10,
sum(
(
[Calendar].[Week Ending].[All].[1/6/2013]:[Calendar].[Week Ending].[All].["&TEXT($E$2,"m/d/yyyy")&"],
[ProductBV].[Moderation Status (ALL)].[All].["&$E$3&"]
),
[Measures].[Product Review Count]
)
)",
"Top 10 to date")
Оценка количества оборотов продукта с использованием следующей формулы DAX.
Product Review Count:=COUNTROWS(ProductBV)
Однако, когда я изменить меру DAX к одной, которая использует функцию СРЗНАЧ (продукт Avg обзор), функция CUBESET не работает правильно. Он по-прежнему имеет правильное количество элементов в CUBESET, но когда я использую CUBERANKEDMEMBER (1-10), он не показывает мне 10 лучших продуктов по среднему рейтингу.
Product Avg Review:=AVERAGE(ProductBV[Rating])
'Не работает правильно' ниже выражение:
=CUBESET("ThisWorkbookDataModel",
"TopCount(
[ProductBV].[Product Name].Children,10,
sum(
(
[Calendar].[Week Ending].[All].[1/6/2013]:[Calendar].[Week Ending].[All].["&TEXT($E$2,"m/d/yyyy")&"],
[ProductBV].[Moderation Status (ALL)].[All].["&$E$3&"]
),
[Measures].[Product Avg Review]
)
)",
"Top 10 to date")
В целом, мои данные очень просто. У меня есть одна таблица данных, связанная с таблицей календаря, которая содержит мое имя продукта, рейтинг, дату и статус обзора.
В моей приборной панели моя дата ($ E $ 2) и статус обзора ($ E $ 3) могут быть изменены пользователем с помощью выпадающего меню.
+-----------------+-------------------+------------+----------------+
| Submission Date | Moderation Status | Product ID | Overall Rating |
+-----------------+-------------------+------------+----------------+
| 10/23/2016 | APPROVED | Product 1 | 5 |
| 10/23/2016 | APPROVED | Product 2 | 5 |
| 10/23/2016 | APPROVED | Product 3 | 5 |
| 10/23/2016 | REJECTED | Product 3 | 3 |
| 10/23/2016 | REJECTED | Product 4 | 3 |
+-----------------+-------------------+------------+----------------+
Может ли кто-нибудь сказать мне, почему это происходит и как его исправить?
Мне любопытно, что нужно использовать функции Excel. Почему бы вам просто не рассчитать, что использование DAX в вашей модели PowerPivot ?. Если вы предоставите подробную информацию о своей модели, мы можем дать вам несколько советов. –
Моя причина использования функции Excel состояла в том, чтобы отобразить на панели инструментов 10 лучших продуктов по сумме, которую их средний рейтинг изменил неделю за неделю.Поскольку у меня есть сотни продуктов, я хочу, чтобы только 10 лучших отображались, а не большая таблица, которая сортируется по сумме, которую изменил рейтинг. С удовольствием делаю все это в DAX (и предоставляем детали модели), но я не уверен, как этот подход привел бы к моему результату без использования функций Excel. – Chris
В DAX вы можете легко получить среднее значение для 10 лучших продуктов за определенный диапазон дат. Как уже упоминалось ранее, если вы предоставляете образцы моделей и образцов, мы можем дать вам несколько советов. –