Can you create a data request and approval app?
Introduction
This week, we’re moving beyond analysis and into data apps. We’re going to solve one of the most persistent problems in any data-driven organization: data quality.
The challenge isn’t just to clean data. It’s to build a complete, self-service system that empowers your business users to create and manage their own data quality rules – all with the safety of a human-in-the-loop approval process.
This challenge will test your ability to think like an app user. You’ll create a secure, self-service tool that provides a full audit trail, empowers your business partners, and solves a problem that often sits in the “too hard” pile. It’s a powerful way to turn your BI platform into a true decision engine.
Need Access to Sigma?
Note: You will only have view access to WOW Workbooks, Folders, and Workspaces, not edit access. Please create your WOW Workbooks under “My Documents.” We suggest creating a folder to organize all your workbooks.
Requirements
No dataset this week
Create the Rules Engine Foundation:
Build an Input Table to act as your master list for data quality rules.
Tip: Include columns for the rule’s name, the column it targets (e.g., “Channelgrouping”), the value to find, the value to replace it with, and a column to track the rule’s status (e.g., “Draft,” “Active”). Don’t forget to add system-generated columns for
Row ID
and audit fields likeSubmitted_By
andApproval_Date
.
Build the Self-Service Submission Form:
Use Control Elements (like text inputs) to create a user-friendly form for submitting new rules.
Add a “Submit” button that uses an Action to:
Add a new row to your rules input table.
Automatically set the new rule’s status to “Pending Approval” (or whatever you want to call it) and populate the submission timestamp and user.
Tip: Add a second effect to the action to clear the form fields after submission for a better user experience.
Create the Approval Workflow:
Build a “Rule Approval Queue” using a Table element.
Tip: Filter this table to only show rules where the status is “Pending Approval.”
Create Action columns directly in the table for “Approve” and “Reject.”
Configure the actions on these columns to update the selected row in your master input table—changing its status and populating the
Approved_By
andApproval_Date
fields.Apply the Rules and See the Results: (BONUS)
Join your raw data (the GA table) to a filtered version of your rules table (showing “Active” rules only).
Create a new calculated column (e.g.,
[Channelgrouping_Cleaned]
) that uses a conditional formula to apply the rules.Tip: Your formula should check if the join found a matching rule. If it did, use the
Replace_Value
; if not, keep the original value.Build a chart to track Request Statuses
Don’t forget to publish and share your build!
Let’s see how you use it!
Dataset
No dataset this week! Just numbers and words. Wait…
Share
After you finish your workout, share on LinkedIn, Sigma’s Community page, (or Twitter) using the hashtags #WOW2024 and #SigmaComputing, and tag Jess Batten, Ashley Bennett, Eric Heidbreder, Katrina Menne, Carter Voekel, and Michal Shaffer!
Create an interactive, sharable version of your solution here.
Also, make sure to fill out the Submission Tracker so that we can count you as a participant this week to track our participation throughout the year.
Solution
Coming soon, friend.