How to run Tableau Prep flows in the command line 2020.3 & later
A video showing how you can automate Tableau Prep on your computer.
- The Tableau Prep CLI batch file lives in the script folder of your Prep Builder installation directory and runs flows in the background using Java without ever opening Prep.
- Credentials for Tableau Server, Tableau Online, and databases are stored in plain-text JSON files, which is fine for a personal laptop but not a secure or governed approach for production use.
- Use -t to reference a flow file and -c to reference a connection credentials file; drag and drop paths into the command line to avoid typos.
- For Tableau Online you must reference the specific pod URL and the site content URL rather than the generic online.tableau.com address.
- Command-line flows can be scheduled via Windows Task Scheduler, and extra options exist for incremental refreshes, disabling validations, and debugging.
- Three automation scenarios0:47
- Locating the Prep CLI and flows1:28
- Anatomy of the credentials JSON file3:40
- Opening and navigating the command line7:59
- Running a simple local flow9:51
- Publishing output to Tableau Online12:58
- Database input to published data source16:57
- Documentation and command options19:53
0:00Hey, it's Tim here. And in today's video, I
0:01'm going to be showing you how to run Table
0:03au prep in the Windows command line.
0:05Now, this is a great way of starting to
0:07automate some of the prep flows on your
0:09machine and starting to sort of understand
0:11if something like the data management add
0:13on with a lot more automation might
0:15actually be something useful in your
0:17organization.
0:18Now, as you can see on the screen, I'm
0:19actually using Tableau 2020.3. If you've
0:22got a slightly older version, you'll need
0:24to head to the description and look at the
0:26documentation that I linked to there, it
0:27will show you how to use this for slightly
0:29older versions.
0:30There's some slight modifications. If I go
0:32to the Tableau documentation page here, and
0:34I just scroll down, they show you very,
0:36very clearly what to do with slightly older
0:39versions.
0:39So this is actually what you want to follow
0:41if you're doing that. But if you're using
0:43the latest version of Tableau prep, you're
0:45in the right place.
0:46Now, the other thing I want to do is I want
0:48to show you the three different scenarios,
0:50you typically run Tableau prep in an
0:52automated way.
0:53The first is essentially just a simple
0:55workflow, or simple flow on your desktop
0:58that you just run, the inputs are located
1:00on your machine, and the output is located
1:02in the machine. Very simple.
1:04The second is actually when the inputs are
1:06located on your machine, but the outputs
1:09are located in Tableau online or Tableau
1:11server.
1:12And the final one I'll do is where the
1:14input is essentially a database and the
1:16output is essentially a published data
1:18source to Tableau server.
1:20But of course, the output can also be a
1:21database in this specific scenario.
1:24So those are the three things I'm going to
1:25cover. We're going to start with the first
1:27one.
1:27Okay, so I'm a bit of a Mac fanboy. So I'm
1:29gonna actually have to switch over to my
1:31virtualized version of Windows, where I'm
1:33actually running a Postgres database
1:35instance in the background.
1:37This will come in handy later. Stay tuned
1:39to find out more about that. Okay, so this
1:41is essentially a very simple setup that I
1:43've got on my folder.
1:44And you can see that I've already got some
1:46directories open. Now, these directories
1:49actually quite handy in Tableau's own
1:51documentation, they actually make sure that
1:53you know these up front.
1:55So the first one is essentially the
1:57installation directory of Tableau prep.
2:00And specifically in that folder, there's a
2:02script folder. So if I just go back one
2:04hierarchy here to the Tableau directory in
2:06your installation folder for all programs
2:09in your computer, you'll see that Tableau
2:11prep builder 2020.3.
2:13If I click in on that, then I go to the
2:15script folder, you'll see that Tableau have
2:17this Tableau prep CLI little batch file
2:20here.
2:21And this is actually what runs all the
2:22automations on your behalf. It's actually
2:25using a little bit of technology in the
2:26background called Java to do all the
2:28running in the background for you.
2:30Now the other thing you're going to need to
2:32hand is the folder with your prep flows and
2:34your inputs and outputs.
2:36So I've actually run this a little bit
2:37earlier on. If I go to my outputs folder,
2:39you'll see that it's empty.
2:41And this is what we want because we're
2:42going to be running these in the background
2:44, you won't see Tableau prep open at any
2:46point at all.
2:47Now, if I just go back one more, you'll see
2:49that I have some flows. If I go into that
2:51folder, you see I've been a little bit more
2:53organized.
2:54And I've got the three flows I talked about
2:56with the three different scenarios. Now the
2:58other thing you'll see is that I've
2:59actually got some other files here.
3:01And they are called essentially online cred
3:04s, and DB slash online creds.
3:06Now, if you're security buffing, you're
3:08probably panicking right now because you're
3:10probably hoping that in there is not my
3:12username and password.
3:13Unfortunately, that's exactly what's in
3:15there.
3:15So if this isn't your kind of thing, if
3:17security is not going to let you do this,
3:19then this isn't going to work for you.
3:20Something like Tableau prep conductor as
3:22part of the data management add on is
3:24probably going to be the better option here
3:26.
3:26So you can do this in a much, much more
3:28secure and governed way.
3:29But if you're just running something on
3:31your laptop, you just need to automate
3:33something very, very quickly.
3:34And you're the only person with access to
3:36your laptop, and this is a solution that
3:38can work for you.
3:39Now, these online credential files are
3:42essentially just JSON files.
3:44And these JSON files contain information,
3:46you can actually see that I've got one here
3:48in the background.
3:49So let's just have a look at the anatomy of
3:50this very, very quickly.
3:51Now, the very top, you've got a section for
3:54Tableau connections.
3:55This is basically for connections to Table
3:58au server or Tableau online.
4:00And the thing I want to call out here is if
4:02you're connecting to Tableau server, it's
4:04actually quite straightforward.
4:05You just get the URL of your Tableau server
4:07, and that's what you put here in the very
4:09sort of top section.
4:11But if you're connecting to Tableau online,
4:13you don't actually use the traditional
4:15online dot Tableau dot com URL.
4:18You need to know the specific pod that your
4:20Tableau online server runs in.
4:22Now, the pod is essentially just the AWS
4:24cluster or the specific sort of environment
4:27that the Tableau online instance runs on.
4:29And actually, if you've ever logged into
4:30Tableau online, you'll see that the URL
4:32changes to reflect this pod.
4:34So here I've actually copied that on here.
4:37So I actually have a Tableau online dev
4:39instance that's located in America.
4:41So the URL is actually reflecting that.
4:43So 10 AX online is an instance that runs as
4:46a dev instance that runs in America.
4:49And that's my own specific instance.
4:51Now, the other thing to note is this
4:54content URL.
4:55Now, when you log into a Tableau server,
4:57you typically have something called a site.
4:59But on Tableau online, this is just
5:02actually a generic sort of short URL or
5:05short parameter that's added to specify
5:09where in Tableau online your particular
5:11environment is.
5:12If I switch back to Mac here and I switch
5:14over to this tab, you'll see here that at
5:17the top, the URL is essentially, as I
5:19mentioned before, 10 AX online dot Tableau
5:21dot com.
5:22But the other thing you can see here is
5:24this short statement that says site, which
5:26is essentially pointing to my specific
5:28environment and Tableau online.
5:30And then this sort of code here that
5:32specifies what my Tableau online instance
5:35actually is.
5:36It's essentially like a folder on a server.
5:38And so that specifies my specific server.
5:41I need to make sure that that's what I copy
5:43into this content URL section.
5:45Now, the last few things you need to set up
5:47is the port, port 443 is the standard sort
5:50of port to open up.
5:51You can also open up port 83.
5:53But if you follow the Tableau documentation
5:54, those are the two ports that you can use.
5:56The username and password.
5:58This is what I said the security guys
6:00wouldn't be a fan of.
6:01Having username and password in plain text
6:04on your machine is not a good idea.
6:07If you're the only person who has access to
6:09your laptop, then you might just get away
6:11with it.
6:11But in security terms, this is not best
6:13practice.
6:13So by all means, don't take this as advice
6:16to go ahead and do this.
6:17But again, if you're just running this on
6:19your machine, then this should be fine as
6:21long as you're the only one with access to
6:23your machine.
6:24Now, the other thing you can see here is a
6:26database connection section.
6:28Now, this is essentially just where we put
6:30information about our database and where it
6:33is, because if you think about it, we're
6:35going to run this flow.
6:36And what we won't be doing is opening up
6:38Tableau prep and logging in.
6:40So Tableau prep is going to need to know
6:42whether the person running this flow
6:45actually has the rights to go and look at
6:47this data.
6:48So the only way you can do that is by
6:50specifying it in this document.
6:52So here you can see that I've actually got
6:54a local Postgres instance running on my
6:56machine.
6:57That's what you saw earlier on.
6:58And it's essentially just basically
7:01pointing to that database.
7:03Now, this is an example database.
7:04It's not actually my password isn't Post
7:07gres password.
7:08And obviously, my password up here is not
7:101234.
7:11Make sure yours isn't.
7:12But this is basically the simple setup you
7:15need.
7:15And once you've got this set up, you just
7:17need to save this somewhere because we're
7:19going to reference it in the command line a
7:21little later on.
7:21So those are the basics of basically making
7:23sure everything's going to work.
7:25You need to know where Tableau prep is
7:27installed.
7:27If you need any credentials to a database
7:30or Tableau online or Tableau server, you
7:32need to have them here in the credentials
7:34file.
7:34And the next thing you need to do is know
7:36where your flows are and know where those
7:39credential files are.
7:40Now, to make things easier, I've got
7:42everything in a folder here called prep
7:44command line because I'm obviously doing
7:46this demo.
7:46But that's the best way to do this.
7:48And then for the next step, what we're
7:50going to do is open up the command line and
7:52I'm going to show you how to run a very
7:54simple flow.
7:54So we can actually run this first one here
7:56called Superstore simple flow.
7:58Okay, let's get stuck in.
7:59Okay, so what we need to do is we need to
8:01open up the command line.
8:02In order to do that, I'm just going to go
8:04here to the search icon and just type in C
8:06MD and it will come up.
8:08Now, if you're not using the search icon
8:10like I am or if you're running an older
8:11version of Windows, just have a Google and
8:14try and find the best way to open up the
8:15command prompt.
8:16I'm just going to open it up.
8:17I'm not running it as an administrator.
8:19I'm just going to keep it nice and simple.
8:20It's actually easier to use it if you don't
8:22run it as an administrator.
8:23I'll show you why in a second.
8:24The main reason is I always forget how to
8:26use the command line.
8:28So I like some prompts and one of the
8:30prompts I like is being able to drag the
8:32thing in I need into the command line
8:35rather than having to type a whole bunch of
8:36stuff.
8:37As someone who's dyslexic, that's just my
8:39worst nightmare.
8:40So let's go ahead and change the directory.
8:42That's just CD.
8:43And what we want to do is we want to drag
8:45the directory where we have this Tableau
8:47prep CLI here on the left hand side.
8:49So what I'm going to do is I'm just going
8:51to go back one and I'm going to just drag
8:53scripts into the window here.
8:55And you can see that it changes the text
8:57there for me.
8:58And now I'm back in here.
8:59If I just enter twice just to make that go,
9:02you'll see that it's changed the directory
9:04for me.
9:04So now I'm in the right place.
9:06I can now do something like DIR just to see
9:08what's in the directory.
9:10And it will show me here that I've got a
9:11bunch of different things, including the
9:14Tableau prep CLI.
9:15B.A.T.
9:16Now, what you can do is you can just
9:18basically just run that if you just go
9:21Tableau prep CLI.
9:22B.A.T. And what you saw me do there is as I
9:25hit TABL, I just hit tab because that's
9:27like a shortcut to autocomplete.
9:29So you don't any don't get any typos or
9:31anything like that.
9:32So let's hit enter just to see if that's
9:34working.
9:34And you can see that when I run that
9:36without any command entered, it basically
9:39shows you how the Tableau prep command
9:41lines all work.
9:42So it's basically working, it's firing, and
9:44we now know we're in the right place.
9:46Let's go ahead and set ourselves up to run
9:48the very first flow.
9:50OK, so in order to do this, we're going to
9:52need two things.
9:53We're going to need to know the location of
9:55our flow and then we're going to need to be
9:58able to enter it into our command line.
10:00So what I'm going to do is I'm going to
10:02call the command line tool again.
10:04You have to do this each time.
10:05So I'm going to hit up as another shortcut
10:07for bringing back what you previously typed
10:10.
10:10And when you know something like that works
10:12, I just do that rather than typing it again
10:14and risking any typos.
10:16Now, the next thing we need to do is to
10:18give it an argument.
10:19One of the things you can see here is that
10:21I need to reference the file.
10:22So -t is essentially just a little sort of
10:25shortcut that allows me to reference the
10:27file immediately after.
10:29So if I just type in -t, then enter a space
10:33, I can now go to my Tableau command line
10:36folder that I've got here.
10:37And again, I love my shortcut.
10:39So what I'm going to do, I'm going to move
10:41this window and I'm just going to drag this
10:43here into the window.
10:43And you can see autocomplete that for me.
10:47So now if I come back in here, I should
10:49actually be ready to run the flow.
10:51So just to summarize what I've done here, I
10:53've retyped the command line instruction
10:55again.
10:56I've put a -t to basically signal that I
10:59want to specifically run this flow.
11:02And then what this does is basically put
11:03the location of the flow so the command
11:05line tool knows where the flow is.
11:08And now if I hit enter twice, just once in
11:10this case, actually, you can see that it
11:12starts running.
11:13And actually, it's running successfully
11:15because it's starting to load the flow.
11:17It's creating a temp directory.
11:19That's normally a good sign, right?
11:20And when it finishes, you should just get a
11:22completion sort of signal here.
11:24So I just got to wait a little bit until
11:26this is complete.
11:28When it completes, what I'll also do is I
11:30'll go to the outputs folder that I set up
11:32the flow to output to and we'll check that
11:34everything is in there.
11:35And actually, as I'm speaking here, it
11:37seems to be running the flow, which is
11:39great.
11:39There's no errors, there's no document
11:41errors.
11:41So it validates the flow before it runs it
11:43to make sure there's no errors.
11:45And you can see here that it's finished
11:46running the flow successfully.
11:48So we have a success.
11:49Now let me go show you the output folder.
11:52If I go back to my folder here, actually,
11:56it's over here instead.
11:57If I just go back up one, now what I should
12:00see in this outputs folder is two flows.
12:02If I just refresh this.
12:10Where did I output this to?
12:13OK, so I know exactly what's happened
12:19because I'm a Mac fanboy and I'm on the
12:21command line, it's put it to a different
12:23desktop.
12:24Yes, when you're running Parallels, there
12:26are two desktops.
12:27It's super confusing.
12:28It just confused me right now.
12:29I'll go ahead and show you where this
12:31should actually be.
12:32So if I go to this desktop, go to the prep
12:34command line and go to the outputs, you'll
12:36see I have my two hyper files.
12:38There you go.
12:39I saved myself 10, 14.
12:40That's roughly a minute ago.
12:42If you're looking at the timestamps down
12:43here.
12:43We're all good.
12:45We're all good.
12:45So I managed to nearly trick myself there,
12:48but you can see that it worked.
12:49It worked really, really well.
12:50And we also got the success signal over
12:52here.
12:53Thankfully, we don't have to publish
12:55anything else to my desktop, so that trick
12:57won't get me again.
12:58OK, let's head to the next run.
13:00This time, what we're going to do is we're
13:02going to run the same flow.
13:04We're going to publish the output to Table
13:06au online.
13:08OK, let's set ourselves up.
13:09OK, so we're back in.
13:11What I'm going to do again to be lazy, I'm
13:14going to hit up and what we'll do and what
13:17that will do is it will load up the
13:19previous command that we ran.
13:20So we're just here at the bottom.
13:21It's going to go back and delete a few
13:24lines here because I don't need the entire
13:27flow.
13:28I'm just going to go all the way back to
13:30where it says T.
13:31And if you look up a little bit here, you
13:34'll see that the shortcut for specifying
13:37connections is actually -c.
13:39And we need to do that first before we
13:41specify the flow.
13:42So I'm going to go actually go ahead and
13:44delete the T and this time say C.
13:47And for the second flow, I've actually got
13:49a different credentials file.
13:51This is essentially the JSON file I was
13:52talking about earlier on, which looks a
13:54little something like this.
13:56So the file that I need is actually, I just
14:00go back a few folders.
14:01Let's go back to my fake desktop, as it
14:04were.
14:04Here we are.
14:05This is the DB online creds file here that
14:08I have.
14:08And I actually just need my online creds
14:10because I don't need any access to a
14:12database.
14:13It's always good to only specify what's
14:15absolutely necessary.
14:16In security, that's always basically what
14:18you do.
14:18Only give something as much access as it
14:20needs to get the job done.
14:21So in this particular case, let me just
14:24drag this down here so I can see it as I
14:26drag it.
14:26And then I'm going to drag the online creds
14:28folder here.
14:29I'm going to use my mouse rather than touch
14:31pad and just drop it down there.
14:33And you can see that that auto complete.
14:34So that's now there and set up.
14:36So now the next thing we're going to do is
14:38specify the flow.
14:39And the thing I need to specify now is
14:41actually this second flow, not the first
14:43one, because this second flow is the one
14:45that outputs to Tableau online.
14:47So let's go ahead and put that just there.
14:49And now, believe it or not, we're pretty
14:51much set up and ready to go.
14:53Before I run this, I want to show you the
14:55directory in which it's actually going to
14:57publish this.
14:58So you know that I haven't done any sort of
15:00trickery in the background to get this to
15:02work.
15:02This is the folder 2020.3 release folder.
15:06I actually created this a while back and it
15:07's going to publish the output of the flow,
15:10one single output to this particular
15:13directory.
15:13So let's go back and let's hit enter and
15:16make sure that this is working.
15:18OK, might need to enter this twice.
15:20Sometimes when you're not in the flow
15:22properly, it just doesn't sort of run
15:24properly.
15:25So now it's running.
15:26You can see everything is good.
15:28It's creating the temporary directory again
15:29.
15:29This is actually something that prep does
15:31in the background anyway.
15:32And we just got to wait for this to run.
15:35This is going to run slightly differently
15:36because it first needs to check the inputs,
15:39then check the outputs of which one of them
15:41is going to be a Tableau online connection.
15:43You can see that it established input
15:45connections.
15:46OK, no server connection detected in the
15:48input, starting to establish a server
15:51connection for publishing extract.
15:53And you can see that it's signed in
15:54successfully with my credentials to the
15:56right Tableau online instance.
15:58So now it's checking the document.
16:00There's nothing wrong there.
16:01So now it's running the flow and it's
16:03finished running the flow successfully,
16:05which means if I go back to my other tab,
16:08we should see something there.
16:09So let's swipe back and let's refresh this
16:12folder.
16:12And we should see we've got now two files,
16:15one of which should be a published data
16:16source.
16:17And there we have it.
16:18This was the locally published data source
16:20that was done in the command line.
16:22So again, this is really, really cool
16:24because if you need to automate something
16:26or get something up to Tableau online or
16:28Tableau server really quickly,
16:30you could actually set up a nice little
16:32script to get a bunch of these files up to
16:34Tableau online very, very quickly.
16:36And don't forget, all of these things we're
16:38doing in the command line can be scheduled
16:40using Windows Task Manager, not Windows
16:42Task Manager, Windows Schedule Manager even
16:44.
16:44So that's a really great way to automate
16:47this and get some basic automation up and
16:49running.
16:50Of course, if you're not worried about
16:51security, as I mentioned earlier on.
16:53So that's the second flow that we've set up
16:56running.
16:57Now, the last one is a little bit more
16:59tricky, but it's actually pretty much runs
17:01in exactly the same way.
17:03The only thing different here is we need to
17:05specify the credentials of the database and
17:08the credentials of Tableau server or Table
17:10au online instance.
17:12And so let's go ahead and set that up.
17:14I'm just going to hit space here and then
17:17hit up again to bring back the previous
17:19file that we ran.
17:20So I'm just going to go back and this time
17:22I'm going to go all the way back and I'm
17:23going to delete everything up until hyphen
17:26C.
17:26This is essentially where we specify the
17:27credentials.
17:28Again, if you're pretty comfortable with
17:30the command line, you could probably be
17:32typing away here and making sure everything
17:34works, but I'm not.
17:36So I'm going to be dragging and dropping
17:37things just like you do in Tableau.
17:39So the first thing I need to do is make
17:41sure I get the right one, not the example,
17:43because that won't work.
17:44That's got the wrong details in there.
17:45So I grab my DB online creds just onto that
17:49.
17:50So you can see that's been entered.
17:51Then I hit hyphen T just to move on to the
17:54next bit.
17:55And we're going to grab the Postgres to
17:57Tableau online.
17:58So what I've got here is I've got a Post
18:00gres instance running on my machine locally
18:03in a virtualized version of Windows on a
18:05Mac.
18:06Very, very complicated.
18:07But it's actually going to publish the data
18:10from that database to Tableau online.
18:13So we'll get a second file, a second output
18:15in that directory that I showed you earlier
18:18on.
18:18So we're going to go ahead and drag this in
18:20just so you can see that.
18:22So now we've got our query really nicely
18:24built out.
18:25So this is now working really, really
18:27nicely.
18:27And I think we can go ahead and run this.
18:30We shouldn't get any errors.
18:31I've used the correct credential files this
18:33time.
18:33And I've also got a third flow that I
18:36wanted to run, which is the third example I
18:38was going to show you today.
18:39So let's hit enter and hit that twice just
18:41to make sure that gets going.
18:44And again, we get going now.
18:46It's got three things to check now.
18:47The input is a database.
18:49The output is Tableau online.
18:51Then it's got to check the Tableau flow
18:52itself and make sure there's no errors.
18:54So it actually starts again in the same way
18:56, creates a temporary directory.
18:58The next thing we should do is we should
19:00see it checking the inputs, basically.
19:02So updating credential for connections for
19:04the local host, which is my database.
19:07It's made sure that everything's been
19:08established successfully.
19:10No server connections detected in the input
19:12.
19:12It's moving over to the output.
19:14It's connected to Tableau online here.
19:16Now it's checking the flow and now it's
19:18starting to run the flow.
19:20So that's a really cool way of automating
19:22this.
19:22And you can see it's actually finished and
19:24running the flow successfully.
19:26Now, I think what's happening there, the
19:28reason it's getting faster
19:29is because in the background, it's probably
19:30cached some of the data.
19:31But this whole time, Tableau prep hasn't
19:34opened.
19:35So you haven't seen any Tableau prep in
19:37this video, which is probably
19:38what you weren't expecting.
19:39And if I go back over here and I just go
19:42back to the 2020 release folder,
19:45you'll see that I've got here prep command
19:47line, which was the third
19:48file that I was running, published just a
19:50few minutes ago.
19:51So that's pretty much it.
19:53That's pretty much the video in a nutshell.
19:54And I'm really, really sorry that all I did
19:57was show you text in the command line.
19:59This is not user friendly at all.
20:01What I'll probably do is I'll put some of
20:03the scripts that I run
20:04in the description below so you can take a
20:06look at them in your own time
20:07and maybe just use them as a way of sort of
20:10setting up.
20:10And the thing I'd actually call out to is
20:12actually Tableau's
20:13own documentation on this.
20:14It's actually really, really good.
20:15It's really, really detailed.
20:17And it gives many of the same examples.
20:19If I scroll down, you can actually see that
20:22I was actually searching
20:23for things in here.
20:24So one little trick that I do, like if I'm
20:26searching for something
20:27in documentation, what I normally do is hit
20:29command F.
20:29That opens up the search parameter.
20:32And if I'm stuck on something, let's say I
20:33'm looking for something
20:34referencing Tableau online.
20:36I just type in like a keyword.
20:38And of course, what your browser will do is
20:40highlight each instance.
20:41But then it allows me to skim this document
20:43very quickly
20:44to see where they mention Tableau online.
20:46Then I'm actually able to see here some of
20:48the specifics I mentioned.
20:49And so it's a nice way of sort of just
20:51browsing this.
20:51But as you can see, they have examples here
20:53that you can follow.
20:54And they basically detail how to run each
20:57and every scenario,
20:58including if you're using something like a
21:00SharePoint server
21:01where you need to use the UNC path in your
21:03command line
21:04rather than the local directory on your
21:06actual machine.
21:08So that's a really good use case that you
21:10can use to get data
21:11that's in a shared drive to run.
21:13And also your Tableau prep folder can also
21:15be in that shared drive.
21:17So you can have flows in a shared folder
21:19running in an automated way,
21:21admittedly using this script and then
21:24publishing that to Tableau
21:25online or Tableau server as you so see fit.
21:28Hey, this is Tim from the future.
21:31I'm editing this video and I realize I didn
21:33't actually show you the command
21:34options that are actually available when
21:36you're running the flows in the command
21:38line.
21:38So I just wanted to give one moment just to
21:40highlight where those are very, very
21:42quickly.
21:42If you head to the documentation that I
21:44actually referenced and scroll down
21:45a little bit, you'll see that towards the
21:47bottom or here,
21:48if I click on the right hand side, there's
21:49an option here for command options.
21:51This is actually really important because
21:53it shows you some of the other options
21:55that are available that I didn't cover in
21:56the video.
21:57One of those includes debugging, but also
22:00including
22:01disabling validations.
22:02This is basically when you're checking
22:04certain things in the flow.
22:06OK. And specifically for Mac OS is actually
22:08really, really important.
22:10The other thing to be aware of is you can
22:12actually add a tag
22:14to enable incremental refreshes.
22:16So if you've not got the Tableau
22:19prep conductor or the data management add
22:21on to enable that,
22:22you can actually use this to do incremental
22:24refreshes
22:25to see if that's something that suits you.
22:27And then if that becomes something that you
22:29want to do in a production
22:30sort of level set up, then actually then
22:32you can you know
22:33that it's going to be worth your while.
22:35So these are just some very useful command
22:38line options here.
22:39Hyphen Inc, hyphen H for help if you don't
22:42know what you're doing.
22:43DSV and D, you know, you probably don't
22:47need to use them unless there's a problem
22:48or you need to do some really quirky things
22:50.
22:50Or if you're running a Mac, you need to do
22:52some specific validation
22:54because Mac OS has slightly different
22:56security settings.
22:57And then the last thing I didn't mention is
22:59that, of course,
22:59if you're running this on a Mac, many of
23:01the settings are actually the same.
23:02You just need to be aware of the Mac nomen
23:05clature for this.
23:06And also, again, in the documentation,
23:08Tableau have done the alternative.
23:10So more or less it's exactly the same.
23:12You're referencing the exact same script
23:14folder.
23:14It's just in a different place and your
23:16flows are also in a different place.
23:18But it works pretty much the same way.
23:20And it's a really nice way of sort of
23:21getting around it.
23:22So that's that's it from future Tim.
23:24We'll head back to the video.
23:25So that's the video. Sorry, this was a
23:27little bit long.
23:28It was a little bit detailed as well.
23:29And we spent most of our time looking at
23:31really boring command line scripts.
23:33But hopefully you found this video really
23:35useful.
23:35Hopefully you found it something that you
23:37can maybe go and apply to your work
23:40if your security guys let you do that.
23:42But if you've enjoyed this video, you know
23:43what to do.
23:44Drop a comment below. Drop a like.
23:46Subscribe to the channel if you haven't
23:48done so.
23:48Otherwise, if you didn't like it, let me
23:50know what kind of content
23:51you'd like to see instead, and we'll try
23:53and work on some of that in the future.
23:54All right. Thanks for watching.
23:55I'll catch you in the next one.
Tableau release notes:
“You can run your flow from the command line to refresh your flow output instead of running the flow from Tableau Prep Builder. You can run one flow at a time using this method. This option is available on both Windows and Mac machines where Tableau Prep Builder is installed.”
In this video, I show you how to do this for three different scenarios.
Link to documentation referenced in this video: https://help.tableau.com/current/prep/en-us/prep\_run\_commandline.htm
- 00:00 Intro.
- 00:45 Three scenarios I’ll cover.
- 1:26 Setting up connection, logins & pre-requisites.
- 7:55 1-Running a simple flow, inputs and outputs locally.
- 12:00 Watch me get stumped .
- 12:58 2-Simple flow but publishing to Tableau Server / online.
- 16:57 3-Flow with database inputs and Server output.
- 21:28 Command Options
- 23:00 Running this on a Mac
- 23:25 Outro