0 votes
1 view
in BI by (17.6k points)
recategorized by

Tableau is an excellent tool for visualizing data. However, it is designed to be the final stop in a data (ETL) pipeline.

My Tableau workbook uses a bunch of Table Calcs to generate a list of "recommended orders". Rather than view these, I want to automate and execute them. This would make Tableau the engine of a quasi-ML process.

In other words, I would like to make Tableau a part of my ETL pipeline and send data to another tier. How can I write a back-end program that executes my Tableau workbook and receives a results dataset?

See the end of this article for example data I want to automate:http://robm26.blogspot.com/2015/10/keep-your-factory-humming-with-tableau.html

Any ideas?

1 Answer

0 votes
by (47.2k points)
  • tabcmd is the way to pull it out. function in python is used to generate the tabcmd requests so that they can be batched.

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

  • This is a way to completely automate the pulling and loading into another python package like sci-kit-learn for a streamlined ML solution

  • Tableau should not be used as such and it is not an ETL tool. If you absolutely have to do something, you can use what I provided. Otherwise, the best practice is to use a tool designed for the job.

Welcome to Intellipaat Community. Get your technical queries answered by top developers !