Понимание НАРУЖНОГО СОЕДИНЕНИЯ для DateTimes, Tableau - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь понять использование и ограничение внешних объединений в таблице (в данном случае в таблице онлайн). Я обнаружил, что стиль картины не соответствует ожиданиям. Я представил подробное описание своих проблем ниже, чтобы избежать двусмысленности и, поскольку я не знаю, с чего начать. Я надеюсь, что я не пошел за борт (правка приветствуется).

Особенности моего варианта использования

Я создаю объединение двух файлов .csv, в которые записываются естественные данные через определенные промежутки времени. Один набор имеет часовые интервалы времени, другой - с интервалами в минуты (которые могут изменяться в зависимости от различных факторов).

Набор данных «Дождь» (1):
Дата и время | Дождь
01.01.2008 00:00 | 0
01.01.2008 01:00 | 0,4
01.01.2008 02:00 | 1,4 * * 1 018 01.01.2008 03:00 | 0,4

Набор данных 'Fill' (2):
Дата и время | Заполните
24/04/2018 06:04 | 78
24/04/2018 12:44 | 104
24/04/2018 18:51 | 96
25/04/2018 00:20 | 84

Неудивительно, что у меня много данных в нуле (что для меня не проблема) как:

  • «Дождь» имеет более длинный временной ряд
  • В любом наборе данных большинство дат и времени не имеют точного эквивалента в другом

скриншот данных присоединяется здесь

Чего я пытаюсь достичь

Я пытаюсь отобразить два набора данных таким образом, чтобы я мог сравнивать полные наборы данных друг с другом всеми следующими способами:

  • Ежемесячная или годовая агрегация (в среднем)
  • Часовая агрегация (средняя)
  • Точное время

Проблемы (и мои ограниченные предположения)

  1. После построения графика в таблице некоторые значения имели 'null' Значения DateTime *.
  2. После построения графика в таблице кажется, что многие точки просто отсутствуют ** График с использованием временного ряда «Заполнение»
    Графики с использованием временного ряда «Дождь»
  3. Я предполагал (при полном внешнем объединении 'Date and Time(s)') таблица соединит наборы данных в хронологическом порядке с общим временным рядом дат

* Я предполагал, что условия соединения не могут иметь значения 'null' без выдачи ошибки. Кроме того, данные чисты и единообразны
** И это при агрегировании по месяцам, которое, как я предполагал, не будет затронуто какими-либо (если таковыми имеются) несоответствиями по часам / минутам

Итак, наконец, вопрос #

При чтении интерактивной справочной документации я изо всех сил пытаюсь найти функциональность, которая является родной для таблиц, которая может помочь мне достичь этих конкретных целей. Я пришел к тревожному выводу, что таблица не была построена для этого типа «визуальной аналитики».
Есть ли функциональность, встроенная в таблицу, которая позволит мне комбинировать данные так, как я описал выше?

Подходы, которые я рассмотрел

Поскольку у меня есть два .csv файла, я мог бы объединить оба набора так, чтобы у меня были полные, гранулированные 'Date and Time' поля в одном большом списке.
Тем не менее, я хотел бы найти метод, который является естественным для таблицы (онлайн), потому что в будущем, по крайней мере, некоторые данные будут получены из соединения с базой данных (postgres) , но другие, вероятно, останутся как загрузить как .csv или excel файлы.

Снова прошу

Что я упускаю из виду в отношении того, как (и почему) использовать таблицу? Я не ищу полное решение, но какие инструменты я могу использовать для достижения этой цели?

Большое спасибо за любую помощь

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Таким образом, кажется, что доступны различные решения.
Я хочу опубликовать это сейчас, но буду редактировать, когда у меня будет немного больше времени

Вариант 1

Одна работа-around / решение, которое я нашел, состояло в том, чтобы создать вычисляемое поле, как упомянуто здесь , и затем отобразить все в зависимости от этого временного ряда.
Это работало хорошо для меня даже после создания 20+ листов и многочисленных панелей мониторинга.
Как упомянуто ниже, другие виды использования могут не обеспечивать такую ​​гибкость.
Расчет:

IFNULL([Date and Time (Fill.csv)],[Date and Time (Rain.csv)]))

Опция 2

Это как упомянуто matt_black a joinиз данных выполняет работу довольно хорошо.Кажется, он менее хакерский и идеален при запуске с чистого листа.
У меня возникли трудности с созданием объединения на уже используемых источниках данных (будет больше возиться с этим)

Вариант 3?

Как и в ответе Шивы, возможно, смешивание возможно.
Я еще не подтвердил это.

0 голосов
/ 21 марта 2019

Ваши базы данных, более конкретно, источники данных находятся на другом уровне детализации, один в часах (более высокий уровень детализации), а другой - в минутах (более низкий уровень детализации), но ваши требования различаются

Год / месяц- Высокая агрегация

Ежечасно - Средняя агрегация

Точная - Низкая агрегация

Когда вы объедините два источника данных по датам и времени (которые никогда не будут совпадать), вы будетеполучить такие странные результаты.

Возможное решение:

  1. Это инструмент подготовки таблиц, используйте инструмент и сделайте оба источника данных на одном уровне агрегирования, вВ вашем случае набор данных 2 будет агрегирован до часового уровня и объединит обе таблицы. В этом случае вам нужно проверить последнее требование (Exact times), так как я предполагаю, что вы ищете графики на уровне минут

  2. Другое решение - использовать blending , где первичным источником данных будет набор данных 1, а вторичным источником данных будет набор данных 2, в данном случаеВы получите необходимые данные, где таблица управляет агрегацией и гранулярностью.

Дайте мне знать, как это происходит

...