4

Я создаю презентацию PowerBI, которая извлекает данные из списка SharePoint. В списке есть столбцы, соответствующие вопросам из формы, и строки, соответствующие отдельным элементам (т. Е. Каждый раз, когда кто-то заполняет форму, он создает в таблице новую строку, содержащую ответ на каждый вопрос).

Ниже приведен пример таблицы, показывающей, как это выглядит (используя составленные вопросы и данные в целях конфиденциальности):

пример таблицы

В большинстве случаев я хочу запросить отдельный вопрос (например, столбец), и мне будет представлен список элементов. Это легко: если я хочу знать, кто не принимал душ сегодня, я просто делаю кольцевую диаграмму, заполняю столбец B в его полях Legend и Values , а затем создаю таблицу рядом со столбцом A в его поле Values. Теперь у меня есть кольцевая диаграмма, показывающая, что 2/3 респондентов не принимали душ сегодня, и если я нажму на раздел "нет" на диаграмме, Алиса исчезнет из таблицы, показывая, что Боб и Кэрол являются грубые:

грубые люди, которые не принимали душ

Однако для одного элемента презентации я хочу сделать наоборот: разрешить кому-либо указывать элемент и искать соответствующие вопросы. В частности, я хочу иметь возможность проверить, какие поля были оставлены пустыми для конкретного элемента. Для меня не очевидно, как это сделать, потому что имена полей (которые я использую для представления вопросов) - это не то, что PowerBI ожидает от вас, чтобы искать.

Есть ли способ создать визуализацию или набор визуализаций, которые будут представлять список значений из одного столбца (например, список имен в приведенной выше таблице примеров), и при нажатии на определенное имя показывать список полей которые были оставлены пустыми в элементе с таким именем?

1 ответ1

1

Я не видел такой функциональности в механизмах аналитической отчетности, о которых я знаю. Их цель - сообщать значения набора данных без дополнительных уловок, подобных этой. Таким образом, вам нужно сделать трюк самостоятельно - преобразовать специальные данные в обычные данные - прежде чем ваши данные перейдут на заключительную стадию отчетности.

Наиболее жизнеспособное решение может существовать, используя вспомогательное поле, рассчитанное заранее (когда это зависит от типа двигателя). Таким образом, если вы автоматически заполняете это поле вычисленными значениями (например, используя формулу поля отчета в механизме создания отчетов или вызванное событие сразу после заполнения формы или - в худшем случае - обновление запланированных значений задачи несколько раз в день), вы можете сообщить его содержание похоже на нормальное поле. Например, вспомогательное поле Без ответа для имени = Dennis (D)
будет содержать Question_Shower Question_Feathers .

Этот подход, использующий вспомогательные поля для более сложных (или менее типичных) требований к значениям, является стандартным подходом, который я широко использовал в своей области промышленности. Если бы я получил проект для реализации того, что вы описали в вопросе, я бы тоже использовал именно это.

Например, формула для вычисленного выше (производного) поля в псевдокоде будет иметь вид

Unanswered :=
  RTRIM(
    IF(ISBLANK(Answer_Shower), "Question_Shower ", "") &
    IF(ISBLANK(Answer_Lamps), "Question_Lamps ", "") &
    IF(ISBLANK(Answer_Feathers), "Question_Feathers ", "")
  )

(RTRIM() здесь удаляет возможный завершающий пробел. Я использовал пробелы в качестве разделителей из-за более легкой обрезки последней. Можно использовать и другие разделители, что усложнит вычисления.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .