Post-Image

Мелкие радости - нюансы выбора значения в срезе

Рвав-рвав, я сегодня – собака-мечтатель!

А поскольку я мелкий эгоист (мелкий в плане размера, а не эгоизма!), то в связи с существующим настроением начинаю реализовывать свою мечту:

уря-уря, мы начинаем публиковать контент под названием “Мелкие радости”, который был неосторожно обещан в статье Использование мер в качестве переключателя.

Спешу напомнить, что здесь планируется размещать материал о неких хитростях по принципу “Мелочь, а приятно”.

Итак, поехали, 1-я заметка представлена ниже.

Пример:

Есть таблица, содержащая некий список проектов и ответственного менеджера.

blog_003_screen_1

Задача:

Вывести количество проектов по каждому менеджеру при помощи элемента “Card” (“Карточка”) .

Вроде бы, все просто :-)

Решение:

  • Создаем фильтр по менеджеру;

  • Создаем карточку для менеджера;

  • Создаем карточку для количества проектов, значение которой можно посчитать различными способами, например, мерой (Количество проектов = COUNTROWS(‘Datset’), или при помощи свойства “Count” на значении элемента.

    При фильтрации данных кажется, что все отлично, начинаем радоваться, поскольку у 1-го менеджера 3 проекта, а у 2-го – 2.

    blog_003_screen_2

    blog_003_screen_3

    Но как только пользователь не выберет ничего, то выяснится, что радость была преждевременной, поскольку, несмотря на правильное общее количество проектов – 5, в карточке менеджера будет отображено значение, равное:

  • “Менеджер 1”, если в свойствах значения элемента стоит дефолтный вариант “First” (“Первый”);

  • “Менеджер 2”, если в свойствах значения элемента стоит ариант “Last” (“Последний”).

    blog_003_screen_4

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

    Р-р-р-р-р-р, собаке Смайлу подобная ситуация активно не нравится, и поэтому он подготовил собственное решение, а именно, решил вывести текст-предупреждение для пользователя о том, что ему необходимо выбрать конкретное значение.

    Лайфхак от хитрой собаки:

    Менеджер =

    VAR _Manager = VALUES ( Datset[Менеджер проекта] )

    VAR _QuantityRows = COUNTROWS ( _Manager )

    VAR _Result = IF ( _QuantityRows > 1; “Выберите менеджера”; _Manager )

    RETURN _Result

    Как вы можете убедиться, подобная штука поможет вам избежать несогласованности при визуализации данных, в случае, когда в фильтре ничего не выбрано.

    blog_003_screen_5

    Рвав-рвав, на этом все, пойду на праздник, авось, чего перепадет…

    Ваш Смайл

    P.S. Любителям понажимать на кнопочки – увы, в рубрике “Мелкие радости” вам облом :-Р

    P.P.S. Безмерно уважаемые двуногие предложили еще более изящный вариант:

    Менеджер =

    SELECTEDVALUE ( Dataset[Менеджер проекта]; “Несколько менеджеров” )