Кастомное форматирование чисел в Tableau (Custom Number)

Автор статьи — Мария Мазюк

В Tableau, помимо стандартных форматов чисел, можно также задать и собственный формат числового поля (Custom). В данной статье мы разберем коды для задания собственного формата чисел, а также рассмотрим возможные случаи использования кастомного форматирования.

Для кодирования форматов чисел Tableau использует коды числовых форматов Excel с некоторыми ограничениями. Например, в отличие от Excel, в Tableau в кастомном формате числа нельзя задать кодирование цветом, а также нельзя задать кодирование на основании условия True / False.

Используемые специальные символы для кодирования не зависят от настроек Workbook Locale, то есть для кодирования чисел с заданной локалью English (United States) будут использоваться те же коды, что и для локали Russian (Russia) или Automatic (User Locale).

Важно понимать, что форматирование числа (например, добавление alt-символа к числу) влияет только на отображение числовых значений, но не на сами значения числового поля, которые остаются неизменными. В качестве преимуществ использования кастомного форматирования по сравнению с созданием строковых вычисляемых полей можно указать сохранение встроенных возможностей сортировки на основе значений числового полей и расчета суммы (либо другого способа агрегирования) числовых значений при выделении. Также работа с числовыми полями вместо строковых полей предпочтительна с точки зрения производительности Tableau.

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

Формат может состоять из трех компонентов (приведенных на скриншоте вверху):
1 — формат положительных значений
2 — формат отрицательных значений
3 — формат нулей

Если в поле указан только один компонент (то есть отсутствует разделитель ;), то заданный формат будет использован для положительных, отрицательных и нулевых значений числового поля. Если указаны два компонента, то кодировка первого компонента будет использована для форматирования положительных и нулевых значений, а кодировка второго компонента — для форматирования отрицательных значений. Если указаны три компонента, то кодировка первого компонента будет использована для форматирования положительных значений, кодировка второго компонента — для форматирования отрицательных значений, а кодировка третьего компонента — для форматирования нулевых значений.

Рассмотрим часто используемые элементы кодировки и примеры отображения чисел с их использованием в локали English (United States):

, (запятая): разделитель тысяч в числе. Позволяет задавать форматирование для тысяч, млн, млрд, трлн и т.д. Например, число 1250 с заданным форматом #,### будет отображаться как 1,250.

. (точка): десятичный разделитель дробных чисел. Часто используется для задания количества десятичных знаков после разделителя. Например, число 1.246 с заданным форматом $0.00 будет отображаться как $1.27 (округление числа до двух знаков после десятичного разделителя).

# (решетка): задает цифровой символ, присутствие которого не обязательно. Если на месте решетки в значении числового поля отсутствует цифра, то вместо нее ничего не отображается. Использование решетки после десятичного разделителя означает допустимый максимум для отображения десятичных знаков. Например, число 1.2 с заданным форматом 0.## будет отображаться как 1.2. А число 1.246 с заданным форматом 0.## будет отображаться как 1.27.

0 (нуль): задает цифровой символ, присутствие которого обязательно. Если на месте 0 в значении числового поля отсутствует цифра, то вместо нее отображается нуль. С помощью кода 0 можно задавать обязательное количество знаков после десятичного разделителя. Например, число 1.2 с заданным форматом 0.00 будет отображаться как 1.20.

текст: добавляет текст к значению числового поля. Например, число -1.2 с заданным форматом 0.00;-0.00 (Return);Free Trial будет отображаться как -1.20 (Return). А число 0 с тем же форматом будет отображено как Free Trial. Можно добавить знак доллара к значению числового поля, используя формат $0.00;-$0.00 (Return). Тогда число 1.2 будет отображено как $1.20.

% (знак процента): отображает значения числового поля в виде процентов, т.е. умноженными на 100 и со знаком %. Например, число 0.27 с заданным форматом +0.0%;-0.0% будет отображаться как +27%.

alt-символы, как ▲, ▼, •, ✔, ☑, ☺, €, °, ℃, ℉, K. Например, число -0.27 с заданным форматом ▲+0.0%;▼-0.0%; будет отображаться как ▼-27%. Число 0 с тем же форматом не будет отображено, если в качестве третьего компонента указан пробел.

Рассмотрим несколько примеров полезного использование кастомного форматирования.

  1. Форматирование температурного показателя с помощью alt-символов или текста. Значение 36.6 температуры тела можно отобразить в виде градусов, используя формат 0.0°, а температуру в Техасе можно отобразить в виде градусов Фаренгейта, используя формат 0.0℉.
  2. Сокращение для триллионов. Для отображения чисел в виде десятичных дробей с сокращениям в виде млн, млрд, трлн (Display Unit), в формате числа для задания порядков можно использовать разделитель тысяч (,). Чтобы отображать числа в виде самого высокого порядка, необходимо проигнорировать цифры более низких порядков, оставляя места порядков после запятой незаполненными (например, для миллионов, запятые с пропусками порядков в формате числа будут выглядеть как ,,,).
    Так, чтобы отобразить 15264897842123 в виде сокращения для триллионов 15.3T, можно задать формат #,##0,,,,.00T, где до десятичного разделителя обязательно должна следовать хотя бы одна цифра. С помощью ,,, пропускаются порядки тысяч, млн, млрд. Затем с помощью четвертой запятой учитывается порядок триллионов, для которого задаются две обязательные десятичные цифры после разделителя.
  3. Приведение индексов и телефонов к единому формату. Чтобы представить число 5451257896 в виде номера телефона (0545) 125-78-96, можно задать формат числового поля как (0###) ###-##-##. Чтобы привести индек 5987 к единому 5-значному формату, можно использовать кодирование 0####.


  4. Исключить отображение нуля на оси. Чтобы не отображать нуль на оси, можно использовать пробел в качестве формата для нулевых значений (третий компонент формата) при задании кастомного формата оси. Например, ###,.0K;-###,.0K; .

https://maryiamaziuk.com/data-viz-blog/

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

63 queries in 0,470 seconds