1 of 1 people found this helpful
I'll do my best to give you the difference between a twb and twbx.
A twb is a small (size) file that has your worksheets and dashboards. If you opened a TWB file in notepad, it would literally be just a bunch of XML. tableau uses this XML (like HTML) to determine the structure of your visuals, dashbaords, calulations, etc. One important thing about a twb is that there isn't ANY data in a twb. A twb needs to have a CONNECTION to a data source (.tds file).
data connections - two kinds
.tds - this is the file extension for a data source. if you opened this in notepad, you'd see XML defining the connection string to the data (it might be a database with the IP address, schema, username, password or an excel doc location on your computer).
.tde - this is the extension of a data extract, if you create an extract of your data, Tableau will download all that data into a compressed blob on data. Tableau can read these .tde files extremely fast.
A twbx is called a packaged workbook. It's like a ZIP file. If you could unzip a twbx you'd find both the twb AND any additional files being used -like if you had .jpg (images) in your dashboards. a TWBX can also have a .tde (data extract) packaged with it.
What does this mean for you?
You published to your server a packaged workbook that is packaged with a .twb file and a seperate .tde (extract) file. In the .twbx, you need to set up a seperate schedule to refresh this extract. It is not the same as another .tde in your Data Sources location.
I hope that helps.
Thanks a lot !! You help very much.
Just have one question : is it better to publish twbx workbook or twb with extract ?
Iryna, most everything Justin said is true/accurate. But there are a few things that need to be cleared up:
1. A twbx file IS a Zip file (with a Tableau extension) and can be opened by any Zip utility, so you can look inside.
2. There are more than two connection types. I've highlighted the two mentioned, but note how many more are available:
And that's not even all of them.
Now to your question. When you publish a packaged workbook (twbx) you are putting all the files (extract, png, shapes, etc.) onto the server. This then becomes a 'static' file. Meaning that any changes to your original data file will NOT be picked up because Tableau is no longer pointing at the original, but instead is pointed at the data file inside the Zip file -- there is no longer a connection to the original. [Edit: Not necessarily. See Jonathan's explanation below.]
So if you want to refresh data on a schedule then you need to publish an unpackage (twb) workbook. If you publish this as a Live connection then data will be updated every time you refresh the view in your browser (though it may get cached, but that's another topic). If you extract your data and then publish, you will be able to set up a refresh schedule, which is what you seem to want/need.
As you can see, it's not a what's 'better', it's a how do you need/want it to work. Final note: Generally speaking packaged workbooks are used to share workbooks with others using Reader, those who don't have access to a Tableau Server. (And to post workbooks on these Forums.)
I've seen this, or similar comments, mentioned a few times recently:
"so if you want to refresh data on a schedule then you need to publish an unpackage (twb) workbook"
I'm not sure I understand the distinction - can you clarify your meaning? I publish TWBXs and set refresh schedules all the time - am I doing something I should not do? I package the workbook with a local extract. I prefer this over publishing my extracts to Server, and trying to use a Tableau Server data source, at least for the time being.
Just want to make sure I'm not missing something.
Matthew, I just ran a test and you are correct an extract within a published twbx file seems to be running as scheduled. But I haven't yet set up a test to make sure it is refreshing the extract from the original file. I was sure I tested this 6 months ago and it behaved like I described above. But that was back when we had an option to 'include external files', which seems to have now disappeared. So this whole thing may have been rewritten.
Knowing what lives where, and where things are refreshed from, would be a great KB article.
Note: My tests managed to produce 'static' results for all the reason Jonathan mentions below, and I extrapolated erroneous conclusions. So mostly ignore this post.
Ever since I took this job (over a year ago), I've been publishing TWBX workbooks with Refresh schedules on any workbook that uses an Extract. Its just what I have always done when using Extracts. With a live connection to my database, I publish TWB files on other Sites. But I rarely use Excel files as my data source, which I think may be a factor in this discussion as well.
I recently saw a KB where Tableau was "recommending" that only TWB files be published to the Server, and it seemed they were recommending using Tableau Server to host any extracts. However, I've experienced many headaches when connecting to data sources hosted on Tableau Server, so I avoid it for the time being.
I agree, clarity would be great. Until then, I'll continue publishing TWBX files and scheduling refreshes for the workbook extracts. If I can find the KB article I'm referring to here, I'll post it, but I don't recall what the actual KB article was created for.
We've also avoided published data source, because of comments like yours (and I think Jonathan). But we only use twb files with extracts, so we're not live to the server, and we get the better performance. My testing might have been using an Excel file, and there were some issues with Excel back then. So it's good to know this has been working for you. But I'm not sure I see the advantage of a twbx in this situation.
This is where my confusion lies -- how are you able to publish a TWB with an extract, and have the data update regularly on Server? I've just always used a TWBX and I'm not sure I understand how I would accomplish the same thing with a TWB file. If the data is not included with the workbook, how are you able to update it?
I'm not sure I understand the performance distinction you're making either -- you say you use twb files with extracts so you're not live to the Server. What do you mean by this? When I publish a TWBX, the extract is local to the workbook, so the only time the Server is touched is when the data is refreshed overnight (we're only refreshing nightly or weekly, in most cases).
Like I said, I've always published TWBX files when using Extracts, because that is all I ever knew. I am confused as to how I could accomplish the same thing when publishing a TWB.
I am genuinely curious - I am not posting this because I think I'm doing something the "right" way. I'm more interested in learning about why I would consider another way, as this is the only way I've ever published workbooks with Extracts. It just made sense to me to use a TWBX file, so the extract is published alongside the workbook.
Well at least I can explain that (I hope). Save a twb file to your local or networked drive (not the Tableau Server). Now do the extract, and save extract to your local or networked drive. Now publish the workbook to Tableau Server just as you always do. That's it, you've published a twb. The workbook itself, and the extract remain on your local or networked drive. The refresh schedule hits the tde on that local or networked drive.
Where I get fuzzy is what happens when you publish a twbx. Where does that live? What is refreshed? Which extract is refreshed? The original extract you saved or the one that got packaged into a Zip file. And what impact does this have on incremental refreshes? Essentially by packaging a workbook you are creating an extract in two different places. From what you say, this doesn't seem to have an impact of the refresh. So maybe it doesn't matter. That's really my question in all this.
I'm still confused, but I'll try to do some testing on the .twb process you've described -- I am not clear on how the data would be refreshed in that scenario, but I suppose it would be possible to schedule a refresh on the extract from there. Just a very different process than what I've become accustomed to.
The TWBX lives on the Server when its published. What gets refreshed is the entire extract; I'm not sure what you mean by "What is refreshed?". The extract attached to the workbook gets refreshed.
I don't use incremental refreshes, but I would imagine they'd work similarly - the extract published alongside the workbook would get refreshed in increments.
When I work with packaged workbooks, I'm not concerned about where the extract lives, necessarily -- it becomes packaged with the workbook, so I never have to worry about the original extract file or where it "lives" - once its published to the Server with the workbook, and I set the refresh schedule, everything works smoothly for the published TWBX file. I've never had any issue with refreshes -- the only downfall is that I end up publishing the same extract multiple times, if I want to use that data in another workbook.
I just ran a test. I published a packaged workbook (twbx) to Tableau Server, then did a Windows Explorer search for .twbx and it returned nothing. There are no twbx files on the Server. I suspect there are simply hooks on the Server pointing back to your twbx file on your local or networked drive. Although it could be that Tableau is in fact moving everything over to Server and encoding it differently, calling it something else. Again that's my question.
Good to know - thanks. It really would be nice to know if I'm overcomplicating this, or if there is really a reason not to use a TWBX published to the Server. I am more confused than when I got here...
3 of 3 people found this helpful
I appreciate yours answers! Thanks a lot !
Today I tried two different ways -they both worked good.
So I created workbook (data source used extract). First of all i published data source with extract to Tableau server. Then save workbook in twb format - publish to server. After saved the same workbook in twbx format and published to Server (gave another name of workbook). So I had two workbooks (twb and twbx) which were pointed to published data source. Later I refreshed published data source with extract. I noticed that both workbooks had updated data.
What were your original files/data in Excel? SQL View? Some other?