Data Dictionary in Sisense
Sisense lists Data Dictionary as one of the product features. Documentation for that is shown here: Creating Data Dictionaries. However, this feature only supports the creation of table and column description information. This is helpful, but in working with Sisense since 2014, I've often wished for a centralized solution that brought the table and column metadata (including descriptions) to a centralized location. In my mind, a true Data Dictionary is a description of the data in business terms that includes the metadata (where the data came from, data type, etc.).
Why would I want this?
In short, I want a Glossary of what is in my data models in a centralized location that is filterable and searchable. Having this enables me, as a Sisense planner and implementer, to keep what I have data wise consistent: a single source of the truth for data models.
The Business Case for a Data Dictionary:
Governance:
- Ensuring that the organization has a repository of the descriptive data and metadata in your data models.
- Data dictionaries make it easier to create a standard set of variable names and descriptions across an organization.
Documentation for:
- Business Users and Analysts who want to discover what data may be available in the data models.
- Dashboard Designers who want definition information for what they see when they look at the list of data available for a widget's design.
- Data Model Designers who want the same thing and who want a tool to help ensure that naming is consistent across data models.
Long story short, recently I decided to develop a desktop app (Windows/Mac) that utilizes several Sisense REST APIs to build a Data Dictionary for a selected Data Model (Live or ElastiCube). My app (Sisense Linux only) is now at the MVP stage. It functions as follows:
When launched, it presents a login window for a Sisense admin user.
On a successful login, it presents a selection window that allows you to select the Data Model (Live or ElastiCube) of interest from a drop-down list of all data models on your Sisense server. Your selection drives the creation of a data dictionary for that data model.
Once a selection is made, an Excel file containing the metadata is exported to a folder on your local machine user root directory.
That Excel file is copied from your local directory to a predefined folder in the Sisense My Files file store: Admin > System Management > File Management > DataModels_DataDictionaries
The previous file versions are overwritten. This ensures you always have the latest versions available.
I created an ElastiCube pointed at the My Files location that unions all the Excel files into a single table.
I also created a dashboard that presents model statistics as well as model metadata.
Of course, this screenshot shows just a few of the columns from the Data Dictionary data model.
I'm very interested in hearing from folks in the community to get your comments and suggestions. I'm also glad to demo the app on request.