Tableau Calculation Export Tool with Ana Rey de Castro | Tableau Conversations
Ana built a free, on-device tool that maps your Tableau calculations into a lineage diagram — no cloud, no fuss, just XML and Mermaid.
- You can unzip a packaged Tableau workbook (.twbx) to reach the .twb file, which is XML metadata containing every calculation — and the Tableau Document API can extract those fields programmatically without parsing XML yourself.
- The Document API reads calculations from a workbook file, while the Metadata API queries upstream and downstream lineage of assets published to Tableau Server or Cloud.
- Ana's tool runs entirely on device (Windows only, due to the win32com client library), is free, and lives on GitHub — outputting calculations to Excel/PDF plus a Mermaid lineage diagram as an HTML/PNG/SVG export.
- Mermaid diagrams can be restyled at mermaidchart.com — colour-coding default fields, parameters and calculated fields — making the lineage useful for documentation, handovers and migration planning.
- Number of records appears as a calculated field when opening older workbooks because legacy Tableau created it as a field with value one; modern Tableau replaces it with a native count.
- Introduction and the handover problem0:00
- Meet Ana: chemist to data analyst1:47
- Centralised vs decentralised team structures5:06
- Origins of the lineage tool7:38
- From Visio screenshots to XML parsing10:16
- Document API vs Metadata API explained13:04
- DBT lineage as inspiration16:23
- Demo: a simple airline workbook19:06
- What Tableau could learn from Sigma26:07
- A messy older workbook and number of records29:58
- Styling Mermaid diagrams and parameters38:25
- Andy Kriebel's calculation masterclass46:54
0:00We all have that one workbook which has tons of calculations and when it comes to handing it over, we just don't want to go near it.
0:07Or in some cases maybe you pick up a workbook that your colleague has built
0:11and you discover they've written hundreds of calculations, half of them maybe for formatting reasons, and you need to decipher them because someone's asked for a pretty critical change to a workbook that you maintain.
0:23Now that would be a daunting task, but in today's video I talked to Anna Rey de Castro.
0:28She's built a really nice tool that can actually give you some lineage for your calculations.
0:33And it does this all on device.
0:34There's no cloud service uh required, it's free, she's got the code on GitHub.
0:38And in this video, I had a conversation with her about the origin of the tool, the use cases that she sort of came up against that
0:45prompted her to build this tool and then we went through three scenarios.
0:49We used a simple workbook that I had built, we used a more complex one and then we pulled out one of Andy Kreble's book of calculations.
0:56And we went into that and I'll tell you it was complex.
0:59So in this video, um we talk through the whole entire process.
1:03Um I think Anna's got a really interesting perspective on what it feels like to be on the ground in an analytic setup
1:10She shares some you know personal context to that and also some inspiration for maybe other people who are thinking of building tools themselves to solve problems they come up against all the time.
1:20As ever, let's get stuck in.
1:22Anna, how are you doing?
1:23Hey team, how are you?
1:25Excited.
1:27Yeah, yeah, absolutely.
1:28I'm very excited.
1:29I think um we've been talking for the last you know couple of months uh about uh the work you've been doing with this lineage tool.
1:36We'll come onto it very shortly, but
1:38I think I've been keen to get you one because I'm really intrigued about the way you've built it.
1:42So we'll we'll absolutely we'll absolutely get stuck into that.
1:46But I think it's probably good to start with an introduction of yourself, um, to the Tableau community.
1:52Tell people who you are and uh what you do.
1:55Sure, so thank you for having me.
1:57And well I guess quick introduction.
2:01Um I used to be a chemist, but I realized I didn't like to work in laboratories because
2:08I'm a very extroverted person, so I needed some more like dynamic interactions in my life.
2:15That made me go into um a grad scheme which I found when I lived in London um in banking.
2:22And that actually got me into software development because I was working for real there.
2:28And once I was there, I
2:30Took some courses on Python data analysis and saw that data was like the currency of the future.
2:37And I said like if I don't wanna ever go into a situation which I had before when once I finished chemistry
2:44I saw that uh my career options were very limited.
2:47I said no, I'm gonna go do the opposite, open up my horizon, so I'm gonna go into data.
2:52Yeah
2:54Yeah, so that took me into well Tableau, which I eventually found.
3:00But ever since I've been doing like also like SQL and Python automating workflows wherever I could
3:07Um and since I left my last job, now I'm doing a new one where I'm working with DBT and Snowflake.
3:13Um our visualization tools are not Tableau anymore, which I
3:18Terribly miss.
3:19Um Okay, we'll talk about that.
3:21We'll talk about that.
3:21So f for full context, we we've been chatting a bit before this call and I think
3:25technology has been transpiring against us, right?
3:28Like for the last forty five minutes.
3:30So um yeah, we're all good.
3:32I've muted my phone, your computer's working.
3:34I think nothing else is gonna cause us any trouble.
3:36Um but yes, you were saying um chemist
3:40uh banking and then uh now you don't do work with tableau as much you're working a bit more with dbt and what is your visualization sort of uh choice by the way at the moment then
3:52Choice.
3:52Not your choice.
3:53My choice is tabloid.
3:55And I've been very vocal about that.
3:57Your tool of choice is tablow.
3:58Fine.
3:59But what what do you what do you have to use then?
4:01So we've been using uh Periscope for a bit
4:04It's like size and which is okay.
4:07Like yeah, it's okay.
4:09Yeah.
4:09But now we're we're actually migrating into Sigma.
4:12So I'm a bit new with that.
4:14Oh interesting.
4:15Um I just did a video with Katrina Menet on that.
4:18Um literally
4:19Two weeks ago.
4:20So we went through Sigma versus Tableau.
4:22Um so definitely check her out because she wrote the book on so it's a phrase I hear all the time from my colleagues, but she actually wrote a book about Sigma
4:30Um so she she did a great session about the difference in between Sigma and Tableau.
4:35We spent about two hours talking about it.
4:37So that I'm just I'm pitching that episode because I think if you're just about to move to Sigma, that'll be great context.
4:43But I actually think
4:44That's good because I think it does bring you closer to something a bit more modern.
4:48It sounds like Peris Periscope wasn't as modern if that makes sense.
4:51No.
4:54No.
4:55So no, no.
4:57Okay, fine, fine.
4:58So then um let's go back to let's go back to um you know the tools that you're using today.
5:06You mentioned DBT Snowflake and then Periscope for visualization.
5:10Are those the only things you're using?
5:12Uh Python and R are those sort of part of your sort of tool set or maybe those just personal skills?
5:17Because of how my my current team is structured, so I'm more like the senior finance uh
5:22data analyst side so I'm just basically doing everything from like getting the stakeholders requirements and then seeing the data that we have but all the ETLs EOTs actually now um
5:34And data pipelines and data jobs automation are done by the engineers.
5:39So they are the ones that actually look after that part.
5:43Okay, this is a really interesting team structure as well because the engineers suggest that you have like a centralized data engineering capability and then you have a separate, maybe uh distributed
5:56analysis setup.
5:57So you have centralized data engineers but distributed like visualization and analysts within the different teams.
6:04Is that
6:05Am I reading too much into that or is that uh can you even share?
6:08I know sometimes if you work in finance you can't even share these things.
6:11So d don't reveal anything you can't, but yeah.
6:13When I worked in finance there was more than we couldn't share than we could.
6:19So it was very reconstructing.
6:21We'll keep it at that.
6:22Um at the moment I don't really know how much I can share because it's a new team for two.
6:28That's fine, fine, fine, fine.
6:30No worries.
6:30But yeah, no, for everyone's context, I think
6:33It's really important to like, you know, if you've only ever worked with Tableau, you've likely worked in either a centralized team that delivers Tableau assets to the whole organization.
6:43Or you've worked in decentralized teams where you have an individual within a business unit who delivers work for that business unit and then multiple people like that spread across the business.
6:54Those tend to be the two models, but in more recent times with data engineers and people who work on the warehouse, you get this sort of slightly different model where you have some parts centralized and some parts decentralized.
7:07And it's with a view to to try and help an organization, you know, you know, have this I hate this term so much, single version of the truth
7:15Uh the the the thing I hate about that phrase is it assumes that everyone sees things the same way.
7:24If we all had the same pairs of
7:25If you had the same pair of glasses and eyes, yes of course single version of the truth works, but that's just not the reality.
7:31So anyway, I digress, I'm I'm taking up your air time, um sort of back back to you here now.
7:36So
7:37Okay, you're working for a team, you're building these tools, you're on your way to Sigma.
7:42I think it would be good then to sort of go back to the tool that you have built and sort of ask you a bit more about
7:49Like what led you to want to build it um as a context.
7:52Then we'll talk more a bit about sort of what it is and how it works.
7:55Sure.
7:56So basically um maybe like three years back I was working with this woman that I admire so much and
8:03I think she's one of the fastest and most like smartest minds I've seen in my life.
8:09And so she was a product manager.
8:11We were trying to monitor the success of an internal program we were running.
8:15And the way that she told me, Anna, this is everything you have to monitor.
8:19I was like, okay, fine, let me see, we've got the data.
8:22Uh okay, we've got X and Y data sources.
8:25I'll just like
8:25Mix them up, join them here and there, blah blah blah, then okay, this is the dashboard that we're gonna build uh according to like the metrics you want and the metrics that I think should be there.
8:35Perfect
8:35Like MVP done.
8:38And then three months down the line, Anna.
8:41We have actually included new functionalities now and this and that and what what was
8:45measured before should actually now be measured in in this and this and this way and then now we should integrate this and then if there's a sheep down the mountain and the sheep's
8:54farmer's name is John, then we should also integrate an LOD into the calculation.
9:01Okay
9:01Let's do this and see.
9:02That's a lot of logic.
9:03Yeah.
9:04I was like, okay, fine, let me go through all the compilations I had created because some impacted others.
9:09And then there was a new definition of like one of the first ones that was an LOD that then was impacting others.
9:15So I said, okay, I'm gonna get um I opened up Tableau and I got um, you know, like the snipping tool and I did screenshots of all my calculations and then I pasted them all in like a VCO diagram
9:27So that I could then start creating arrows and then I started color-coding everything, adding like borders, and then some icons, because sometimes we're measuring things um fixed to the user
9:40or fixed to the product or fixed to a segment and there were so many things going on at the same time that it just like exploded and then a couple months down the line they were like an
9:53There's another functionality that we need to know like oh see you you're like you're kidding me so I said like okay I can go again
10:02and take screenshots of everything and then update everything again.
10:05But this is going to get out of hand if we're gonna continue doing like agile development.
10:12Yeah.
10:13So then I said like there should be an easier way.
10:15And I was uh thinking, you know how like basically everything we have in a computer, a file, is
10:21Like it's basically metadata that a program or a software is going to interpret in such a way.
10:27So I said like the calculations that I'm doing must be there somewhere
10:32So that led me to my first blog post on my on my blog, which is if you had a um package the workbook and you unzip it
10:40Then you're gonna get the TWB file, which you can read as an XML file, and then you're gonna have all the metadata.
10:48So I started like scraping the XML, parsing it
10:52Um getting all the conflicted fields and then I extracted them into a PDF, well into a data frame in Python, which then I also printed out into an
11:01Excel and then into a PDF and I said okay now all my documentation is here done so I have all my formulas in one place and then I could also run this
11:10and keep it as backups.
11:12So if I ever wanted to go into any place in the like in the uh sorry in in the past
11:18But see, like why was I measuring this in such a way?
11:20Because the other thing I usually do is I add comments onto my formulas because sometimes
11:25And okay, the very smart woman is called Alice.
11:29So I'm also gonna share this video with her, but I'll like I would say Alice, why do we want this?
11:32Oh yeah, we have to include this because X and Y and Z and okay, okay no worries, that is my comment
11:38So everything got like extracted into A PDF.
11:41And that was golden.
11:43Right.
11:44Down the line, I I was talking to someone who did a more tableau on the like on the
11:50the Tableau server side and they said well you know there is and there's a metadata API and also a Tableau document API which will already get you all the formulas
12:01So I changed my code.
12:03So instead of me parsing the XML, I would just like reuse the functions from the tablet document API.
12:09But basically the functionality was still the same.
12:11Just get in the fields, uh putting them all into like a table structure, they different structure
12:16Yeah.
12:17But then that didn't give me the visual um like end-to-end or the map of all the formulas and how they fed into each other, which I had been doing by like copy-pasting
12:28and doing arrows.
12:30So I remember that once someone at one of my previous roles they were using mermaid diagrams to create such workflows.
12:37So I was like what if we just like
12:40All the information that we have, we just need to analyze and see which calculation is a parent of which.
12:45And then we can just like I don't know create a bit more code which is going to analyze this and then dump it into a mermid diagram
12:53That is your lineage diagram.
12:55And yeah, that is what I added as the latest iteration of my code.
13:01That's what we are discussing now.
13:04Amazing, amazing.
13:05So much, so much detail there.
13:07Um I'm gonna go back and right from the beginning, like little bits that you said, and I'm gonna try and make sure that everyone sort of understands them.
13:14So Microsoft Visio
13:16I think is the tool you're talking about.
13:17That's like a diagram and flowcharting tool, right?
13:19Yeah.
13:20And I think Visio doesn't come with Office 365 for anyone who's looking at their computer and going, where's Microsoft Video?
13:26It doesn't come with Office 365
13:28if you're just, you know, on your personal machine, but it does tend to come with the business plan for Microsoft 365, I think.
13:36And therefore people tend to have it in their work machines
13:40um installed and so it's a really good tool not just for flow diagrams but I think it does entity relationship diagrams as well really well and it it lets you do all these sort of data and infrastructure
13:50capabilities but something like draw IO or I use this scaly draw as an example could do the same thing.
13:57I think Vizio is just a little bit more professional and it has all this stuff sort of laid up nicely which is kind of good
14:03To be fair, you can do it on PowerPoint also, or even on page.
14:07Exactly, exactly.
14:08Just open up PowerPoint and copy and paste.
14:10You dare I say you could do it in Microsoft Pain.
14:14It just won't look as good.
14:19You can try.
14:21No, absolutely.
14:22And then the the other thing is um the API.
14:25So yes, there's there's there's actually two APIs you mentioned, but I think you meant um
14:30The document API is the main one because the document API looks at the workbook, right?
14:34And the XML of the workbook.
14:35And that's supported by Tableau.
14:37It's actually designed by Tableau to help you get into the workbook and extract the XML
14:42But when you go to the server, specifically Tableau Server or Tableau Cloud, the metadata API allows you to query what's on the server.
14:51So in that instance, you can say, hey
14:54Go to this workbook and show me all the upstream and downstream metadata related to it.
14:59So that could be connections, it could be
15:02calculations downstream.
15:03It could even be show me everyone who has a data source that's been created based on this data source and show me all their emails.
15:11It's sort of really really complicated.
15:13So it's it's interesting as you talk through your sort of journey of discovery because you were essentially kind of talking your way through the Tableau platform in lots of different ways.
15:22And I think it's it's really
15:24Not many people know about all these sort of what I would say corners of Tableau, right?
15:28So document API, not many people have come across that.
15:31Your little trick of uh right-click, unzipping the workbook and then getting the data folder, the TWB.
15:37and all the other stuff.
15:38That is some stuff that I think everyone should just try and do because it might open your eyes to the way Tableau works.
15:44And you can do it with Tableau Prep as well.
15:46Tableau Prep Package Flow does exactly the same thing
15:49So it's just XML, you've got your data, and you can you can essentially pick it apart and for that you could I'm sure someone has done this.
15:56I think Jared Jared Flores has built a tool
16:00that turns a prep flow into SQL for you, which is kind of powerful, using the same sort of logic.
16:05So it's really, really mind blowing.
16:07I'm I keep meaning to ping him and say, hey Jared, come and talk to me
16:11me about this if Jared if you're watching this and I haven't pinged you yet I can get in touch so yes um so much you covered that I th thank you so for so much for going into it in detail
16:22Um I think I think it's before I before I sort of retalk about it a bit more, I noticed you said that you work a bit with DBT.
16:31Did that inspire any of this in in in somewhere?
16:34Is there something in DBT that you're like, oh I really like that and I wanted to bring it into the sort of the world of Tableau?
16:39Or actually, is this completely separate?
16:42If that makes sense.
16:43Like they are sort of like twin brothers.
16:46Have you watched that film with Lindsay Lohan in which they were twins and they didn't know because they were separated before and then they found each other
16:53So I hadn't ever worked with D V T until this year, so like when I coded for this I didn't even exit knew uh
17:03Makes sense.
17:04But now like this year that working with DVT it does have the lineage.
17:08So like when you're creating the models, it will tell you like the lineage of oh this model is getting this data from the source
17:13and this and this intermediate model and so on and it's super useful um again from what we were discussing uh previous to like starting to record but like if you want to debug one part of the code instead of like
17:25Like like you can break your code into smaller chunks that are more easy to manage and then you can like see the flow and then if something breaks down the line then you already know like
17:36which part you can isolate and test again and yeah.
17:40Yeah.
17:41Yeah, yeah, exactly.
17:42And I I think it's it's fantastic that you were uh building this.
17:46I should have picked up on that context because you
17:48You did message me a while back about about this project and I know I know I know the project hasn't taken that amount of time.
17:53It's more that it's more that you've sort of done it in bits uh throughout your journey.
17:57And so
17:58It's fascinating that you've you you kind of started down this route and then you started working with something at a different end of the pipeline, you know, the very beginning of the data sources that kind of does this.
18:09Is there any part of you that wishes um you could bring some of what you've done more easily into the Tableau platform and vice versa?
18:19For example
18:20You've got your lineage tool, you're able to sort of break out this um this let's say merbaid diagram, which we'll see in a second.
18:28Is there any part of you that wishes, ah, I want to be able to click on that field, click on that field, and now do something with it if that makes sense.
18:34sense and have that change go back to the workbook.
18:38Yeah completely.
18:39Like I don't know if I can show the diagram now because then maybe it'll be more visual.
18:45But so it'll break the context
18:47Fine, let's let's let let let's let you show the tool because I think I'm spoiling it by to jumping ahead here.
18:53So um yeah, let me let me give you the floor.
18:55Let let me let you sort of start screen sharing and show us what it does and then
18:59We'll put the we'll put a PIN in that question, we'll come back to it.
19:03Good.
19:04So yeah, over to you.
19:05I think you're screen sharing already, so we can we can just focus on that.
19:08Thank you.
19:09So um the way I can start showing you this, maybe let me just make this bigger, is that I'm working with a very, very, very simple um workbook that I created for
19:21This purpose and this is going to read from an airline CSV.
19:26I just got any random data source to be fair because I wanted to create a couple of calculated fields
19:33that don't really mean much from the business perspective, but I just wanted to like create them so we can follow the lineage.
19:40So see some context, yeah.
19:42Yeah.
19:43Imagine for example that we have, I don't know, like an airport name
19:46And from that airport name, so if I'm like adding the airport name here, you'll see that that airport name actually has
19:55A concatenated Atlanta GA so like the city and the city code and then the actual airport name
20:02So I said, what if I can just get the airport city out of that?
20:06So how am I going to get that?
20:07I'm just going to create a calculated field, which is going to be a split the airport name and get the second bit
20:14Yeah.
20:15Um and then I did the same for the state.
20:17So once I already had the city, the city was still coming with the code also, so I did the same and then I split it again and got the second
20:25bid so now we have the state as a code and so then I said okay now I'm gonna do something that doesn't really mean anything but let's concatenate the year because we have a year um
20:37the time of year and then let's just concatenate that against the uh state.
20:42So we have the concat year and this is basically again
20:46a concatenator of the time year plus the state where I'm defining the time year as a string because otherwise it wouldn't let us do that because it's like an integer
20:56So now imagining that this weren't a such a simple workbook, but it was like a more complicated one and we at some point lost track of what is feeding into what
21:07I wanted to be able to follow all my calculations, the ones I've been just like referring to, but in a more visual way.
21:15So what we were talking before is that I created this code that
21:19To be fair, the first thing it would do, and that was the original way uh this was created, was that it would list
21:27all my field names that were coming from my default uh data source in this case the airlines data source and this is where the Tableau document API comes uh into play
21:37And then it would just tell me okay what's the data type, um, is it a default field?
21:42What's the actual real field ID that we don't necessarily see because that's more in the back end.
21:48Yeah.
21:48And then you do need that when you're in Tableau Server.
21:51Sorry?
21:52Right.
21:52You do need the actual calculation name field when you're doing things with filters in Tableau Server.
21:59So that's really useful to have
22:01Well, you also need it.
22:02I didn't know that, but you also need it because like any calculation you create is gonna be assigned a name like calculation one one blah blah blah blah blah
22:10But when you look at the XML, any calculation is going to include the real names, like the field IDs.
22:17So what I have to do is like then ru go around the actual calculations and then swap them for the more like user-friendly name.
22:24Yes, exactly.
22:25Yeah.
22:26Yeah.
22:26But then that's exactly what we have now here.
22:28So for example, what I was showing you before, like the um Conca Year City.
22:33So if we click on edit and then we see okay that's the formula.
22:37And now we have it also here.
22:38So concern year city is just the string of the time year plus the state.
22:42Nice.
22:42Um so now we basically have everything in one go.
22:45And I just realized now that we're talking that
22:48This workbook that I opened is not the same as the one that created that PDF because that workbook actually like the PDF has a comment.
22:55But that's the nice thing about like the code.
22:58You can add any comment
23:00um where you want to like add some notes for your business logic or anything and that is also going to get outputted into put into the into the diagram
23:09Sorry, into the PDF.
23:10But as the PDF stands, it wouldn't necessarily give me the lineage.
23:15So from here I would have to say okay wait Conquered Year City.
23:19Um
23:20Sorry, yeah, it's getting the state, but what's what is the state getting?
23:23Oh, it's gonna get the airport city, but the airport city is getting the airport name.
23:26Ah, alas, finally that's like a default field
23:30So instead of going backwards like that, I said like why can't we just have a simple way to see this, which is basically this.
23:37So
23:39My mermic diagram or the lineage diagram is going to color anything that is in pink.
23:44It's going to be a default field that comes from your data source, any of the ones that you're using.
23:49Uh see yes, okay, yeah, yeah, yeah.
23:52Everything else is just like a calculated field, so like here we see as we were seeing before that Conca Year City is using state
24:00So now we can also see that state is being used, but state was already getting the city, which was actually depending on the airport name
24:08So maybe an assuming that you want to refresh your data uh a month from now and then you see that everything that has concrete year city is failing, every dashboard or every sheet
24:20then that can already give you an indication that it might be that within your data source either the time year uh field has been corrupted or it could also be the airport name.
24:29So that also in a way that you know any errors and help you debug or
24:34diagnose anything that has gone wrong on your data source.
24:40Yeah.
24:41It's it's super powerful because um you know while you while you're talking I was also thinking like
24:46Uh we'll come onto the way this works in a second, but this is this is so useful if you've got um sometimes uh people are working with a large number of workbooks.
24:55You could be doing a migration, let's say, from Tableau server to Tableau Cloud
24:59And in the process of doing that, you're trying to rationalize your data sources so that you can, for example, build all the uh data sources really well in Snowflake, right?
25:08As a as a very simple example.
25:10So what you might do is you might grab fifty workbooks all at once.
25:14uh that are using a specific uh data source and then you want to see the field and just being able to see okay look um this field on that on on that data source is coming natively from that allows you to look at this diagram and say okay we need to make
25:28Make sure those are at the very minimum already there.
25:31And then you can sort of build up your intelligence from there.
25:34And it's a really quick way of doing that, especially not just for one workbook, but you can run this on multiple workbooks.
25:41uh fairly quickly and it's it's it's a really I think it's a good way of approaching the problem and it's um it's a no-frills it's it doesn't need any sort of fancy lineage capability from Tableau right like
25:52You've just you've just built something straightforward, uh, does a job and it's gonna answer 90% of the things you want it to answer because you build workbooks and so you've built it in a way that answers the questions you need to answer, which is perfect
26:05So yeah.
26:06Thank you.
26:07Yeah, and so I wanted to come back to the question that we pinned uh a while ago.
26:11Yes.
26:12Because you said like is there anything that you'd like Tableau to also have or that they could build within
26:19their products so for me like at the moment and I fully understand that of course like everyone who creates a tableau must like be already working in a lot of things but
26:30At the moment you all every time you want to create a calculation, yeah, you can go there and create like edit or create and I know that for example
26:38one like little trick is that you can just drag and drop um your fields and then it'll help you create something or you can duplicate and done
26:47But if we had the capability of having something like that looks as visual and that you can just click here on the right click and edit and then
26:56You're always gonna have your lineage and what if like even you could have a tooltip that shows you like the the actual formula because right now on the concert ESCT like we know the dependencies in terms of fields
27:09But we are not seeing the formula like per se.
27:13You're not seeing the detail, yeah, yeah.
27:15Like the way for me to see the formula is I also need my PDF and then here I can check and say, oh okay, yeah, it's got like a string
27:22But like just the diagram won't tell me like the whole picture.
27:26Like what if I want to know if any of these things has an LOD?
27:29What if I wanted to know if they have a fixed rather than an include?
27:33Um I wanted things to come in a different color or just like you know like we are going into the uh well we're already
27:4121st century.
27:42Twenty first century.
27:43Yeah.
27:44We have like but I mean it's like technology is ever advancing.
27:47Uh we get to a point in which we can just like draft rope and
27:52Instead of the normal UI we can do things in a in a quicker way, then why not?
27:57So I'm I'm sitting here with baited breath about to tell you that you're gonna love Sigma
28:03for this very reason.
28:04Because it it has this.
28:06It has this right out of the gate.
28:08And it doesn't just have it for calculations.
28:10It has it
28:12for everything.
28:13So it has it for filters.
28:14So for example, you'd see a filter in here and you'd see all the different sheets that it affects.
28:20Uh you'd see sheets in here, you'd see calculations in here, you could see literally everything that you're building inside of Figma in this in this layer.
28:28And it's just
28:29It's part of it's just native.
28:30You just get it out of the box.
28:32Everything you're doing has this in the background.
28:34So um when you get to start to use Sigma more, you're gonna you're gonna absolutely love this.
28:39And you're absolutely right.
28:40Tableau should give you this view.
28:42It's a
28:43it's a much richer perspective.
28:44It's almost I almost think like this is this is exactly what Tableau Prep is in a way, right?
28:49Like imagine if Tableau Prep hadn't been a separate
28:52Altrix like product which was you know doing flows a and everything and actually it was also about data modeling and allowed you to see
29:01a little bit of what you see in the Connect window in Tableau today paired with a little bit more detail from lineage that you get in Tableau Cloud and Tableau Server.
29:11So bringing all these things in different places into one place
29:15Dare I say it, Tableau might do this with Tableau Einstein, but they probably went to it with the legacy Tableau, so um it'd be interesting to see where Tableau goes with that thought.
29:24But I couldn't agree with you more
29:26A modern analytics tool, BI tool, should give you much richer ways to have observability anywhere in the product.
29:35whether it's the data source, the worksheet, or um back in Tableau server or even wherever you you know wherever you do your work as Tableau and Salesforce like to say.
29:45Yeah, yeah.
29:46So yeah absolutely 100% 100%
29:49So that that is um pretty I think that's really powerful.
29:53Um sh uh do you have a really messy mermaid diagram you can show us?
29:57Because I think
29:58The thing that people always critique Tableau with is like, oh, no data source looks like this.
30:03This is very simple.
30:04This is very neat.
30:05Like
30:06Show us something really messy and then yeah, exactly.
30:11Let's start with mine first.
30:12This is actually a funny conversation we had before because um for for everyone who's watching uh context
30:19You know, An Anna went and got some workbooks from my Tableau Public Profile, right?
30:24So um you went and got one of the visitor days I had from I don't know way back when.
30:28What year was this even when did I?
30:31Oh my word.
30:35Oh well 2016, way back when um Donald Trump was running for the election for the first time, can you believe it?
30:42Um to become president.
30:44So nearly
30:45We are we are talking yeah, nearly a well, nearly a decade, about eight eight years ago, which is which is crazy.
30:54And um you pulled this workbook and you run it through the metadata and what did you find um the i in the workbook?
31:03My computer actually crashed
31:05Because it couldn't handle this ridiculous physical day.
31:14Yeah, it seems like Yeah.
31:17I we So
31:19The actual populations if you like No, yeah, it's funny, you know.
31:28I can just say up front, whatever whatever awful things we find in here, this was me from eight years ago.
31:34I didn't even have a YouTube channel.
31:36It's okay.
31:36I was still learning.
31:38No worries.
31:39You have to go.
31:40Here we go.
31:41You have the two calculated fields.
31:44Well there was an extra competition.
31:46Nested windows and lookups.
31:47Yeah, yeah.
31:48It didn't appear on my diagram, basically the number one.
31:51Interesting.
31:52But that number one won't appear.
31:54Oh that's
31:55That is a trick, I think.
31:57No, number of records integer calculated field one.
32:02Oh no, number of records is the data source that Tableau creates.
32:05Sorry, it's the column that
32:07I forgot this for a second because it doesn't do this in the data model, but back then, number of records is a field, Tableau Creates with the number one so that um
32:18uh you can count the number of rows but when you open it in today's tableau it creates this as a calculated field if that makes sense
32:27So it doesn't exist.
32:29If you back in the day when you created, you see if you on the left here, there is no number of records anywhere in this new sort of tableau.
32:37They they got rid of it.
32:39But
32:40Back in the day there used to be a number of records item like measure values and measure books.
32:45So what happens is if you open a workbook from back then
32:50Correct, correct.
32:51So if you open a workbook from back in the day, it creates the calculated field number of records.
32:57But if you start a brand new workbook today, it actually just has the count.
33:01So yeah.
33:03Yeah.
33:03Okay.
33:04So good good insight.
33:06Boom.
33:07Cool.
33:08So well yeah, I s I guess that as as we see, um your two calculations they they depend on the two other um
33:15Uh little fields.
33:17And that was pretty much.
33:18Very simple.
33:19Very simple.
33:20They're very nice.
33:21Like the visuals are very nice.
33:25Yeah, I think the thing I was playing with here, if you hover over one of the bars, the thing I was playing it with here is the interaction.
33:33So when you hover over the top one, do you see how it follows the chart, the bottom?
33:38And as you s as you move your mouse across, the line follows the chart.
33:43And so the way I did this was I used an action
33:47to the second sheet.
33:49And when you don't hover over a data source, it uses the min and the max, which are just on the very edge of the chart.
33:57So you don't see them.
33:58Does that make sense?
33:59Yeah.
33:59And then as soon as you hover on something above
34:02The min and max are going to match the exact thing you're looking at, and so it ends up highlighting the chart below at the exact same point with a line for the min and max, which then draws this line vertically.
34:16So when I discovered that I was like, oh my god, this is incredible.
34:19Like How do you remember so well how this works though?
34:24Because sometimes I do build or I like would use a brick and
34:28Then I don't fully remember like his as fast as you do.
34:34Um I think it's because I spent
34:37I remember I I just remember, you know one of these things in Tableau sometimes when you learn something for the first time and you learn a trick.
34:44But the trick is so simple, you can't believe you've never you've never come across it before
34:50And I came across this by mistake because I was trying to do something else.
34:54And I just realized, oh, this trick only works if you fix the axis.
35:00basically because if you didn't fix the axis then the min and max would always show up on the chart if that makes sense.
35:07So you see how it starts on the first of April
35:10If you were to go on the data set and you look at the actual workbook, it would show you that I fixed the start date to the 1st of April
35:18If I fixed it on, let's say, the 30th of March, you would see the reference line hiding just off off the thing.
35:26And so I fixed it and I was like
35:29Oh my god, this does exactly what what we want it to do.
35:32And then here we are.
35:34So I should maybe do a video on this now and I I bet you like
35:39I bet you probably do quite well.
35:42But you know, once you figure these things out, I'm sure you know this.
35:44You just move on on to the next problem, right?
35:47I know, I know, I know the feeling, yeah, definitely.
35:50Yeah.
35:50But anyway, I have simple workbooks, very simple calculations.
35:54I think this calculation if I try and describe it, ZN so if I do this backward, I'm gonna try and see if I actually know what this calculation is doing.
36:04Uh so what this calculation is actually doing, it's a moving average looking back five days
36:13And it's comparing against for each candidate, basically, it's comparing
36:22the w the moving average of whatever I'm tracking.
36:25So this is um I think it's approvals and it's showing how much it's like shifting.
36:29I'm not so sure about the percentages.
36:31The percentage look really wrong to me.
36:33Like zero point one percent.
36:34I have I have filtered for just the state for two states now.
36:39Oh, I see, I see, I see, I see.
36:42Okay, good.
36:43Right.
36:44Makes way more sense.
36:45Oh no, it's still it's still still really funny percentages.
36:48I think they're off by about maybe
36:52I think they're off by about exactly a hundred uh a hundred X.
36:57Does that make sense?
36:58So I think it's missing two zeros.
37:00I think it should say thirty percent, twenty percent, ten percent.
37:03Does that make sense?
37:06I think something's gone wrong with that.
37:07And because you see the bottom, you see the 40, 42, 44.
37:11Yeah.
37:11And what you're seeing is the delta.
37:13So the deltas make more sense if they're in the like 10 to 20% range
37:18So, yeah.
37:19Because the delta should match roughly the gaps between the thing.
37:23Anyway, I get I digress.
37:24Moving averages, that's all they do.
37:27I have very simple calculations
37:29So it's not great for your tool because I I only have two calculations.
37:36You were the one who selected this.
37:38This work
37:40I remember I I selected it because I thought it was fun and then I realized I there are literally no calculation.
37:46Look how many parameters I've got and look look look at how they're all like um
37:50They're set so this this is exactly um a judge's Mexican heritage.
37:56Oh these are the book these are the um These are the lines that you have here
38:00These are the lines, reference lines, yes, I've just baked them in as parameters so they're always there.
38:06That's ridiculous.
38:09Should have added them to the data source rather than do that, but anyway
38:13So two calculations, not that useful.
38:17At least for what you're at least for what you're doing.
38:20But we do have one
38:22Maybe let's go for an intermediate one.
38:24Um Yes, let's go for a year something more complex.
38:27Who whose workbook is this?
38:28I wanna say this is
38:30an Andy workbook but Andy Kreble, yeah probably makes sense.
38:34But maybe it isn't and I'm given the wrong credit because I know I
38:40Actually, if you just let me uh credit card complaints dashboard.
38:44So what if we just like find it?
38:47You can just type it in.
38:48The search works nowadays.
38:51Hopefully it'll just have a couple.
38:54Huh.
38:55Oh!
38:56No, it has tons because they're all part of a makeover Monday or something.
39:05It's just that right now, oof, I would have to find it It's someone who's creating very very nice dashboards.
39:13So what if you uh recently published
39:18Well recently published will just show you like um I think you want to sort by m um view count because um re s well if
39:26Cause that will probably show you which one of these Oh, interesting.
39:31Oh that search is now awful because you see it's showing you the COVID dashboard as a as like and that's not even part of the search.
39:39I think the search is brand
39:40So how about like I know So it has to be relevant.
39:44It's it's someone who's been creating very like nice colored
39:49I just like the dashboards that they were creating, but like off the top of my head I can't remember the name and We'll find out, we'll find out.
39:58It's either like
39:59There's like three or four people it could be, right?
40:02So um it could be Ellen Blackburn potentially.
40:05Um builds lots of very It is a guy.
40:08That's a guy, okay.
40:09So is it um
40:10Oh gosh.
40:13Now where I'm really bad with names.
40:16Um it's bad because I've interviewed them as well already.
40:19Um they they built some templates
40:22I will find out and I will come back to this video and I'll add it in as like a thing.
40:27Let me know if you find out who it is.
40:29We'll add it in after the fact.
40:30But that's definitely.
40:31So they've they've got a much more complicated workbook here
40:36Sorry, I'm gonna Yeah.
40:38Um which you can see from here.
40:43So in this case they're using one, two, three, four, five, mainly five.
40:49Um
40:50default fields and then I'm gonna guess that these P week numbers sold at cost response might be parameters
40:59that they're using afterwards because these ones are not depending on any calculated field.
41:05But this is something I wanted to also do on my next iteration
41:10So for example, any parameter can come up in a different color.
41:15At the moment, I haven't added it yet, but what you can always do is
41:21I'll just quickly show you how my um code.
41:24Yeah, how it works, yeah.
41:26Yeah, so just before we go on how it works, I'll just show you on Jupyter uh notebook how
41:32It will output just like the syntax that you need for the mermaid for the mermaid diamond.
41:39Oh, I see
41:40And then you can copy paste that and go into mermaidchart.
41:45com which is an online editor.
41:49And this is why I left it as such, because then you could just like bring it over here
41:54And then what you can do style it, format it.
41:57Yeah, and I guess we can also do it from here if I just go into the view page source
42:02Like from here I can just grab the whole flow chart.
42:04It's also there, yeah.
42:06Yeah.
42:06And then I'll just copy paste it.
42:08Oh it's the HTML chart.
42:10I see, I see.
42:12So it's like a JSON array of information and there you go, that's your
42:16Exactly.
42:17That's really cool.
42:18And so Is it possible to uh is it possible to create a link that does this?
42:23Like so
42:24Ye you I guess you're kind of already doing it in the web page, so I've just answered my own question, so never mind.
42:29What do you mean as a link?
42:31Oh define.
42:32So you know how
42:34Yeah, so this website's pretty cool, right?
42:36It's like it's basically the thing.
42:38So what I'm s wondering is your tool exports the HTML file, right?
42:45the the the saves it.
42:46But what I'm wondering is what if your tool also created a link that went to this and just put in this specific
42:53thing so you could either see it locally, which is great for businesses who want to keep everything secure, or if you wanted to share it, you had the option of getting the link and then being able to put in an email and send it off.
43:04Because this is this is basically
43:06I could copy that syntax and put it in here and it would work.
43:09So I'm wondering if this tool allows you to build a special link using that information to kind of
43:14um put it all in here.
43:16Anyway, we digress.
43:16We get to do that.
43:17No worries.
43:18So I at the moment I wouldn't know how because I guess you would need an API to this mermaidchar.
43:23com.
43:24To this tool.
43:25Yeah, or something like that.
43:26If you have a free account like I do.
43:29It's only gonna let you do five uh diagrams.
43:32You can't save anymore.
43:33Oh five diagrams, okay.
43:35I see, I see.
43:36So it's not unlimited because that's I guess there's an API call.
43:38as well.
43:39No, they do that makes sense.
43:41But coming back to what I was saying before, so for example, let's assume that P month and P year are actual parameters
43:49So the cool thing about this editor and I mean you can also okay wait I need to get rid of how did I get rid of okay
43:56I need to click here and then from the colours I could decide okay all the parameters are now going to be painted in yellow
44:05And then that's gonna do that for me, or you can also like change colors of lines if you wanted to like the lines and stuff
44:14Show something differently.
44:15And I guess this is more like on the format side.
44:17This is not like a deal breaker or like for MVP levels, so like minimum viable product what I've done
44:24It's already giving you the lineage, but if you want to prettify it, you can do that here.
44:28Um the reason why my code is only spitting the the default fields as pink is because I already added that.
44:36Um
44:37on the on the definition so I define a little class called foo and anything that is foo which is gonna be a default field is gonna have the stroke with that colors
44:47So you can easily I can easily also do the same for parameters.
44:51If I know anything is a parameter, I can give it a different class with a different color.
44:55But that is for the next iteration.
44:57Or it can be done here.
44:58Yeah, exactly, exactly.
44:59This is where you take it.
45:00Out of interest, why foo?
45:02Is there a particular reason?
45:03Or is it just like if a name you came up with?
45:05I tried Tim the
45:08It didn't like it.
45:11I'll take that.
45:12I'll take that.
45:14I don't know.
45:14I guess it's like you know when you work with anything, uh they always have like John Doe or Jane Doe, so
45:22For classes they usually have foo.
45:25Yeah, fine.
45:26Yeah, perfect.
45:27Yeah.
45:28Makes sense.
45:28I was just curious if the you know sometimes uh people leave Easter egg in their code, right?
45:33So I'm wondering if that was that was some sort of like an Easter egg of some sort.
45:36sort.
45:37But anyway, no, it's uh it's good.
45:39I like it.
45:40Foo.
45:41Indeed.
45:42Right, yeah, so this is quite good because you could style this how you want, if that makes sense.
45:46Um someone's running your code.
45:47They could come in here and style it to match their brand colours or whatever and then suddenly now they've got you know, they can print out that HTML page as like a PDF and then they've got it like nicely laid out and they can add it to their documentation.
45:59They can take a screenshot, paste it wherever they need to.
46:02So it's really good.
46:03Like this this tool with the five uh diagram limit is still gonna let you export this as a PNG, S VG
46:10Um the text as merrimaid or yeah as you said and we said like we can always print it as a PDF but PNG would be also great
46:19Yeah.
46:20Yeah.
46:20SVG is my favorite file format for an image.
46:23Like at least diagrammed images because it's
46:27uh basically it's a vector f it's a vector um image type which means it's always sharp which is great if you're looking on like people have different laptops different different screens and
46:37I've also realized people have different levels of eyesight.
46:40So what is sharp to you might not be sharp to someone else.
46:43But with an SVG, everyone is generally seeing the same thing.
46:46It doesn't matter like what their vision's like, it's going to be crystal clear to that.
46:50That's good.
46:51Good job.
46:52Yeah.
46:53And just because we were already talking about like the complexities, um, this one is unagreeable.
47:01Hey, good old, good old Andy
47:03The calculation masterclass, the great workbook of what's it called?
47:06The great bookbook of table calcs.
47:09Um, yeah, god.
47:11And then this is the calculation lineage.
47:14So so the context of these books is probably we should give people some context.
47:19So these books are designed to be templates, right?
47:22For people to be able to go to use and
47:26uh copy you know what comes out of them.
47:28So I don't know if yeah, if you've got the um Andy's got so many visualizations it's probably not on the first page.
47:39Soying.
47:41It won't let me like the Chrome's pulled.
47:45It won't search the whole page because
47:47It only loads the it only loads as you go down.
47:50Dynamic loading, yeah.
47:51So you'd have to scroll for like however many visits he's got and then do the search.
47:57I know.
47:58Yes.
47:59Because he does make ever Mondays very, very frequently.
48:01You're not gonna find it.
48:02Yeah.
48:03I can ask him tomorrow because tomorrow I'm presenting at his um he's got like an online school.
48:09Perfect.
48:10So I'll ask him.
48:12Yes, yes, yes, yes.
48:13Yes.
48:16I wonder if you can also do like when you search where is
48:21the search and what was the name of this?
48:23Was it Author.
48:25Um oh yeah the Great Workbook of Tablecards.
48:30Would it come up?
48:31Like it didn't come up before so it should come up.
48:35Uh if yeah, it should come up.
48:37Oh calcs and
48:42Ah, there we go.
48:44There you go.
48:47Someone's copied it.
48:48Cliff Beiser's copied it.
48:50Indeed.
48:52And it'll be pleased with that.
48:55I'm gonna put it side to side.
48:56But yeah, this is the context that you were giving people.
48:59So this is already gonna have
49:02um formats for lots of different charts and one thing that my code would do before but I removed that uh functionality because I just didn't think it would add a lot of value but
49:14It would tell you the number of sheets and dashboards that you had in a workbook and also the name of all the sheets.
49:22But well, you can just see.
49:24Oh, nice.
49:25That adds a ton of value.
49:26I would ask for that feature.
49:28I would put it back in.
49:29And maybe I'll put it back in.
49:30Yes, because sometimes you open a workbook and you're like sheet number 253.
49:35And you're like, why are there 253 sheets?
49:38And then you realize, oh, okay, this is like doing some Wizaroo where like one dashboard has like fifty sheets and it's
49:46swapping them in and out and it's hiding them and stuff like that.
49:50So makes that I I think it's useful for that reason.
49:53But yes, they're all going to be called sheet 253 sheet
49:56People are bad with naming their sheets, so you wouldn't get as much value out of it.
50:01I think you're right to say that because you just see a bunch of sheet names.
50:05But if people name their sheets accordingly, then actually it would be quite useful.
50:09You would be surprised by the the names I've also seen for the calculations.
50:13So they look calc one, calc one.
50:16Calc one copy calc one copy copy copy.
50:21It's like that
50:23But yeah, so basically for example Final click calculant final final real final yeah but I guess this is
50:38This is the very, very big um amount of calculations that Andy did for that whole workbook.
50:45It's massive, I must say it's like definitely the biggest uh my code has tackled, but to give a bit more credit to the code, it did it like in under what 30 seconds
50:57So taking into account that my computer is fully rusted.
51:01And it's it's doing all this on device, right?
51:03So your code runs on a lap.
51:04It doesn't need any fancy cloud access like Tableau needs these days to do this, which is really, really good.
51:10So
51:11Yeah.
51:12It doesn't and so if you at any point go I'll share this with you so you can all this but what I did on the GitHub because at the moment I just like
51:25Share this code if anyone wants to use it they can download it from my repo uh locally and then on the readme you'll find all the stuff that they need to install.
51:34So now you can also see in like real time how how
51:40But um yeah, so here it includes a bit of like the limitations and considerations, like for example, and this is something we realized with Andy
51:48He wanted to run the code himself and then we realized oh actually it's only a Windows uh based code because it needs a Windows, I think, or a Microsoft API.
51:59Yeah, it's the Window32.
52:01com client library.
52:04So well he couldn't run it, so if you've got a mark then you already know you can't, but um if you don't then it'll tell you how to set up your directory.
52:14Because if you ever want to run the code, then you will have to create an inputs and an outputs folder and then outside of that like add the code on Mermaid
52:22uh sorry gosh on jupyter notebook or you can run the uh actual py py file because it's it has the same functionality
52:31So yeah, it everything is here, but how it looks like when you're gonna run it is that you open up Jupyter Notebook and then you need to make sure that you have installed uh extra libraries
52:42When you get an installation of Python, depending on the version that you have, pandas should already come installed.
52:49Varial versions, I think you would have to install them apart, like separately.
52:53You can do that with Conda.
52:56Or also like with running like a pip install command.
53:00You need the Tableau document API, definitely.
53:04And this last one on the Excel generator is just one
53:08Extra module that I wrote, which you can just download also from the GitHub.
53:14And then how the code looks like when we're gonna run it is that on the inputs, let's use a very cool um
53:22workbook that was created by Will Sutton and I really like the he added to this one so the books of mid mid I don't know how to pronounce Mitchar Biggar Mitchar Mitcar
53:36Oh, the means of Midgar, yeah.
53:39I have no idea what Midgar is.
53:40I think it's Midgar, I don't know.
53:42Is it a town?
53:43Is it a person?
53:45The moods of Midgar.
53:48I think it's um Final Fantasy character potentially.
53:52Okay.
53:54So the way that he created this is that if you click on any character, then bearing in mind the interactivity that didn't show because my computer can't load it
54:05But all the different bubbles are meant to change um positions and he's doing that with like some parameter actions
54:15I think um and then just like some calculations that he also created on top of that.
54:19So and this is for example one case, one use case of how I can use my code.
54:24It's like if I want to understand
54:26how a workbook was built and how the different culminations fit into each other because like I wanted to recreate this but for me to do it I would have to go and then start looking at the workbook and see okay this
54:38calculation is fitting from what and how is this working and why does this look like that so I just missed something as well.
54:44Yeah.
54:45Sorry
54:47You'd miss something as well if you did it manually.
54:49You wouldn't get you wouldn't get the full picture immediately.
54:52It would take you a while, a lot of trial and error, to actually get to the final thing.
54:56So the way I would normally just do this is into the inputs folder I'd add the workbook I want to analyze and then I go into the Jupyter notebook and then I run everything
55:09It should take, depending on the mood of my computer, 10 seconds.
55:15Well it didn't take a second
55:17Which is great.
55:18And then it's going to open up um in this case open up the Excel.
55:21Oh opens it for you.
55:23Which then spits it as a PDF.
55:26It closes the Excel.
55:27It closes the PDF.
55:29But
55:29If we now go into the outputs folder, then we have the Mutzukmitgar calculations.
55:35And then it also creates an HTML file where the mermaid diagram is added to, and then it just
55:41opens up in the browser.
55:42So from here we can see that it's mainly the target order on the source default fields that Will was using to create different
55:50um calculations that then were impacting the X and the Y uh coordinates that were like then changing because
55:58character select i believe i think it was a parameter so this character select was also um influencing if he's
56:07It might not be completely clear now, but if you see there's this arrow from the character select going into X.
56:13Yeah.
56:13Um X, yeah.
56:14And there should be another one going into Yeah, exactly
56:18So it will like you if you select a different uh character, then it will also change the origins.
56:25And then that was also going to change the X and Y coordinates.
56:28So basically that's why we see.
56:30.
56:30Oops.
56:31Let's go to the other one.
56:33The propagated um yeah.
56:36Yeah, then once you select um anything here, that's I guess is a parameter action, which is changing the parameter value and then it's changing everything in the calculation.
56:45And then the X and Y's are changing um yeah coordinates and then everything is moving.
56:53And if we wanted to see That makes a ton of sense
56:57Now because I went through like all the steps and I was like okay I think this is doing this and this is doing that but well now if we want to see like what the actual calculations are this oops
57:08Sorry, especially for like the carter origin um that we saw in the diagram, like carter origin X and Y, they actually depend on the selection of that parameter.
57:18then for example character origin y will already have some hard-coded values for like where everything is gonna load every time you open that workbook
57:28And then depending on what you selected for that parameter, then everything else is going to change.
57:34Um, and then that's why all the bubbles keep moving.
57:38Yeah, good.
57:40It does make it very easy to you know get to the bottom of what's going on.
57:44And um again, even if you don't necessarily need this for yourself, it
57:49It's really good for documenting it for others.
57:51Like just imagine this is like a staple part of developers' workflow.
57:55If someone comes up in, you know, three months and says, hey, there's this calculation, it's broken, it's wrong.
58:00What is it doing?
58:02This just means you don't have to open the workbook, go find it, go download it.
58:06You know, you've just you could just keep all of these and just be able to reference them quickly as documents rather than having to open up your workbook
58:13to then open a calculation only to realise you forgot all the other nested calculations in it, you know, like it's just like a big big tail of um effort that you've sort of solved nicely here.
58:24So
58:24It's really good.
58:25Thank you.
58:26To be fair, I really like my coat.
58:28I think I'm biased because I made it.
58:31But I just like it is my baby and I I find it to be so useful and I
58:37Personally, I just want to share it like because you know like the open source community has like provided already so many tools.
58:43I just want people to use it and to know it exists
58:47Um some people have asked me if I'm selling it or why haven't I started selling it?
58:51And at the moment like I didn't do it for any like profit.
58:56I just did it because I really needed it for myself and then I realized this is actually a good thing.
59:01That could help others and I like helping others.
59:03So there we go.
59:05If I need to get anything out of this, I just like the recognition
59:09people to use it and uh yeah put put put your name on it or get Anna in to talk about it.
59:15Exactly and that's why we're here.
59:19Exactly, that's really good.
59:20I I like it.
59:21It's again I'll emphasize this again, it's a very straightforward tool
59:25It's really simple.
59:26Does exactly what it says in the tin.
59:28And to be honest with you, it doesn't need to do much more, right?
59:30Like yes, you've got iterations coming, but those are
59:33there's a finesse of the general idea, right?
59:36Um you're adding things to this rather than like building a whole new capability.
59:40And even if you do build something new, likelihood is it will be focused because, you know, you've gone a got you've gone about this in that in that way.
59:48So yeah.
59:49I was just quickly.
59:50That's been really cool.
59:51Thank you.
59:53The last bit I was gonna show you, which I don't know if I have it anymore, but okay, so never mind.
59:59No worries.
60:00I think we're done.
60:02Sorry.
60:03Because of um the the five the five chart limit, right?
60:06Um yeah no but what I was gonna say is uh when the first time I analyzed uh Will's diagram and it gave me this
60:13bit like if you if you get all that code so if you get the mermaid code and you put it into the diagram like the mermaid editor for free
60:22then you can also get some of the lines to adjust more nicely or just like you can get it to look more even a bit more professional than this so it's easier to read
60:34Yeah, that makes sense.
60:35That's actually quite a good tip if someone then decides to take this into something more serious.
60:40Um rather than spending a ton of time formatting, yeah, you could you could go and just do it in that in that tool and it's applied already
60:47Yeah.
60:48Yeah, good.
60:50Well, this has been uh pretty incredible.
60:53Um I like it.
60:54Um
60:54I wish I had this what like nine ten years ago when I was using Tableau.
61:00Funnily enough though, this is one of those tools, a good example, one of those tools where it's never too late because you can
61:06go back to those workbooks, however old they are, bring them into this, and now you'll finally be able to have the thing you said you wished you'd created back then.
61:15This is the kind of thing that everyone says, yeah, I'm gonna document everything perfectly in my little Excel.
61:21You do that for about a week and then you forget and then it starts to fall apart and then things get busy and then you just don't do it anymore.
61:27You never have the time.
61:28It's like and also even if you did, why not just like spend it going out for a walk with your dog and someone else can
61:35Well, if a code can do it for you.
61:38Yeah, exactly, exactly.
61:41Good.
61:41Well, um
61:43We have a tradition on the show and I've done something bad which is I haven't remembered what Kirk Munro asked in his last
61:52uh interview with me.
61:53So I don't have a question to ask you just yet, but what I might do is I might send it to you once once I know what it is.
62:00And if you're able to just maybe do a very brief recording on your phone or whatever, just responding to it.
62:06I think that's how we can sort of fill that in and I'll put it in this space now, Tim, if you're editing this.
62:11Put it in here.
62:12Okay, Tim here, I'm editing this and yeah, unfortunately I forgot to
62:16ask uh Anna this question during the interview.
62:19Essentially what had happened is I'd I I'd had a conversation with Kirk Monroe and it had been some time before I had the conversation with Anna but I hadn't edited the episode so I didn't actually have the question to hand.
62:29So I've inserted it here.
62:32Hi team, how are you?
62:34So uh to reply to the question on what analytics tool I would create if I could create anything.
62:41Um
62:43Hmm.
62:43Well that was a hard one because anything it's just very open.
62:48But I guess I would go for something along the lines of
62:52renting so because over the time that I lived in London I had to rent in a couple of places and faced um very
63:03I don't mean to say difficult, but I'd say um yeah very different landlords and landladies.
63:10Um
63:11Yeah, so I think it would be great if this would be possible to have a public database and I know GDPR
63:20Issues might spring up so maybe let's forget about like naming an actual landlord, but if we could have a database for all the properties that go
63:29up for r uh private rentals in London and we could get a history of how well they have um
63:38Been to like how how good have they been to tenants before, how many tenant issues they've had before, how good have they the owners have been with repairs?
63:46Uh also linked out to the agencies
63:49um that have run the different um properties because sometimes it can be like a private uh landlord or it can be via a an agency
63:58And so if we could have an analytics tool or a dashboard that would give us an overview of all the different metrics on
64:07How good is a property to rent in in the sense of like are you gonna have a happy stay while you're there?
64:13Um maybe probably if we can also have like updated uh data about the neighbors
64:17about the borough, about the council tax, about um how responsive the agencies are.
64:23That would be definitely a really, really nice thing to have um so that you don't get any surprises down the line whilst you have already started your tenancy.
64:33I don't know if that fits the criteria of an analytics tool because I maybe haven't really described the tool more like I might just more like describe the use case instead.
64:45But
64:46There should definitely be something along the lines of that so that people can have like a very quick overview of where they're getting into.
64:54Um and yeah, so like once you build that you can add all sorts of metrics
64:59that you see that are going to be um useful for private um tenants and also you can like help well I don't yeah
65:07It would help private tenants more than private landlords because or agencies.
65:11But if we could also have within a dashboard just a little section or a section about agencies and within the agencies
65:19if you could also have them by borough and or by location because like for example you can have big agencies um that have lots of different branches and sometimes one of those branches can be good
65:31And then the others can be horrendous to tenants.
65:34So something that helps bring like raise awareness and also like gives you the data and makes the data work for you.
65:42Okay, hope that helps and yeah, sending you this.
65:46See ya.
65:47Hey, okay, so I listened to my previous message and I would just add to what I said before that if we could also have a sort of
65:56uh database on all the price changes that we've had on a given property and also on a given borrow and then you've got uh more metrics that you can show on your analytics tool um because then yeah you can show like um
66:10rental prices over time and then it can also like help negotiate if you're going for some property that you want to put an offer on.
66:19Um it just gives you a good idea of like how much
66:22you should be spending on it or maybe you would even like maybe that an analytics tool can help you find similar properties on a similar price range um but just in a different place or maybe just like some blocks
66:35or some meters down from where you are planning to rent, I don't know.
66:40But yeah, like definitely including price prices um and trends over time could also help.
66:46Okay, thanks for that Anna.
66:48Now back to the video.
66:51And then we can figure that out.
66:52But it does leave me with an opportunity for you to ask the next guest.
66:57a question and I typically answer this question today and the guest, the next guest will answer it, you know, uh when whenever that is.
67:05I don't know who the next guest is.
67:06Typically I do know, but today I don't know 'cause yeah, uh baby and all.
67:11So I know that with this is like a Tableau um channel, but I'm just gonna go a bit out of that and say a bit rag, yeah
67:22If you didn't have to work for a living, what would you do?
67:29Oh, that's a great question.
67:33If I didn't have to work for a living, what would I do?
67:37The first thing that comes out of that, this is kind of secretly two questions, that's why it's a really good question.
67:42Because what you're also kind of asking is if you didn't have to work for a living, would you still work in analytics?
67:48Basic that's actually that's like a that's literally that's the secret question behind this
67:54And I think for me, the answer is I wouldn't work in analytics.
67:58If I didn't have to work, I wouldn't work in analytics.
68:01Because I think I enjoy analytics as my career.
68:06But I enjoy so many other things as my hobbies.
68:10So if I didn't have to work, that means I wouldn't have a career and therefore analytics wouldn't wouldn't be that thing.
68:17Like
68:18I wouldn't turn, let's say, my hobbies into a career either, if that makes sense.
68:23Uh you know, that that's sort of a very clear idea.
68:28But what would I do
68:31What would I do?
68:32If I didn't have to work one.
68:38I think
68:42There is the obvious one which is yes spend some more time in families and friends.
68:45That to me goes without saying.
68:47Like there's no amount there's no there's no shortage of time you could spend with the people that mean something to you, so that makes a ton of sense
68:55Um but I feel like that's a get out of jail free card.
68:58So I think I'll answer this by probably saying if I didn't have to work for a living, the thing I would do
69:06is spend more time in creative disciplines.
69:11That's not to say in the same way as my hobbies, but creative disciplines are, for example, learning how to draw
69:18uh learning how to create certain types of content, um learning how to put together new things that you've never put together before, right?
69:26Because I think that time that would un you'd unlock
69:30would give you the space to yeah, go spend the seven hours learning how to draw a perfect circle freehand, right?
69:36Like like that is something you can actually do, but you need the time, you need to go watch the course content, you need to spend time seeing stuff
69:44Learning how to draw is a really good one as well.
69:46Everyone can draw to a certain extent.
69:49You just need to spend time practicing it to unlock the skill and you know get your muscle memories good.
69:55I I'd play more piano.
69:56Like I used to play piano when I was younger and I just stopped and I now I'm sort of uh discovering piano again, at least in my head.
70:05I keep watching videos about pianos and I keep thinking
70:07I'm gonna buy that piano.
70:09I haven't bought one yet, so maybe maybe it'll never happen.
70:12But I think I'd spend more time in the creative disciplines if if I didn't have to work I think
70:19Yeah, get the piano, uh um and maybe some other instruments for for other people to play along.
70:25I'd be in a jazz band.
70:26That's hundred percent what I'd do.
70:28I think that's what I'd do.
70:29That is like if I synthesize everything I've just said.
70:32I just go be in a jazz band.
70:34Like I play the piano, do crazy stuff on, you know, when I'm not in a gig and then go to gigs and meet new people, right?
70:42That's uh
70:43That's a great thing.
70:44I don't know if that's an idealistic thing in my head for it's actually what I'd do, but yeah.
70:49Creative disciplines, go play some jazz.
70:52Nice.
70:53Okay.
70:54I'll just say go and get that piano and then maybe even look your kids, you've got three kids now, so
71:00They might take and then you might just see them and you'll be like, oh I want to teach you this or just teach me and then you'll get inspired and then yeah, just get it
71:09This is how these things work, right?
71:11Like you you they snowball from one to the next.
71:14Yeah.
71:16Exactly, exactly.
71:17Amazing.
71:18What would you do?
71:19I'll throw the question back to you potentially.
71:23Ah man.
71:25I would.
71:26.
71:26Well, so I'm into painting watercolors in my spare time.
71:31I'd play table tennis.
71:33I'd actually so this might sound cheesy, but so I really enjoy like taking care of the elderly, so I'd just volunteer.
71:40Well that's what I enjoy, volunteering.
71:42So I'd probably just go to like
71:45You know, like we have like H UK.
71:48Um yeah, I'll I'll try and volunteer my time with the elderly.
71:52Uh again, like just you said, like seeing friends and family just goes without saying
71:58I'd go to the beach, I'd read a lot, um, spend some time in nature, sleep loads, and then I have this crazy idea of getting like
72:07starting my own caterery and my own sort of doggery and then I've already spoken about this with a friend this week.
72:16I would take my cats and dogs to the elderly so they can also spend some time with them because you know like how cute puppies and kittens are and then just bring joy to everyone and it sounds all cheesy but to me it's all about just like spreading the joy
72:30There we go.
72:32It's fantastic.
72:33Uh you're probably looking at a QR code because my camera ran out of um what what it is, I think the camera is too hot, so it's decided to just kill the camera.
72:41It's uh it's not that it's not run out of battery, but
72:44Catherine Doggery I'd be right there.
72:46That's like one of the things I'd definitely um uh I'd I'd go to.
72:50I I have a dog, he's called Toby, so um uh
72:53I'm a dog person.
72:54Um a catery and a doggery, would you would you have them in the same building?
72:58Would you only get cats and dogs that are used to living with each other or would you have them separate?
73:03I haven't really thought about the logistics
73:05done much.
73:06But they would be small dogs.
73:08They would definitely be small dogs so I can keep more of them in the same place.
73:12Uh fine.
73:12That's a good that's a good logic.
73:14M Toby would probably be three of those dogs if he 'cause he's a large dog, he's not a small dog at all, so
73:20He needs his own room rather than like uh they need to run alone and everything.
73:26Oh my gosh, tell me about it.
73:28Yeah, I'm you know, uh Toby's eight years old, I've had him since he was a puppy and I think
73:33I've aged faster 'cause just keeping up with them is just ridiculous.
73:37Like he's a he's a Hungarian visit, he's a hunting dog, so they're also very like um driven and motivated and um super what's the word?
73:46Um
73:48Very naughty, but not in a bad way.
73:50They're just mischievous.
73:51That's the word I was looking for.
73:53Okay, I think I'm like Toby then.
73:56Yeah.
73:56That's what my husband always says, and everyone that knows me says so.
74:03Amazing, amazing.
74:04Okay.
74:05Uh Anna, listen, thank you so much.
74:07Um it's been fantastic.
74:08Thank you for walking through your tool.
74:10Um
74:10If people want to download it, obviously they can go to GitHub and uh start playing with it.
74:15I'll put a link to that in the video.
74:17Um do you have a blog?
74:18Uh do you have a Twitter?
74:20Is there anything you'd like to tell people to go to if they want to reach out to you
74:25I do have a blog which I should update maybe a bit more, um, but it's basically Anna Milana's.
74:32After this, after you've published this.
74:36I did publish the version of the original Getting All the Calculated Fields from a Tableau Workbook, which had the
74:45XML um like the bit that I said about like unzipping the TWBX file and it just shows you how to go through that.
74:53But then at the beginning I added an update and that's where uh you have the Python code because it links to my GitHub page.
74:59each so yeah perfect perfect just go there anna milana milana is my like pseudonym because when I used to work in finance it was just easier to have a pseudonym rather than
75:13Right, okay.
75:15This is actually quite a common thing.
75:16I'll maybe chat to you offline about this because I noticed this working for a uh consulting for a few companies that a lot of people have pseudonyms and
75:25The problem is that the email they get, um, for their what do you call it, their their actual pr professional email, doesn't match their pseudonym, right?
75:36So you have like an email
75:38title which will have blah blah blah blah blah blah and then they'll sign off as someone completely different and I'm like is this the same person?
75:46That's a very very good point.
75:48I guess
75:49If the people love a lot when I sign myself as Pedro, that explains a lot.
76:01Yeah, it's so weird.
76:03I I I never get it and I I like I feel like um corporate IT systems should allow for you to add pseudonyms.
76:11and have multiple emails that come to you regardless, right?
76:14Like it's just it's as you said earlier, it's a 21st century.
76:17You can create like alias emails that go to your email, right?
76:21Right and they they should all work.
76:22But anyway, we digress.
76:24Thank you so much.
76:25Thank you so much for showing us what you've built.
76:27Um yeah, and uh we will chat soon.
76:30Thank you for having me.
76:31Say hi to okay, you can just edit this out, but say hi to your wife and the little kid Estelle No absolutely absolutely if if if um
76:44She was more settled I would have just had her in a baby carry here or something like that.
76:48So she's that small at the moment.
76:51Um it's kind of weird how small they are really.
76:53I forget you just forget how small children like
76:56newborns actually are until they appear and they're only that small for like literally a month.
77:02And then a month later they're just this week and next week is like as small as she'll ever be and
77:10And yeah, she's our last child as well, so like I need to cherish these next few weeks and just keep holding.
77:15You don't know that you might have some surprises down the line.
77:19Uh no I'm fairly certain.
77:21I'm fairly certain.
77:22We've we've got three ready and a dog.
77:24I mean if I if I have another kid I have to go buy a new car and like move and like that's so all these things are just
77:31The economies of scale fall apart.
77:35Okay.
77:37Very much.
77:38So yeah, no, for lots of good reasons.
77:40Um and we have a hands full.
77:41We've got um
77:43Three kids to sort of look after which is in itself.
77:46And you do becomes crowd control.
77:54the amount of like discipline and work that goes into everything and also I guess like editing also takes a lot of time and just like people usually don't see that part
78:04But so you're doing absolutely great and like you're admirable.
78:10No, editing is made easier more recently.
78:13Like it's funny 'cause
78:14Technology has gotten very good.
78:16Even what we're recording in today, Riverside, has made my editing job a lot easier.
78:20So um I actually prefer these long conversations.
78:23I think they're easier to edit because
78:25it's a conversation and people are happy to like listen to more.
78:28But if you have to do like shorter, more like bum bum boom videos, then you have to like plan them a lot more ahead ahead of time.
78:35I t I tend to not plan them, I tend to
78:38do three or four, then I the fifth one is probably the good one and I keep the fifth one because it's just faster than planning them, um if that makes sense.
78:46So
78:47Inside baseball, how do you record a video?
78:49You don't plan it, you record it multiple times until you get it right.
78:55It's a bad way to do it.
78:56Bad way to do it.
78:57I can hear lots of YouTubers crying inside going, Tim, have you heard of a teleprompter?
79:02And I'll say, yes, I freaking hate them.
79:09Exactly, exactly.
79:10Anyway, we'll um we'll we'll we'll stop the recording here.
79:14Thank you Anna for joining me.
79:15Um yeah, we'll chat soon.
79:17Awesome.
79:17Thank you so much and have a good evening.
79:20And you
In this video, my guest is Ana Ray De Castro talking about her calculation Export tool for Tableau. We all know the struggle of dealing with workbooks filled with numerous calculations, especially when it’s time to hand them over or make critical changes. Ana has developed an incredible tool that provides lineage for your calculations, all on your device, with no cloud service required. It’s free and available on GitHub! Join me as I chat with Ana about the origins of this tool, the use cases that inspired its creation, and we walk through three different scenarios using various workbooks, including one from Andy Kriebel’s collection. Ana shares her unique perspective on analytics, her journey from chemistry to data, and offers inspiration for anyone looking to build their own tools. Don’t miss out on this insightful conversation and learn how you can simplify your Tableau workflow with Ana’s tool!Grab the tool here: https://github.com/scinana/tableauCalculationExport Videos & Playlists You Shouldn’t missWhat is Tableau: https://youtu.be/7Jl-RwkzqQ4How to Learn Tableau: https://youtu.be/ayc6AjOuQb0Tableau Desktop Crash Course: https://youtu.be/-Aj8IlC0IEATableau Prep Course: https://www.youtube.com/playlist?list=PLRfaJ7ZL0cF6JRvdxUV3FQSYG6OOH9EtaTableau Functions: https://www.youtube.com/playlist?list=PLRfaJ7ZL0cF7f6EQL-mGk63ElvpWzs2z- Tableau charts in 2 mins: https://www.youtube.com/playlist?list=PLRfaJ7ZL0cF7kHEdpAum7pccjQypzlabRTableau Desktop Crash course Playlist https://www.youtube.com/playlist?list=PLRfaJ7ZL0cF4fwAQFPvDMWxN\_xPFu2XujTimestamps0:00 Intro1:22 Introduction & context1:53 Meet Ana3:51 Tools Ana Uses7:48 Inspiration for the tool18:58 A simple workbook38:27A typical dashboard46:57 A complex use case51:14How the tool works1:00:56 Guest QuestionsJoin this channel to get access to perks:https://www.youtube.com/channel/UC7HYxRWmaNlJux-X7rNLZyw/join#tableau #salesforce #analytics #dataFollow me on Twitter: https://twitter.com/TableauTim My recording gear & what’s on my desk. https://kit.co/TableauTim/desk-setup My website: https://www.tableautim.com/ My Screen Annotation Tool: https://j.mp/3HWc4MjMy technology Channel: https://j.mp/3F0d28fShare feedback and Suggestions: https://tableautim.canny.io/suggestions----------(C) 2023 TN-Media LTD. No re-use, unauthorized use, or redistribution, of this video without prior permission.