Для этого можно использовать условное форматирование . Допустим, мы изменим цвет фона, чтобы «выделить» строку (или ячейки, если быть точным).
Сначала нам понадобится срез, который будет не отфильтруйте наши данные. Мы можем сделать это, продублировав нашу исходную таблицу, удалив ненужные столбцы и убедившись, что между источником и дубликатом нет никакой связи. Поэтому, если у нас есть исходная таблица с именем Table
, например:
![enter image description here](https://i.stack.imgur.com/rxKFX.png)
Щелкните правой кнопкой мыши по ней и выберите Duplicate
:
![enter image description here](https://i.stack.imgur.com/5AlA0.png)
Затем щелкните правой кнопкой мыши заголовок столбца, который вы хотите сохранить, и выберите Remove Other Columns
, чтобы получить список только названий компаний (вы также можете удалить дубликаты). , но это не обязательно). Затем в модели удалите связь между обеими таблицами:
![enter image description here](https://i.stack.imgur.com/ooe4d.png)
Теперь вы можете разместить таблицу с названием компании и продажами из вашего источника данных, а также слайсер для названия компании из дубликата таблицы. В этот момент выбор значений в слайсере не должен влиять на таблицу.
Теперь вам нужно зафиксировать значение слайсера и использовать его в показателе, который определит, будет ли выделена текущая строка или нет. Для этого вы можете использовать SELECTEDVALUE , но учтите, что это даст вам значение, только если в слайсере выбрано значение. Если вы хотите поддержать выделение более чем одной компании, это становится немного сложнее.
Создайте новую меру в исходной таблице, например:
Measure = IF(HASONEVALUE('Table (2)'[Company name]);
IF(SELECTEDVALUE('Table (2)'[Company name]) = MAX('Table'[Company name]); 1; 0);
IF(ISFILTERED('Table (2)'[Company name]) && COUNTROWS(FILTER('Table (2)'; 'Table (2)'[Company name] = MAX('Table'[Company name]))); 1; 0))
В случае, если есть в слайсере выбрано только одно значение (см. HASONEVALUE ), тогда наша мера вернет 1 (выделение) или 0 (не), сравнивая его с текущей строкой.
В противном случае ( т. е. в слайсере нет выбора, или выбрано 2 или более компаний), тогда мы рассмотрим отфильтрованный список компаний (Table (2)
) - если он содержит текущую строку, то 1 (выделение), в противном случае 0 ( нет). Но мы также разберем случай, когда в слайсере не выбрано значение. В этом случае список будет содержать все компании, т.е. все строки будут выделены. Вот идет ISFILTERED . И, наконец, если список фильтруется и в фильтрованном списке существует текущая строка, то 1 (выделите), в противном случае 0 (не).
Теперь вам нужно использовать эту меру, чтобы изменить фон столбца - щелкните правой кнопкой мыши каждый столбец в таблице и выберите Conditional formatting
-> Background color
:
![enter image description here](https://i.stack.imgur.com/h2kBj.png)
Затем отформатируйте по правилам, где Измерьте> = 1 следующим образом:
![enter image description here](https://i.stack.imgur.com/qbQIU.png)
Теперь, когда в слайсере нет выделения, в таблице нет выделенных строк:
![enter image description here](https://i.stack.imgur.com/8YD9r.png)
Если вы выбираете одну компанию, она выделяется:
![enter image description here](https://i.stack.imgur.com/olrw0.png)
Это также работает, если выбрано несколько компаний:
![enter image description here](https://i.stack.imgur.com/Dm6bF.png)