В этом уроке вы узнаете, как в Даталенс сделать красивый и информативный индикатор с разметкой. Такой показатель будет содержать в себе не только основную информацию, но и дополнительный текст или цифры. Например, сумма выручки по категории и ее доля от общей суммы выручки.
Итак, предположим у нас есть некий датасет с данными о выручке на платформах Android и iOS. У меня данные уже в таком консолидированном виде, но они могут быть и детализированные.
![](https://biba.pro/wp-content/uploads/2024/07/image-167-1024x228.png)
И нашей задачей является вывести общий индикатор с выручкой и указанием доли этой выручки от общей суммы.
Для этого создаем новый чарт-индикатор на базе этого датасета.
![](https://biba.pro/wp-content/uploads/2024/07/image-168.png)
Тут нам потребуется создать новое поле, в котором и будет происходить настоящее волшебство. Давайте рассмотрим по шагам все действия.
Итак, для вывода давайте выберем выручку платформы Андроид. Для начала выведем сумму выручки, округленную до тысяч с постфиксом тыс.
Добавляем в новое поле нашу выручку, делим ее на 1000 и округляем.
![](https://biba.pro/wp-content/uploads/2024/07/image-169.png)
![](https://biba.pro/wp-content/uploads/2024/07/image-170.png)
В результате получаем цифру 51. 51 тысяча. Теперь давайте добавим постфикс, чтобы было понятно, что это тысячи.
Для этого используем конкатинацию, ну или сцепление текста в строку. Сделать это можно через знак плюс. Но обратите внимание, что сцеплять можно только текст с текстом. Поэтому помимо сцепления преобразуем наше число 51 тоже в текст. В этом нам поможет функция STR().
Оборачиваем то, что мы писали до этого в STR() и добавляем слово тыс.
![](https://biba.pro/wp-content/uploads/2024/07/image-171.png)
![](https://biba.pro/wp-content/uploads/2024/07/image-172.png)
А еще давайте зададим цвет для этого фрагмента текста. Пусть он будет зеленый. Для этого обернем все, что уже написано в функцию COLOR().
![](https://biba.pro/wp-content/uploads/2024/07/image-173.png)
Делается это просто, указываем наш текст, а затем код HTML цвета. Найти всю палитру цветов можно через Яндекс поиск. Но давайте посмотрим, что у нас вышло. После применения цвета слетает большой размер и жирность шрифта.
![](https://biba.pro/wp-content/uploads/2024/07/image-174.png)
Поэтому перед назначением цвета добавим еще свойство размера и зададим 43 px. Это примерно и будет обычный размер шрифта индикатора. А в конце сделаем весь текст жирным.
![](https://biba.pro/wp-content/uploads/2024/07/image-175.png)
Все, первая часть нашей надписи готова.
![](https://biba.pro/wp-content/uploads/2024/07/image-176.png)
Если вспомнить всю задачу, то помимо суммы выручки Андроид в этом же индикаторе нам надо вывести и процент ее доли от общей выручки.
Как это сделать?
Давайте попробуем добавить к уже имеющейся надписи продолжение и напишем пока фиксированный текст, что – «доля от общей выручки….» и далее потом подставим процент, который эта выручка составляет. Делаем это также через знак плюс.
![](https://biba.pro/wp-content/uploads/2024/07/image-177.png)
Да, текст добавился, но добавился следом за суммой. Но было бы красивее, чтобы эта надпись была уже ниже, под суммой, как бы в виде комментария. Тут нам поможет функция переноса строки BR(). Добавим в формулу и ее.
![](https://biba.pro/wp-content/uploads/2024/07/image-178.png)
Так уже намного лучше.
![](https://biba.pro/wp-content/uploads/2024/07/image-179.png)
Ну и теперь нам осталось добавить продолжение этой строки с суммой процента, который эта выручка составляет. Причем, процент должен тоже рассчитываться. Давайте добавим формулу.
![](https://biba.pro/wp-content/uploads/2024/07/image-180.png)
Суть проста. Просто делим выручку Андроид на сумму всей выручки и умножаем на 100. Это и будет наш процент. А поскольку соединять в текст можно только текст, то оборачиваем наш расчет в STR().
![](https://biba.pro/wp-content/uploads/2024/07/image-181.png)
В принципе, готово. Но согласитесь, выглядит число не очень красиво. Поэтому давайте также округлим результат, добавим значок процента и окрасим эту часть в красный. По аналогии, как мы уже делали это с 51 тыс.
![](https://biba.pro/wp-content/uploads/2024/07/image-182.png)
BOLD(COLOR(size(str(ROUND([Выручка Android]/1000))+" тыс.","43px"), "#008000"))+BR()+COLOR("доля от общей выручки ", "#000000") +COLOR(BOLD(size(str(round(([Выручка Android]/([Выручка Android]+[Выручка iOS]))*100))+"%","12px")),"#DC143C")
После всех этих действий мы, наконец, получаем красивый и удобочитаемый индикатор.
![](https://biba.pro/wp-content/uploads/2024/07/image-183.png)
Ради эксперимента давайте попробуем изменить исходные цифры и посмотрим, как изменится индикатор. Я просто заменила суммы в источнике, после чего данные в индикаторе также сами поменялись, сохранив при этом формат и визуализацию.
![](https://biba.pro/wp-content/uploads/2024/07/image-184.png)
Таким образом, с помощью функций разметки, мы смогли полностью решить поставленную задачу и сделать небольшой, но очень информативный и емкий индикатор с несколькими показателями.
Надеюсь, данный урок был вам полезен и интересен!
Наши курсы
Если вам понравился урок, то можете поддержать проект по кнопке ниже. Это очень поможет делать для вас больше интересных и полезных выпусков. Спасибо!
![](https://biba.pro/wp-content/plugins/dk-pricr-responsive-pricing-table/inc/img/rpt_recommended.png)
Задать вопросы и обсудить волнующие темы про аналитику данных теперь можно на нашем форуме.
Если вам понравился урок, подписывайтесь на канал или группу и ставьте лайки. А также пишите в комментариях свои кейсы или вопросы. Самые интересные мы обязательно разберем.
Добрый день! А как разбить число на разряды, например “# ##0 ₽”?
Тут, к сожалению, просто не получится. Так как это текст, то придется что-то придумывать с текстовыми функциями. Например, REGEXP_REPLACE. Ну или как-то определять длину числа и добавлять пробел через каждые три символа. Попробую сделать урок на эту тему.
спасибо, буду ждать!