Why Metadata Matters in BI Product Development
Introduction: Why Metadata Matters
I treat all the content on Tableau Server as my personal product. This product helps the business operate more efficiently and effectively. The general goal of my work is to assist the business in making more high-quality decisions based on my product.
Therefore, monitoring and analyzing internal data on how my BI product is performing (including server infrastructure, server content, users, access permissions, and other data) helps me perform my job more effectively.
I still remember those days we were operating without a full view of our Tableau Server environment. We had hundreds of workbooks, multiple user groups, many users had completely non-standardized access rights. Questions like “Who has access to that sensitive workbook?”, “Which dashboards might be affected if we switch to another data marts in the database?”, “How are our licenses utilized?”, “Who has never visited dashboards even though they requested their development?” or simply “Do we have duplicate users with the same email?” (because our user management system was fully manual) kept coming up — and I had to check all this stuff manually every time.
Initially, I relied on standard Admin Views in Tableau, hoping they’d reveal everything. But while those built-in dashboards are convenient for some basic questions, they never help you in more specific ones. That’s when I began exploring additional solutions such as the Tableau REST API, PostgreSQL repository (available in on-prem installations) and the GraphQL.
This article is my experience of how I combined these methods to elevate our BI product, raise the level of data governance by handling RLS (Row-Level Security) and permissions more effectively, mapped all used data sources and their connections with workbooks, analyzed our users’ activity and engagement and even built a data catalog of all used fields to track the formulas.