We’re thrilled to share Transform’s first-class integration with Mode. You get the peace of mind that comes with Transform’s metrics governance alongside seamless and flexible analytics and reporting in Mode.
Data teams see the same challenge over and over again—they need to create accurate data sets with defined metrics and share those data sets with stakeholders in a governed way. So drumroll please...we’re bringing the power of Transform to downstream business intelligence, giving you the benefits of a metrics store directly where your stakeholders already work.
This gives your organization benefits like:
- Metrics governance at scale: Run all your Mode reporting off of metrics that are defined and blessed by the data team. No more arguing about which number is accurate across multiple reports, freeing up data teams to focus on more strategic projects.
- Access to metrics logic directly in Mode: Our integration allows for extremely simple querying of metrics by given dimensions, since Transform already handles all the complex joining under the hood to create your metrics. In the simplest request, you can express querying a metric with a dimension using one line of code.
- Faster Mode queries and reports: Transform has sophisticated caching so aggregations of your metrics are pre-computed and stored. This means that your queries to access metrics from Mode reports will be very performant since they are running on pre-aggregated data rather than computing the metric from scratch.
Flexible analytics + metrics governance at scale
When business intelligence reporting scales in an organization, so do multiple sources of truth. With the volume and complexity of data nowadays, organizations often struggle to align on what a metric actually means.
With Mode, you have the power to establish logic once for all reporting. The Transform integration takes this a step further. You can express Transform MQL (MetricFlow query language) requests directly in Mode’s SQL editor. That means all of your metric logic from Transform can flow directly into your existing Mode reports. When you define all metrics in a single place, your data team doesn’t have to hunt down the reasons for different numbers across different reports.
The Transform integration gives you access to Transform in Mode but also your data warehouse, which means you can query metrics that you define in Transform and put those against other data sources in your data warehouse. This enriches your ability to explore data in Mode.
Access to metrics logic directly in Mode, with simplified SQL queries
When you access Transform’s metric logic in Mode, you can rest easy that all of your metrics are blessed by your data team. But even better, when you query metrics from Transform directly in Mode, you also see faster workflows because you can already use the metrics logic that you established in Transform without writing any additional SQL and building data from scratch.
To illustrate with an example...let’s say I want to run a query to track a weekly active users metric for a few of your product types. When I run this query to pull metrics from my Transform instance, the query in Mode would look like this:
The query in Mode with Transform:
SELECT * FROM MQL_QUERY(<wau by date, product__product_type>);
In comparison, when I run this in Mode without the Transform integration, it might look something like this.
The query in Mode without Transform:
SELECT
wau_rolling_7 AS wau_rolling_7
, groupby_unalias_af48d5c5.ds
FROM (
SELECT
COUNT(DISTINCT wau_rolling_7) AS wau_rolling_7
, ds
FROM (
SELECT
wau_rolling_7 AS wau_rolling_7
, ds AS ds
,product__product_type AS product
FROM (
SELECT
user_id AS wau_rolling_7
, product_id AS org
, created_at AS ds
FROM all_requests
WHERE
ds >= '2020-10-26' AND ds < '2021-10-27'
) projection_9dd4aad0
LEFT JOIN (
with join identifier ‘product_id’
SELECT
id AS product_id
, name AS product__product_id
, CASE WHEN product_id IN (1,138, 139, 136, 155, 127) THEN 1
FROM my_products
)ON projection_9dd4aad0.org = projection_1e04ecbd.org
) projection_63ea0fca
WHERE
product__product_name in ('Application', ‘Application A’, `Application C`)
GROUP BY
ds
) groupby_unalias_af48d5c5 ;
As you can see, these two queries are very different. In the first query, Transform has already computed the complex join and other SQL intricacies under the hood, so you don’t need to express it again in Mode. Specifically, to define metrics in Transform, the user would need to write a few lines of code in YAML to specify the identifiers that would make this join across the dimensions possible (i.e., the product and user), then the rest is magic…well, not really...it’s quite sophisticated SQL construction. But for you...it’s a magical, simplified experience!
In the second query, without Transform, in order to calculate weekly active users by product type using the raw data in the data warehouse, you would need to write a query that joins the user request table with the product table.
All in all, you get a streamlined process because your joins and other computations are handled by Transform’s metric store.
Faster Mode queries and reports
Transform has sophisticated caching that stores precomputed aggregations of your metric data. When you run queries against Mode, your metrics will be much more performant because they aren’t building metrics from source data in the data warehouse. With Transform and Mode, you can run your queries on pre-aggregated data rather than building the metric from scratch.
How to get started with the Mode + Transform integration
Watch the video below to learn how to set up the Transform Mode integration. Note that this setup assumes you are a hosted Transform user and you have administrator privileges in both Mode and Transform.
We’re so excited to see what you build with this integration and we’re eager to get your feedback! Explore other Transform product updates on our blog. Want to try Transform for your own metrics? Schedule a product deep dive.