Выборочное отображение данных в Long Text Viewer
У меня есть четыре уровня фильтров отчетов: месяц, год, регион и страна, каждый из которых был установлен в качестве фильтров уровня страницы и уровня отчета.
Данные структурированы так: https://i.imgur.com/kCWia4k.png
И в основном, вот как это выглядит, если все слайсеры установлены на All: https://i.imgur.com/TQuf3Oa.png
Это, очевидно, бесполезно и не дает должного контекста данным, если их кто-то просматривает, поскольку они просто перечисляют все в столбце "Комментарий".
Так можно ли выборочно отображать данные из поля "Комментарий" в программе просмотра длинного текста (т. Е. Ничего не отображать, если для всех срезов установлено значение "Все", отображать только комментарии для конкретной страны / месяца и т. Д.)?
1 ответ
В зависимости от того, как вы хотите, чтобы была точная логика отображения, вам могут пригодиться функции HASONEFILTER() и HASONEVALUE() в этом случае.
Ниже приведен пример, где новый measure
будет создан, и он будет отображать комментарий (объединенный с новой строкой, которая будет обработана позже), когда к столбцу будут применены какие-либо фильтры Month
, Year
или же Country
; или он вернет пустую строку.
Useful comment =
IF(
HASONEFILTER(Data[Month]) || HASONEFILTER(Data[Year]) || HASONEFILTER(Data[Country]),
CONCATENATEX(Data, Data[Comment], "\n"),
""
)
Long Text Viewer
предоставляет параметр формата под названием Newline starts with
, что позволяет нам разделить созданную меру (которая представляет собой длинную каскадную строку, содержащую все отфильтрованные комментарии) обратно на отдельные строки для отображения.
Ниже показан результат, когда фильтр не применяется:
Ниже показан результат при применении фильтра:
РЕДАКТИРОВАТЬ:
Тот же результат, когда слайсер является выпадающим:
Другой пример, ничего не отображать, когда 2016 год:
Useful comment 2 =
IF(
CONTAINS(DATA, DATA[Year], "2016"),
"",
CONCATENATEX(DATA, DATA[Comment], "\n")
)
Когда год = 2016:
Когда год = 2017: