Непонятный результат измерения PowerBi - PullRequest
0 голосов
/ 15 января 2020

При написании диплома у меня возникли некоторые проблемы с функцией измерения 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), но я бы оценил это, если бы вы могли объяснить, как вы это сделали.

Вот представление нашей базы данных: База данных

...