При написании диплома у меня возникли некоторые проблемы с функцией измерения PowerBi. Прежде всего, моя мера:
VAR __CATEGORY_VALUES = VALUES('UD_PT'[UD_PT_VALUE])
VAR __BEFRAGTEN_CNT = VALUES('UMFRAGEDATEN'[UD_BEFRAGTENANZAHL])
VAR __HUNNAT = 100
RETURN
DIVIDE(
__BEFRAGTEN_CNT *
DIVIDE(
__CATEGORY_VALUES;
__HUNNAT
);
__BEFRAGTEN_CNT
)
В моем хранилище данных есть данные опросов о политике и голосованиях.
- __ CATEGORY_VALUES: Это число от 1 до 100. Оно представляет количество голосов, которое определенная партия c получила во время ОДНОГО указанного c опроса, в процентах. (В основном количество голосов, поделенное на количество опрошенных, умноженное на 100) UD_PT - это таблица, содержащая значения этих чисел и другие вещи. Он имеет внешний ключ к таблице «UMFRAGEDATEN», который содержит такие вещи, как общее количество опрошенных во время определенного опроса c, и другой внешний ключ к таблице «PARTEI», в которой все участвуют.
- __ BEFRAGTEN_CNT: Здесь приведено количество всех опрошенных (также для ОДНОГО специфика c)
(Пример: __CATEGORY_VALUES: 20 __BEFRAGTEN_CNT: 1000 Так во время этого опроса Всего было опрошено 1000 человек. 20% из которых проголосовали за определенную c партию)
Моя цель здесь - получить количество людей, которые проголосовали за ОДНУ указанную партию c во время этой ОДНОЙ спецификации c опрос. В приведенном выше примере результат должен быть 50. Тем не менее, каким-то образом, он не будет визуализировать меру, потому что он, кажется, возвращает таблицу значений, когда он только должен возвращать единицу.
Исключение, которое я получаю, выглядит следующим образом (грубо переведено): Данные для визуализации не найдены. MdxScript (Model) (31,13) Ошибка вычисления в мере'UD_PT '[Measure]: была возвращена таблица с несколькими значениями, хотя ожидалось одно значение
Я с нетерпением жду помощи, так как я' Я почесал голову несколько часов назад, и Google не дал ответ, который я искал.
РЕДАКТИРОВАТЬ: визуализация, которую я пытаюсь создать, является линейной диаграммой. Ось X - это годы (2015-2020). На оси Y должны быть линии вида (каждая строка представляет партию). Значение в оси Y должно быть количеством голосов, полученных партией, по отношению к количеству людей, опрошенных в ходе опроса. Поскольку в моем наборе данных находятся разные опросы, некоторые из которых не содержат некоторые партии, мне также нужно сгруппировать эти значения для каждого года, игнорируя отсутствующие данные и показывая только первые 5 партий с наибольшим количеством голосов.
Решение не должно включать меры. Вы можете решить эту проблему так, как вам нравится (например, с помощью R-Script), но я бы оценил это, если бы вы могли объяснить, как вы это сделали.
Вот представление нашей базы данных: База данных