Как установить значение среза для первой доступной таблицы значений в Power BI? - PullRequest
4 голосов
/ 13 января 2020

У меня есть требование, что выбранное значение в слайсере должно быть действительным.

Давайте предположим, что если я выберу значение в Store Slicer, и это хранилище будет удалено из компании. Срез будет по-прежнему отображать свое имя без данных на визуальных элементах, взаимодействующих с слайсером.

Выбранное значение по умолчанию

Default Selected Slicer

Обновлено значение среза вручную

Updated Slicer

Но я хочу, чтобы в срезе моего магазина был выбран только соответствующий магазин. Я знаю свойство его слайсера сохранять значение, заданное в нем при публикации отчета, но есть ли обходной путь для этого.

Ответы [ 2 ]

3 голосов
/ 14 февраля 2020

Суть вашего вопроса была задана и рассмотрена в этой теме:

Начальное значение слайсера Power BI на основе выбора другого слайсера

Ответ НЕТ , но я могу предложить обходной путь.

  1. В таблице измерений с магазинами добавьте вычисляемый столбец Rank, который определит магазин с самыми высокими продажами. Вы можете использовать функцию RANKX для этого.
  2. Добавить StoreName вычисляемый столбец, который возвращает текстовое значение "The biggest store" (или "Top 1" - или что-то еще) и исходные имена магазинов для всех других магазинов. Используйте IF.
  3. Поместите столбец StoreName, содержащий значение "The biggest store", в слайсер.
  4. Добавьте изображение (карточку, таблицу), где вы увидите оригинальное название текущего выбранного магазина.
  5. Сортируйте столбец StoreName по столбцу Ранга, предназначенному для этой цели, так что The biggest store поднимется до верхней позиции в слайсере. Здесь - как отсортировать столбец по другому столбцу.

Поскольку всегда есть магазин с наивысшими продажами, вы всегда можете пометить это значение в слайсере, и он всегда будет показывать данные.

В этом примере "The biggest store" - это «Магазин для девочек». Я держу это выбранным на слайсере. Затем я удаляю все записи этого магазина из таблицы фактов. Применять. И слайсер по-прежнему выбран как "The biggest store", но теперь самый большой магазин означает «Магазин для божьих коровок».

enter image description here

Вот пример файла для загрузки (с обоими подходами в M и DAX):

M Значение Slicer по умолчанию.pbix

Вы можете полностью создать таблицу DimStore в DAX, добавив вычисляемую таблицу:

DimStore_DAX = 
SUMMARIZECOLUMNS (
    Sales[Store],
    "Sales", [Sale],
    "Rank", RANKX ( ALL ( Sales[Store] ), [Sale] ),
    "StoreName", IF ( RANKX ( ALL ( Sales[Store] ), [Sale] ) = 1, "The biggest store", VALUES ( Sales[Store] )
    )
)
0 голосов
/ 12 февраля 2020

Это происходит только потому, что это ваше значение по умолчанию, в противном случае слайсер должен потерять значения автоматически, как только он будет удален из вашей базы. Если возможно, измените значение по умолчанию, чтобы оно отражало стоимость магазина, в которой вы уверены, что она всегда будет там. Я считаю, что значение по умолчанию будет сохранено, даже если нет данных. Другим способом сделать это может быть использование по умолчанию для ВСЕХ магазинов, а затем позволить пользователю выбрать то, что нужно. Возможно, это не то, что вы ищете, поскольку я не знаю ваших конкретных требований c, но, надеюсь, это поможет вам найти решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...