#tableau-api
#таблица-api
Вопрос:
Я новичок в визуализации таблицы и нуждаюсь в некоторой помощи.
У меня есть набор путей доставки, которые имеют значения целых чисел, основанные на продолжительности отправки. Пример:
| Lane Name | 0 Day | 1 Day | 2 Day | 3 Day | 4 Day |
| SFO-LAX | 0 | 30 | 60 | 10 | 0 |
| JFK-LAX | 0 | 10 | 20 | 50 | 80 |
Для каждого названия полосы я хочу вернуть заголовок столбца на основе максимального значения.
т. Е. для SFO-LAX я бы вернул «2 дня», для JFK-LAX я бы вернул «4 дня» и т.д.
Затем я хочу установить это в качестве фильтра, чтобы показывать только результаты за 2 и 3 дня в моем наборе данных таблицы.
Кто-нибудь может помочь?
Ответ №1:
Два шага к этому.
Первый шаг довольно прост, сводите ваши данные. Прочитайте справку по таблице, чтобы узнать, как сводить ваши данные для анализа, т. Е. Сделать так, чтобы таблица выглядела как более длинный набор данных из 3 столбцов с полосой, длительностью, значением в виде 3 столбцов. Функция PIVOT в Tableau позволит вам просматривать ваши данные в этом формате (что значительно упрощает анализ) без фактического изменения формата ваших файлов данных.
Второй шаг немного сложнее, чем можно было бы ожидать на первый взгляд, и есть несколько способов его выполнения. Функции таблицы, которые могут быть использованы для этого, — это вычисления LOD, табличные вычисления, фильтры и, возможно, наборы. Это некоторые из наиболее мощных, но сложных частей Tableau, поэтому стоит потратить время на изучение, но ожидайте, что потребуется некоторое время, чтобы раскрутить их.
Вероятно, самым простым решением является использование одной из функций RANK() — начать с быстрого вычисления таблицы. Задайте желаемое разбиение и адресацию, чтобы ранги вычислялись для блоков данных, которые вы хотите — скажем, разбиение на полосы и адресацию или вычисления по длительности. Затем, когда вы будете довольны рангами, которые вы видите, переместите вычисление ранга на полку фильтров и отобразите данные только там, где ранг = 1.
Это быстрое решение, как только вы освоитесь с ним, но оно может замедлиться для очень больших наборов данных, поскольку вычисления ранга выполняются на стороне клиента, что требует извлечения всех данных, которые вы в конечном итоге не отображаете. Если производительность становится проблемой, вы можете захотеть посмотреть на другие решения, чтобы выполнять больше вычислений на стороне сервера — возможно, используя вычисления LOD или аналитические оконные запросы, вызываемые из пользовательского SQL