Coder Social home page Coder Social logo

rmelikov / tableau_batch_scripts_self_service_bi Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 9 KB

Tableau Server Self-Service BI Solution with Batch Scripts and pdftk

Batchfile 100.00%
tableau batch-script tabcmd tableau-server pdftk pdf-merge pdf-generation

tableau_batch_scripts_self_service_bi's Introduction

Tableau BI Self-Service Solution for Some Client

This solution was built so that some VPs could access Tableau reports from outside of the network. They wanted to be able to use the box.com app and have all of their scorecards, metrics, and reports in one folder in a form of PDF documents. This also allowed to save on Tableau licensing costs.

Here is how it works:

main.bat

It starts off with the main.bat file which makes calls to the rest of the files, settings.bat, vp01.bat, and vp02.bat. It asks for some parameters, like month, year, etc, then sets the settings for the project using the settings.bat file, and then completes jobs for each VP in their respective files. Additional VPs could be added later.

settings.bat

In the settings.bat file, the main thing is that it sets the location of the tabcmd.exe file into a tabcmd variable to make it so that you don't have to type out the path to tabcmd.exe each time.

Another main thing for this file is that it contains the username, password, and the server name to the Tableau server. This, of course, could be parametrized as well for security reasons.

And finally, the parameters from the main.bat file are passed into the settings.bat.

vp01.bat and vp02.bat

The main ideas here is that inside of this file we are making calls to the Tableau server one at a time to retrieve certain views as PDF documents. Some dashboards have many views but not all of them are needed by the VPs. So, we have to specify which views are needed to be extracted from Tableau server. These views are then put into new groupped PDFs, using a utility called pdftk. After the groups of PDFs are created, the single PDFs are deleted. Also, each call is numbered so that in case of an error during the call, an error message is logged into an error log. After each call there is an error check by looking at a Windows environment variable errorlevel. It it is not 0, then there is an error and the script logs a message into a log, identifying which call had a problem. After that, it resets the errorlevel variable. There is also some file organization happening in there.

tableau_batch_scripts_self_service_bi's People

Contributors

rmelikov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.