4 совета по написанию сложных табличных вычислений
Прежде чем мы начнем, давайте определим, что имеется в виду под «сложными». Это любое вычисляемое поле, написать которое вам может быть сложно. Если вы новичок, это может быть оператор IF. Или, для более опытных пользователей, это могут быть сложные расчеты с вложенными таблицами. Техники, которыми автор поделился в этой статье, применимы ко всему, что вы считаете сложным. Надеемся, применяя эти методы, вам будет легче перейти от базовых расчетов к более сложным.
В этой статье будем использовать примеры из диаграмы кокса https://public.tableau.com/app/profile/ken.flerlage/viz/CoxcombChartTemplate_16127431382980/CoxcombTemplate
Пожалуйста, не волнуйтесь, если вычисляемые поля не имеют для вас смысла — сами вычисления не имеют значения. Скорее, важной частью являются методы, которыми делится автор, чтобы упростить работу с табличными вычислениями.
# 1: Разбейте логику на части
Первый совет — разбить сложную логику на более мелкие, более простые элементы. Часто пользователи пытаются втиснуть всю свою логику в одно вычисляемое поле. Это проблематично во многих отношениях. Во-первых, он просто помещает слишком много логики (и, следовательно, сложности) в одно поле, что делает его невероятно трудным для понимания. Во-вторых, бывают случаи, когда в Tableau проще выполнять несколько вычислений. Возьмем, к примеру, вычисляемое поле, которое включает несколько табличных вычислений, таких как INDEX и WINDOW_SUM.
Если вы поместите их в одно вычисляемое поле, вы сможете рассчитать эти поля только одним способом. Но, если вы разделите их на два простых вычисления, это даст вам больший контроль над результатом.
Возьмем, к примеру, диаграмму кокса.
Чтобы создать эту диаграмму, мы должны вычислить координаты X и Y каждой точки вокруг каждого сегмента, которые затем мы соединим с помощью многоугольников. Как вы понимаете, это довольно сложно — требуется использование геометрии и тригонометрии , а также некоторых других продвинутых методов, таких как уплотнение данных и табличные вычисления.
Итак, чтобы получить вычисления для координат X и Y, можно разбить логику на несколько понятных и удобных для использования элементов.
На самом деле здесь уже есть 11 вычисляемых полей, которые строятся друг на друге еще до того, как мы начнем рассчитывать координаты до X и Y. Вычисляемые поля делают следующее:
1) (Section Count) Счетчик разделов — подсчет количества разделов
2) (Section Spacing) Расстояние между секциями — определяет угловое расстояние между секциями
3) ( Overall Section Size) Общий размер секции – определяет общий размер каждой секции
4) (Max Section Size) Максимальный размер секции — определяет максимальный общий размер секции
5) (Part Size) Размер части — определяет размер каждого подраздела
6) (Section Index) Указатель раздела — создает указатель для разделов
7) (Point Index) Индекс точки — создает индексы для рисования точек
8) ( Point Step) Шаг точки — определяет угловой интервал для каждой точки
9) (Radius) Радиус — вычисляет радиус каждой точки
10) (Angle in Degrees) Угол в градусах — вычисляет угол каждой точки
11) (Angle in Radians) Угол в радианах — конвертирует угол в радианы
Это не важно понимать, каждый из этих пунктов нужен для создания диаграммы кокса, а мы рассматриваем методы для упрощения работы с вычисляемыми полями.
Важно то, что нам нужно сделать много разных вычислений, поэтому автор разделил их на мелкие кусочки. Большинство из этих вычисляемых полей представляют собой только одну строку, а самое большое из них — всего 9 строк. Из-за этого их гораздо легче понять по отдельности. И, что не менее важно, их гораздо проще создавать, когда вы одновременно работаете только над одной части логики. Вы строите один расчет, делаете его правильно, затем переходите к следующему, постепенно наращивая каждый до тех пор, пока не достигнете конечной цели.
# 2: Пронумеруйте свои поля
Когда вы создаете вычисляемые поля итеративным способом, как описано выше, может быть сложно понять, какие поля основаны на каких других полях. Приведенный выше список вычисляемых полей, показанный в Tableau, отсортирован в алфавитном порядке следующим образом:
«Иерархия» этих вычисляемых полей не сразу очевидна — вы не можете сказать, какое поле идет первым, а какое последним. Поэтому, если вам нужно вернуться и отредактировать их, может быть сложно понять, с чего начать. По этой причине рекомендуется нумеровать поля, особенно когда они основаны друг на друге итеративным образом. Результат будет примерно таким:
Теперь мы можем ясно видеть порядок, в котором строятся расчеты. Счетчик разделов (Section Count) идет первым, и мы строим его, пока, наконец, не достигнем X и Y . Чтобы понять, как строится угол в градусах, нам, вероятно, потребуется понять все вычисления, пронумерованные 1-9.
# 3: Создайте таблицу
Итак, теперь, когда вы разбили свою логику на небольшие фрагменты и пронумеровали свои расчеты, чтобы упростить управление ими, как вы узнаете, что каждое поле работает правильно? Часто пользователи пытаются построить все расчеты, а затем нанести их на график. Автор статьи рекомендует избегать этого подхода, так как может быть сложно проверить ваши расчеты в виде графика. Вместо этого сначала выведите вычисляемые поля в таблицу, как показано ниже.
Это, конечно, выглядит немного пугающе, но вы не будете ждать до конца, чтобы создать эту таблицу. Вместо этого, когда вы создаете каждый расчет, добавляйте его в таблицу, а затем проверяйте значения, чтобы убедиться, что они соответствуют вашим ожиданиям. Если вы имеете дело с табличными вычислениями, вы можете использовать это, чтобы настроить способ вычислений, пока они не будут работать точно так, как вам нужно. По мере итеративного построения вычислений продолжайте добавлять их в таблицу и проверять значения одно за другим. Убедитесь, что все верно, прежде чем переходить к следующему расчету.
# 4: Прокомментируйте свои расчеты
Последний совет: убедитесь, что вы прокомментировали свои вычисляемые поля. Комментарии — одна из самых малоиспользуемых функций в Tableau. Тщательно комментируя свой код, вы максимально защищаете его в будущем. Есть две основные причины комментировать ваши расчеты:
Во- первых, вы наверняка не хотите вечно владеть этим кодом — в какой-то момент вашей карьеры вы получите повышение, перейдете в другой проект или получите новую работу, и кто-то другой должен будет взять на себя обслуживание вашего кода. Если вы хорошо прокомментируете свой код, эти комментарии облегчат новому пользователю понимание того, что вы сделали и почему. А это означает, что вы потратите меньше времени на передачу знаний.
Во-вторых, вы со временем забудете, что делает этот код . Если вы какое-то время не работали с определенной рабочей книгой Tableau, просто невозможно точно вспомнить, что делает каждое вычисляемое поле в этой книге и почему. В этом случае комментарии — ваши лучшие друзья, поскольку они будут напоминать вам о том, о чем вы думали, когда писали вычисляемые поля.
Все это гораздо более важно, когда вы имеете дело со сложными вычислениями, особенно с теми, которые итеративно строятся на других. Без подробных комментариев вы (или вы в будущем) не поймете назначение расчетов, что сделает практически невозможным внесение изменений.
Поэтому не стесняйтесь комментариев — вам нужно включить как можно больше комментариев, чтобы вычисляемое поле можно было понять. Например, вычисляемое поле Point Step .
Вычисляемое поле представляет собой только одну строку кода (из-за совета № 1), и автор включил 8 строк комментариев, которые точно объясняют, что это за вычисление, что оно делает и как оно вписывается в общий поток вычисляемых полей. Когда кто-то еще загружает эту книгу и читает эти комментарии, он должен совершенно ясно понимать цель расчета. И, что не менее важно, когда автор будет смотреть на эти расчеты в будущем, ему не придется вспоминать, почему он сделал то, что сделал.
Источник: https://www.flerlagetwins.com/