Маленький значок несёт смысл, на который иначе ушло бы слово или целая колонка. Стрелка ▲ говорит «выросло» быстрее, чем подпись «рост». Точка ● в статусе читается раньше, чем текст «активен». Это дёшево по месту и мгновенно по восприятию — ровно то, что нужно плотному дашборду.
Обратная сторона тоже знакома: когда в каждой строке по эмодзи, не выделяется ни одно. Отчёт начинает выглядеть как переписка в мессенджере. Поэтому правило одно, и оно жёсткое: символ должен заслужить место. Если значок не передаёт различие, которое важно прямо здесь, — его не должно быть.
UNICHAR. Главные грабли — переизбыток, эмодзи без подписи и цвет без формы (бьёт по дальтоникам).Индикаторы тренда и статуса в KPI
Самое полезное применение. Карточка KPI с цифрой и стрелкой отклонения читается за долю секунды, без легенды и без второго столбца.
В Power BI символ кладётся прямо в текст меры функцией UNICHAR (она возвращает символ по его коду Unicode). Не нужно держать отдельную колонку с иконками — мера сама собирает строку.
Тренд выручки =
VAR _delta = DIVIDE([Выручка] - [Выручка ПГ], [Выручка ПГ])
VAR _arrow = IF(_delta >= 0, UNICHAR(9650), UNICHAR(9660)) -- ▲ или ▼
RETURN
_arrow & " " & FORMAT(_delta, "0.0%")
Дальше эту меру кладёте в карточку или в таблицу. Цвет — отдельно, через условное форматирование шрифта по знаку _delta: плюс зелёным, минус красным. Символ и цвет работают в паре — и это не только красиво, но и важно для доступности (об этом ниже).
Тот же приём для статуса: UNICHAR(9679) даёт ●, UNICHAR(10003) — ✓, UNICHAR(10007) — ✗. «Выполнено / в работе / просрочено» превращается в ✓ ● ✗ без лишних слов в ячейке.
Мини-спарклайны из символов-блоков
Юникод-блоки разной высоты — ▁▂▃▄▅▆▇█ — складываются в крошечный спарклайн прямо в ячейке таблицы. Вот так выглядит динамика за 12 месяцев в одной строке:
▂▃▃▅▄▆▅▇▆█▇█
В Power BI это собирается мерой: по каждому периоду считаем значение, переводим его в индекс от 0 до 7 (доля от размаха) и берём соответствующий блок. Коды блоков идут подряд от 9601 (▁) до 9608 (█), поэтому индекс просто прибавляется к 9601.
Спарклайн продаж =
VAR _min = CALCULATE(MIN('Факт'[Продажи]), ALLSELECTED('Календарь'))
VAR _max = CALCULATE(MAX('Факт'[Продажи]), ALLSELECTED('Календарь'))
RETURN
CONCATENATEX(
VALUES('Календарь'[Месяц]),
VAR _v = [Продажи]
VAR _idx = INT( DIVIDE(_v - _min, _max - _min) * 7 ) -- 0..7
RETURN UNICHAR(9601 + _idx), -- ▁ .. █
"",
'Календарь'[Месяц ID]
)
Это не замена нормальному визуалу-спарклайну, но в большой таблице, где на отдельный график нет места, такой текстовый тренд экономит экран и читается достаточно.
Светофор статуса — и дальтонизм
Соблазн пометить статус только цветом — зелёный кружок против красного — велик. Но примерно каждый двенадцатый мужчина не различит их уверенно. Решение простое: пара цвет + форма. Зелёный ● для нормы, красный ◆ для проблемы, серый ○ для «нет данных» — теперь статус читается даже в чёрно-белой печати.
Это же касается легенд. Если на графике серии различаются только цветом, добавьте к подписи символ — ■ ● ▲ — и легенда станет понятной всем. Тема цвета и доступности подробно разобрана в статье про цветовые схемы дашбордов.
Префиксы в фильтрах и подписях
Маленький значок перед названием фильтра подсказывает его тип быстрее, чем форма контрола: 🗓 у выбора даты, 🔎 у поиска, ▾ у выпадающего списка, ☑ у множественного выбора. Глаз цепляется за значок и сразу понимает, чего ждать.
Здесь важна последовательность: если 🗓 означает «период» на одной странице, он должен означать то же на всех. Разнобой хуже отсутствия символов — он заставляет каждый раз пере-учивать значения.
Категории через эмодзи — осторожно
Эмодзи-метафоры удобны для группировки: 💻 техника, 🏢 недвижимость, 📱 мобильное, 🛒 ритейл. В списке из десятка категорий значок ускоряет поиск нужной строки.
Но у эмодзи есть две беды. Первая — они рисуются по-разному на Windows, macOS, в вебе и на телефоне, и ваш аккуратный набор может на чужом экране поехать. Вторая — эмодзи без подписи двусмысленны: 📊 это «отчёт», «аналитика» или «продажи»? Поэтому эмодзи — только в дополнение к тексту, не вместо него. И лучше для внутренних дашбордов, чем для формальной отчётности совету директоров.
Невидимый символ для выравнивания
Маленький приём для тех, кто верстает подписи и карточки. Обычный пробел в начале строки часто схлопывается, и текст «съезжает». Пустой символ Брайля UNICHAR(10240) (⠀) — это видимая ширина без видимого знака, его не трогает обрезка пробелов. Им удобно делать ровные отступы в заголовках мер или выравнивать значения, когда другого способа нет.
Это хак, не замена нормальной вёрстке — но иногда выручает там, где инструмент не даёт управлять отступами напрямую.
Чего делать не стоит
- Переизбыток. Когда значок в каждой строке, ни один не выделяется. Символ должен отмечать исключение, а не сопровождать норму.
- Эмодзи вместо текста. 📈 без подписи каждый поймёт по-своему. Значок дополняет слово, а не заменяет.
- Только цвет. Зелёный против красного без формы — ловушка для дальтоника. Цвет всегда в паре с символом или подписью.
- Разные системы на одной странице. Если ▲ — это рост, пусть рост везде будет ▲, а не то ↑, то 🔺, то «+».
Справочник: символ → код для UNICHAR
Частые символы и их коды для UNICHAR(код) в DAX. Можно и просто вставить символ в формулу, но через код надёжнее — не зависит от кодировки файла.
| Символ | Назначение | UNICHAR |
|---|---|---|
| ▲ | Рост | 9650 |
| ▼ | Падение | 9660 |
| ↑ ↓ | Вверх / вниз | 8593 / 8595 |
| ↗ ↘ | Тренд вверх / вниз | 8599 / 8600 |
| ● | Статус активен | 9679 |
| ○ | Нет данных / неактивен | 9675 |
| ✓ | Выполнено | 10003 |
| ✗ | Ошибка / отмена | 10007 |
| ★ ☆ | Рейтинг (полная / пустая) | 9733 / 9734 |
| ⚠ | Предупреждение | 9888 |
| ▁▂▃▄▅▆▇█ | Блоки для спарклайна | 9601 … 9608 |
| ■ ● | Маркеры легенды | 9632 / 9679 |
| ⠀ | Невидимый отступ (Брайль) | 10240 |
Где символы помогают, а где нет
Коротко, чтобы держать в голове. Помогают: индикаторы тренда и статуса в карточках и таблицах, мини-спарклайны в плотных таблицах, маркеры в легендах, префиксы типов в фильтрах. Мешают: декоративные эмодзи в заголовках, значок в каждой строке, эмодзи без подписи, формальная отчётность «с картинками».
Символ — это микро-визуализация. Он подчиняется тем же правилам, что и график: несёт смысл, не спорит с соседями, не ломается у дальтоника. Если держать это в голове, пара значков сделает дашборд заметно понятнее — почти бесплатно.
Связанные материалы
- Цветовые схемы для дашбордов — цвет, акцент, семантика и доступность. Символы и цвет работают в паре.
- Генератор палитры — подобрать цвета, которыми вы будете красить эти ▲▼●.
- Генератор сетки для Power BI — выровнять карточки и таблицы по сетке.
- Нестандартные визуалы стандартными средствами — тот же подход: выжать максимум без кастомных визуалов.
Идея и систематизация применений — по мотивам материала Anastasia Vicitskaya (nastengraph), «UTF symbols and emoji in dashboard design», адаптировано под Power BI и DAX.