Metabase User Tips
Metabase Terms:
Models are clean, curated datasets that provide a simple way to package data prep activities and allow you to avoid repeatedly performing the same joins or other processes.
Questions are saved queries with visualizations that you can add to dashboards or collections. Questions are the charts you can organize on dashboards.
Dashboards group related questions (charts and other cards) that can be filtered and refreshed together.
Collections are like folders to organize and manage permissions for your questions, dashboards, and other items.
Full Metabase instructions can be found here: https://www.metabase.com/docs/latest/
Access to Data from Violet
If you can’t find the data you need when building a query, contact the Violet development team for help provisioning access to the appropriate data or tables.
Setting up a Model
Models can become the input to a variety of new questions, saving configuration time by focusing on question-unique needs for filtering or visualization. If you find yourself repeatedly performing the same join, filtering, or grouping steps to support multiple questions, consider creating a model.
When creating a question you want to turn into a model:
Use the pulldown menu on each table (including joined tables) to de-select any columns that aren’t necessary for this model. This often includes ID columns that an end user wouldn’t care about - except for ID columns used for table joining purposes.
Save the question, then prompt Metabase to turn the question into a model.
Set defaults and clean up your model by editing its metadata: hide columns that aren’t useful (like join IDs), and give others more user-friendly display names using aliases. Change the order of columns as needed via drag and drop, and toggle each unnecessary column to “appear in detail views only.” You can also add column descriptions.

Edit the Model’s “Info” by clicking the "
" icon. This allows you to clarify a description of the model, what it shows, or how it was made. This supports subsequent users of your model.
If you need to view the constituent joins that went into a model, or modify the query that produced the model (include extra fields, add joins, etc.), open “Edit query definition”

Creating Questions
Create questions built off models to support specific views on dashboards.
Consider creating one main question on top of a given model to further hide columns not relevant to the user (in the “visualization” portion of question definition), then duplicate this question to be a starting point for other questions or visualizations.
Further edit derived column names (like group-by columns) in the visualization area to improve user friendliness
You can show/hide columns in the visualization area if they are not relevant to the question or visualization at hand.
Creating Dashboards
Dashboards can collect visualizations of multiple questions and be linked together to respond to a shared filter, e.g.
When creating or editing a question, you can save the question directly to a dashboard. That question can only be used by that dashboard.
If you want to add a question to multiple dashboards, you should save that question to a collection. Alternatively, if the questions don’t need to stay in sync, you could duplicate a question, and save that duplicate to your dashboard. Keep in mind that changes to one question won’t affect the duplicate question.
Adding Click-Through Behavior
Click-through behavior is what happens when you select a data point or query result from within Metabase. Typical examples include navigating to that selected entity in Violet.
To add this behavior, edit a dashboard, find the question of interest, and select the click-through-behavior button to open the menu.
Select the question panel of interest and find the attribute(s) or data point you want to associate with a click-through action (e.g., a cell in a tabulated list of items/attributes).
To add a URL back to an entity in Violet, use variable templates:
Go to the program that contains a requirement, e.g.: {{tenant_url}}/requirements/?program={{program_id}}
Go to the requirement object, e.g.: https://{{tenant_domain}}/requirements/?program={{program_id}}&id={{id}}
Last updated
Was this helpful?