2016-02-11 4 views
2

Табличка - отличный инструмент для визуализации данных. Однако он предназначен для окончательной остановки в конвейере данных (ETL).Может ли Tableau возвращать результаты, отличные от UI, программно?

В моей книге Tablebook используется куча Table Calcs для создания списка «рекомендуемых заказов». Вместо того, чтобы просматривать их, я хочу их автоматизировать и выполнить. Это сделало бы Tableau двигателем процесса квази-ML.

Другими словами, я хотел бы сделать Tableau частью моего конвейера ETL и отправить данные на другой уровень. Как написать обратную программу, которая выполняет мою рабочую книгу Tableau и получает набор данных результатов?

Смотрите в конце этой статьи, например, данные, которые я хочу автоматизировать: http://robm26.blogspot.com/2015/10/keep-your-factory-humming-with-tableau.html

Любые идеи?

ответ

1

Вы можете легко использовать tabcmd, чтобы получить результаты просмотра в CSV, которые могут быть использованы позже в вашем процессе ETL. Если вам нужно автоматизировать его, вы можете написать сценарий и выполнить его с заданием cron. У меня есть несколько видов, которые экспортируются в CSV и используются позже в моем потоке ETL для подачи нашего CRM.

Не забудьте создать представление точно так же, как вы хотите его экспортировать в CSV - обычно включая порядок полей. Еще один совет: я не позволяю ему использовать по умолчанию «Мера имен» и «Измерять значения» - чтобы все было хорошо на моем CSV, у меня есть поля, добавленные вручную в разделе строк/столбцов.

2

Вышеприведенный ответ правильный, что tabcmd - это способ его вытащить. Мы используем функцию в python для генерации запросов tabcmd, чтобы их можно было перенести.

import subprocess 

def runTabCmd(cmd): 
    # run tableau command and display the output 
    print cmd 

    if run_tabcmd == 'yes': 
     p = subprocess.Popen(
      cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 
     for line in p.stdout.readlines(): 
      print line 

Вы, вероятно, уже знал, что, но для нас это был способ, чтобы полностью автоматизировать вытягивать и загрузку в другой питон пакет как scikit учиться на оптимизированное решение ML

я редактирую этот ответ согласиться с ответом Рассела. Tableau не является инструментом ETL и не должен использоваться как таковой. Если у вас абсолютно есть, чтобы что-то сделать, вы можете использовать то, что я предоставил. В противном случае лучше всего использовать инструмент, предназначенный для работы.

2

Вам не понравится ответ, который я вам дам - ​​«Не делай этого».

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

Выше того, что вы выяснили, как получить результат, который вы хотите в Tableau («работа выполнена»), Tableau не предлагает вам никакой реальной стоимости в описываемом вами сценарии , Используйте инструмент (например, Alteryx), который действительно предназначен для такого рода работ.

+0

Хммм. Табличные вычисления Calcau и LOD могут использоваться для построения алгоритмов BI, которые раньше существовали в уровне SQL или ETL, но более удобны для пользователя. Было бы неплохо иметь крючки в этих результатах, поэтому я могу выполнить «рекомендуемые результаты» или синхронизировать результаты Tableau с голосовым приложением ala Cortana BI. Если я смогу программно извлечь результаты вычисления таблицы, он может вести интерактивный диалог с Amazon Alexa! Конечно, я мог бы сделать это в Alteryx или SQL, но мне нужна единственная точка истины, которая управляется визуализацией, которую наши граждане-разработчики могут создавать и видеть. –

Смежные вопросы