From 162bf7af95244af5a49fd144aa01faa4d031d18d Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 17 Jan 2024 11:48:52 +0000 Subject: [PATCH 01/21] add fill nulls width --- website/docs/docs/build/conversion-metrics.md | 2 + website/docs/docs/build/cumulative-metrics.md | 34 ++++++++++++ website/docs/docs/build/derived-metrics.md | 34 ++++++++++++ website/docs/docs/build/ratio-metrics.md | 53 +++++++++++++++---- website/docs/docs/build/simple.md | 37 ++++++++++++- 5 files changed, 148 insertions(+), 12 deletions(-) diff --git a/website/docs/docs/build/conversion-metrics.md b/website/docs/docs/build/conversion-metrics.md index 2238655fbe0..3f24b7749b9 100644 --- a/website/docs/docs/build/conversion-metrics.md +++ b/website/docs/docs/build/conversion-metrics.md @@ -33,6 +33,8 @@ The specification for conversion metrics is as follows: | `base_property` | The property from the base semantic model that you want to hold constant. | Entity or Dimension | Optional | | `conversion_property` | The property from the conversion semantic model that you want to hold constant. | Entity or Dimension | Optional | +Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. + The following code example displays the complete specification for conversion metrics and details how they're applied: ```yaml diff --git a/website/docs/docs/build/cumulative-metrics.md b/website/docs/docs/build/cumulative-metrics.md index 94ed762d1f0..09d04c87f2c 100644 --- a/website/docs/docs/build/cumulative-metrics.md +++ b/website/docs/docs/build/cumulative-metrics.md @@ -21,6 +21,8 @@ This metric is common for calculating things like weekly active users, or month- | `window` | The accumulation window, such as 1 month, 7 days, 1 year. This can't be used with `grain_to_date`. | Optional | | `grain_to_date` | Sets the accumulation grain, such as month will accumulate data for one month. Then restart at the beginning of the next. This can't be used with `window`. | Optional | +Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. + The following displays the complete specification for cumulative metrics, along with an example: ```yaml @@ -244,3 +246,35 @@ group by metric_time limit 100 ``` + +### Additional settings + +Use the following additional settings to customize your conversion metrics: + +- **Null conversion values:** Set null conversions to zero using `fill_nulls_with`. + + +To return zero in the final data set, you can set the value of a null conversion event to zero instead of null. You can add the `fill_nulls_with` parameter to your conversion metric definition like this: + +```yaml +- name: vist_to_buy_conversion_rate_7_day_window + description: "Conversion rate from viewing a page to making a purchase" + type: conversion + label: Visit to Seller Conversion Rate (7 day window) + type_params: + conversion_type_params: + calculation: conversions + base_measure: visits + conversion_measure: + name: buys + fill_nulls_with: 0 + entity: user + window: 7 days + +``` + +This will return the following results: + + + diff --git a/website/docs/docs/build/derived-metrics.md b/website/docs/docs/build/derived-metrics.md index fc7961bbe7f..172cdbfbe08 100644 --- a/website/docs/docs/build/derived-metrics.md +++ b/website/docs/docs/build/derived-metrics.md @@ -23,6 +23,8 @@ In MetricFlow, derived metrics are metrics created by defining an expression usi | `filter` | Optional filter to apply to the metric. | Optional | | `offset_window` | Set the period for the offset window, such as 1 month. This will return the value of the metric one month from the metric time. | Required | +Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. + The following displays the complete specification for derived metrics, along with an example. ```yaml @@ -157,3 +159,35 @@ bookings - bookings_7_days_ago would be compile as 7438 - 7252 = 186. | d7_booking_change | metric_time__month | | ----------------- | ------------------ | | 186 | 2017-07-01 | + + +### Additional settings + +Use the following additional settings to customize your conversion metrics: + +- **Null conversion values:** Set null conversions to zero using `fill_nulls_with`. + + +To return zero in the final data set, you can set the value of a null conversion event to zero instead of null. You can add the `fill_nulls_with` parameter to your conversion metric definition like this: + +```yaml +- name: vist_to_buy_conversion_rate_7_day_window + description: "Conversion rate from viewing a page to making a purchase" + type: conversion + label: Visit to Seller Conversion Rate (7 day window) + type_params: + conversion_type_params: + calculation: conversions + base_measure: visits + conversion_measure: + name: buys + fill_nulls_with: 0 + entity: user + window: 7 days + +``` + +This will return the following results: + + diff --git a/website/docs/docs/build/ratio-metrics.md b/website/docs/docs/build/ratio-metrics.md index 97efe0f55bf..fe6a9fb160a 100644 --- a/website/docs/docs/build/ratio-metrics.md +++ b/website/docs/docs/build/ratio-metrics.md @@ -22,6 +22,8 @@ Ratio allows you to create a ratio between two metrics. You simply specify a num | `filter` | Optional filter for the numerator or denominator. | Optional | | `alias` | Optional alias for the numerator or denominator. | Optional | +Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. + The following displays the complete specification for ratio metrics, along with an example. ```yaml @@ -61,16 +63,16 @@ The system will simplify and turn the numerator and denominator in a ratio metri ```sql select - subq_15577.metric_time as metric_time - , cast(subq_15577.mql_queries_created_test as double) / cast(nullif(subq_15582.distinct_query_users, 0) as double) as mql_queries_per_active_user + subq_15577.metric_time as metric_time, + cast(subq_15577.mql_queries_created_test as double) / cast(nullif(subq_15582.distinct_query_users, 0) as double) as mql_queries_per_active_user from ( select - metric_time - , sum(mql_queries_created_test) as mql_queries_created_test + metric_time, + sum(mql_queries_created_test) as mql_queries_created_test from ( select - cast(query_created_at as date) as metric_time - , case when query_status in ('PENDING','MODE') then 1 else 0 end as mql_queries_created_test + cast(query_created_at as date) as metric_time, + case when query_status in ('PENDING','MODE') then 1 else 0 end as mql_queries_created_test from prod_dbt.mql_query_base mql_queries_test_src_2552 ) subq_15576 group by @@ -78,12 +80,12 @@ from ( ) subq_15577 inner join ( select - metric_time - , count(distinct distinct_query_users) as distinct_query_users + metric_time, + count(distinct distinct_query_users) as distinct_query_users from ( select - cast(query_created_at as date) as metric_time - , case when query_status in ('MODE','PENDING') then email else null end as distinct_query_users + cast(query_created_at as date) as metric_time, + case when query_status in ('MODE','PENDING') then email else null end as distinct_query_users from prod_dbt.mql_query_base mql_queries_src_2585 ) subq_15581 group by @@ -125,3 +127,34 @@ metrics: ``` Note the `filter` and `alias` parameters for the metric referenced in the numerator. Use the `filter` parameter to apply a filter to the metric it's attached to. The `alias` parameter is used to avoid naming conflicts in the rendered SQL queries when the same metric is used with different filters. If there are no naming conflicts, the `alias` parameter can be left out. + +### Additional settings + +Use the following additional settings to customize your conversion metrics: + +- **Null conversion values:** Set null conversions to zero using `fill_nulls_with`. + + +To return zero in the final data set, you can set the value of a null conversion event to zero instead of null. You can add the `fill_nulls_with` parameter to your conversion metric definition like this: + +```yaml +- name: vist_to_buy_conversion_rate_7_day_window + description: "Conversion rate from viewing a page to making a purchase" + type: conversion + label: Visit to Seller Conversion Rate (7 day window) + type_params: + conversion_type_params: + calculation: conversions + base_measure: visits + conversion_measure: + name: buys + fill_nulls_with: 0 + entity: user + window: 7 days + +``` + +This will return the following results: + + diff --git a/website/docs/docs/build/simple.md b/website/docs/docs/build/simple.md index 1803e952a69..7d857c16a47 100644 --- a/website/docs/docs/build/simple.md +++ b/website/docs/docs/build/simple.md @@ -20,6 +20,8 @@ Simple metrics are metrics that directly reference a single measure, without any | `type_params` | The type parameters of the metric. | Required | | `measure` | The measure you're referencing. | Required | +Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. + The following displays the complete specification for simple metrics, along with an example. @@ -28,7 +30,7 @@ metrics: - name: The metric name # Required description: the metric description # Optional type: simple # Required - label: The value that will be displayed in downstream tools #Required + label: The value that will be displayed in downstream tools # Required type_params: # Required measure: The measure you're referencing # Required @@ -50,7 +52,7 @@ If you've already defined the measure using the `create_metric: true` parameter, type: simple # Pointers to a measure you created in a semantic model label: Count of customers type_params: - measure: customers # The measure youre creating a proxy of. + measure: customers # The measure you're creating a proxy of. - name: large_orders description: "Order with order values over 20." type: SIMPLE @@ -60,3 +62,34 @@ If you've already defined the measure using the `create_metric: true` parameter, filter: | # For any metric you can optionally include a filter on dimension values {{Dimension('customer__order_total_dim')}} >= 20 ``` + +### Additional settings + +Use the following additional settings to customize your conversion metrics: + +- **Null conversion values:** Set null conversions to zero using `fill_nulls_with`. + + +To return zero in the final data set, you can set the value of a null conversion event to zero instead of null. You can add the `fill_nulls_with` parameter to your conversion metric definition like this: + +```yaml +- name: vist_to_buy_conversion_rate_7_day_window + description: "Conversion rate from viewing a page to making a purchase" + type: conversion + label: Visit to Seller Conversion Rate (7 day window) + type_params: + conversion_type_params: + calculation: conversions + base_measure: visits + conversion_measure: + name: buys + fill_nulls_with: 0 + entity: user + window: 7 days + +``` + +This will return the following results: + + From 92cce08882cb9d81022c106d898af02c0510c41b Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 17 Jan 2024 11:57:03 +0000 Subject: [PATCH 02/21] tweak --- website/docs/docs/build/ratio-metrics.md | 4 ++-- website/docs/docs/build/simple.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/docs/build/ratio-metrics.md b/website/docs/docs/build/ratio-metrics.md index fe6a9fb160a..7dad50f3581 100644 --- a/website/docs/docs/build/ratio-metrics.md +++ b/website/docs/docs/build/ratio-metrics.md @@ -54,8 +54,8 @@ metrics: type_params: numerator: food_orders denominator: orders - ``` + ## Ratio metrics using different semantic models The system will simplify and turn the numerator and denominator in a ratio metric from different semantic models by computing their values in sub-queries. It will then join the result set based on common dimensions to calculate the final ratio. Here's an example of the SQL generated for such a ratio metric. @@ -133,6 +133,7 @@ Note the `filter` and `alias` parameters for the metric referenced in the numera Use the following additional settings to customize your conversion metrics: - **Null conversion values:** Set null conversions to zero using `fill_nulls_with`. + @@ -152,7 +153,6 @@ To return zero in the final data set, you can set the value of a null conversion fill_nulls_with: 0 entity: user window: 7 days - ``` This will return the following results: diff --git a/website/docs/docs/build/simple.md b/website/docs/docs/build/simple.md index 7d857c16a47..6249769989b 100644 --- a/website/docs/docs/build/simple.md +++ b/website/docs/docs/build/simple.md @@ -68,6 +68,7 @@ If you've already defined the measure using the `create_metric: true` parameter, Use the following additional settings to customize your conversion metrics: - **Null conversion values:** Set null conversions to zero using `fill_nulls_with`. + @@ -87,7 +88,6 @@ To return zero in the final data set, you can set the value of a null conversion fill_nulls_with: 0 entity: user window: 7 days - ``` This will return the following results: From aacb466410f9b4cc2dcb6991302233b676eb08b8 Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Thu, 18 Jan 2024 12:23:30 +0000 Subject: [PATCH 03/21] add fills_null_width --- website/docs/docs/build/conversion-metrics.md | 5 +- website/docs/docs/build/cumulative-metrics.md | 59 +++++-------------- website/docs/docs/build/derived-metrics.md | 50 ++++------------ website/docs/docs/build/metrics-overview.md | 23 ++++---- website/docs/docs/build/ratio-metrics.md | 42 +++---------- website/docs/docs/build/simple.md | 36 ++--------- 6 files changed, 54 insertions(+), 161 deletions(-) diff --git a/website/docs/docs/build/conversion-metrics.md b/website/docs/docs/build/conversion-metrics.md index 3f24b7749b9..1b4ccc6884e 100644 --- a/website/docs/docs/build/conversion-metrics.md +++ b/website/docs/docs/build/conversion-metrics.md @@ -32,6 +32,7 @@ The specification for conversion metrics is as follows: | `constant_properties` | List of constant properties. | List | Optional | | `base_property` | The property from the base semantic model that you want to hold constant. | Entity or Dimension | Optional | | `conversion_property` | The property from the conversion semantic model that you want to hold constant. | Entity or Dimension | Optional | +| `fill_nulls_with` | Set the value of a null conversion event to zero instead of null. | String | Optional | Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. @@ -40,10 +41,11 @@ The following code example displays the complete specification for conversion me ```yaml metrics: - name: The metric name # Required - description: the metric description # Optional + description: The metric description # Optional type: conversion # Required label: # Required type_params: # Required + fills_nulls_with: Set value to zero instead of null # Optional conversion_type_params: # Required entity: ENTITY # Required calculation: CALCULATION_TYPE # Optional. default: conversion_rate. options: conversions(buys) or conversion_rate (buys/visits), and more to come. @@ -91,6 +93,7 @@ Next, define a conversion metric as follows: type: conversion label: Visit to Buy Conversion Rate (7-day window) type_params: + fills_nulls_with: 0 conversion_type_params: base_measure: visits conversion_measure: sellers diff --git a/website/docs/docs/build/cumulative-metrics.md b/website/docs/docs/build/cumulative-metrics.md index 09d04c87f2c..85e6bf4f085 100644 --- a/website/docs/docs/build/cumulative-metrics.md +++ b/website/docs/docs/build/cumulative-metrics.md @@ -20,8 +20,7 @@ This metric is common for calculating things like weekly active users, or month- | `measure` | The measure you are referencing. | Required | | `window` | The accumulation window, such as 1 month, 7 days, 1 year. This can't be used with `grain_to_date`. | Optional | | `grain_to_date` | Sets the accumulation grain, such as month will accumulate data for one month. Then restart at the beginning of the next. This can't be used with `window`. | Optional | - -Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. +| `fill_nulls_with` | Set the value to zero instead of null in your metric definition. | Optional | The following displays the complete specification for cumulative metrics, along with an example: @@ -32,6 +31,7 @@ metrics: type: cumulative # Required label: The value that will be displayed in downstream tools # Required type_params: # Required + fill_nulls_with: Set value to zero instead of null # Optional measure: The measure you are referencing # Required window: The accumulation window, such as 1 month, 7 days, 1 year. # Optional. Cannot be used with grain_to_date grain_to_date: Sets the accumulation grain, such as month will accumulate data for one month, then restart at the beginning of the next. # Optional. Cannot be used with window @@ -39,6 +39,7 @@ metrics: ``` ## Limitations + Cumulative metrics are currently under active development and have the following limitations: - You are required to use [`metric_time` dimension](/docs/build/dimensions#time) when querying cumulative metrics. If you don't use `metric_time` in the query, the cumulative metric will return incorrect results because it won't perform the time spine join. This means you cannot reference time dimensions other than the `metric_time` in the query. @@ -61,12 +62,14 @@ metrics: description: The cumulative value of all orders type: cumulative type_params: + fill_nulls_with: 0 measure: order_total - name: cumulative_order_total_l1m label: Cumulative Order total (L1M) description: Trailing 1 month cumulative order amount type: cumulative type_params: + fills_nulls_with: 0 measure: order_total window: 1 month - name: cumulative_order_total_mtd @@ -74,6 +77,7 @@ metrics: description: The month to date value of all orders type: cumulative type_params: + fills_nulls_with: 0 measure: order_total grain_to_date: month ``` @@ -203,16 +207,16 @@ The current method connects the metric table to a timespine table using the prim ``` sql select - count(distinct distinct_users) as weekly_active_users - , metric_time + count(distinct distinct_users) as weekly_active_users, + metric_time from ( select - subq_3.distinct_users as distinct_users - , subq_3.metric_time as metric_time + subq_3.distinct_users as distinct_users, + subq_3.metric_time as metric_time from ( select - subq_2.distinct_users as distinct_users - , subq_1.metric_time as metric_time + subq_2.distinct_users as distinct_users, + subq_1.metric_time as metric_time from ( select metric_time @@ -225,8 +229,8 @@ from ( ) subq_1 inner join ( select - distinct_users as distinct_users - , date_trunc('day', ds) as metric_time + distinct_users as distinct_users, + date_trunc('day', ds) as metric_time from demo_schema.transactions transactions_src_426 where ( (date_trunc('day', ds)) >= cast('1999-12-26' as timestamp) @@ -243,38 +247,7 @@ from ( ) subq_3 ) group by - metric_time -limit 100 -``` - -### Additional settings - -Use the following additional settings to customize your conversion metrics: - -- **Null conversion values:** Set null conversions to zero using `fill_nulls_with`. - - -To return zero in the final data set, you can set the value of a null conversion event to zero instead of null. You can add the `fill_nulls_with` parameter to your conversion metric definition like this: - -```yaml -- name: vist_to_buy_conversion_rate_7_day_window - description: "Conversion rate from viewing a page to making a purchase" - type: conversion - label: Visit to Seller Conversion Rate (7 day window) - type_params: - conversion_type_params: - calculation: conversions - base_measure: visits - conversion_measure: - name: buys - fill_nulls_with: 0 - entity: user - window: 7 days + metric_time, +limit 100; ``` - -This will return the following results: - - - diff --git a/website/docs/docs/build/derived-metrics.md b/website/docs/docs/build/derived-metrics.md index 172cdbfbe08..802b26f598b 100644 --- a/website/docs/docs/build/derived-metrics.md +++ b/website/docs/docs/build/derived-metrics.md @@ -22,8 +22,7 @@ In MetricFlow, derived metrics are metrics created by defining an expression usi | `alias` | Optional alias for the metric that you can use in the expr. | Optional | | `filter` | Optional filter to apply to the metric. | Optional | | `offset_window` | Set the period for the offset window, such as 1 month. This will return the value of the metric one month from the metric time. | Required | - -Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. +| `fill_nulls_with` | Set the value to zero instead of null in your metric definition. | Optional | The following displays the complete specification for derived metrics, along with an example. @@ -34,6 +33,7 @@ metrics: type: derived # Required label: The value that will be displayed in downstream tools #Required type_params: # Required + fill_nulls_with: Set value to zero instead of null # Optional expr: the derived expression # Required metrics: # The list of metrics used in the derived metrics # Required - name: the name of the metrics. must reference a metric you have already defined # Required @@ -51,6 +51,7 @@ metrics: type: derived label: Order Gross Profit type_params: + fill_nulls_with: 0 expr: revenue - cost metrics: - name: order_total @@ -62,6 +63,7 @@ metrics: description: "The gross profit for each food order." type: derived type_params: + fill_nulls_with: 0 expr: revenue - cost metrics: - name: order_total @@ -98,6 +100,7 @@ The following example displays how you can calculate monthly revenue growth usin description: Percentage of customers that are active now and those active 1 month ago label: customer_retention type_params: + fill_nulls_with: 0 expr: (active_customers/ active_customers_prev_month) metrics: - name: active_customers @@ -117,6 +120,7 @@ You can query any granularity and offset window combination. The following examp type: derived label: d7 Bookings Change type_params: + fill_nulls_with: 0 expr: bookings - bookings_7_days_ago metrics: - name: bookings @@ -128,10 +132,10 @@ You can query any granularity and offset window combination. The following examp When you run the query `dbt sl query --metrics d7_booking_change --group-by metric_time__month` for the metric, here's how it's calculated. For dbt Core, you can use the `mf query` prefix. -1. We retrieve the raw, unaggregated dataset with the specified measures and dimensions at the smallest level of detail, which is currently 'day'. -2. Then, we perform an offset join on the daily dataset, followed by performing a date trunc and aggregation to the requested granularity. +1. Retrieve the raw, unaggregated dataset with the specified measures and dimensions at the smallest level of detail, which is currently 'day'. +2. Then, perform an offset join on the daily dataset, followed by performing a date trunc and aggregation to the requested granularity. For example, to calculate `d7_booking_change` for July 2017: - - First, we sum up all the booking values for each day in July to calculate the bookings metric. + - First, sum up all the booking values for each day in July to calculate the bookings metric. - The following table displays the range of days that make up this monthly aggregation. | | Orders | Metric_time | @@ -141,7 +145,7 @@ When you run the query `dbt sl query --metrics d7_booking_change --group-by met | | 78 | 2017-07-01 | | Total | 7438 | 2017-07-01 | -3. Next, we calculate July's bookings with a 7-day offset. The following table displays the range of days that make up this monthly aggregation. Note that the month begins 7 days later (offset by 7 days) on 2017-07-24. +3. Calculate July's bookings with a 7-day offset. The following table displays the range of days that make up this monthly aggregation. Note that the month begins 7 days later (offset by 7 days) on 2017-07-24. | | Orders | Metric_time | | - | ---- | -------- | @@ -150,7 +154,7 @@ When you run the query `dbt sl query --metrics d7_booking_change --group-by met | | 83 | 2017-06-24 | | Total | 7252 | 2017-07-01 | -4. Lastly, we calculate the derived metric and return the final result set: +4. Lastly, calculate the derived metric and return the final result set: ```bash bookings - bookings_7_days_ago would be compile as 7438 - 7252 = 186. @@ -159,35 +163,3 @@ bookings - bookings_7_days_ago would be compile as 7438 - 7252 = 186. | d7_booking_change | metric_time__month | | ----------------- | ------------------ | | 186 | 2017-07-01 | - - -### Additional settings - -Use the following additional settings to customize your conversion metrics: - -- **Null conversion values:** Set null conversions to zero using `fill_nulls_with`. - - -To return zero in the final data set, you can set the value of a null conversion event to zero instead of null. You can add the `fill_nulls_with` parameter to your conversion metric definition like this: - -```yaml -- name: vist_to_buy_conversion_rate_7_day_window - description: "Conversion rate from viewing a page to making a purchase" - type: conversion - label: Visit to Seller Conversion Rate (7 day window) - type_params: - conversion_type_params: - calculation: conversions - base_measure: visits - conversion_measure: - name: buys - fill_nulls_with: 0 - entity: user - window: 7 days - -``` - -This will return the following results: - - diff --git a/website/docs/docs/build/metrics-overview.md b/website/docs/docs/build/metrics-overview.md index ea602d0953f..60b103419e3 100644 --- a/website/docs/docs/build/metrics-overview.md +++ b/website/docs/docs/build/metrics-overview.md @@ -9,7 +9,7 @@ pagination_next: "docs/build/cumulative" Once you've created your semantic models, it's time to start adding metrics! Metrics can be defined in the same YAML files as your semantic models, or split into separate YAML files into any other subdirectories (provided that these subdirectories are also within the same dbt project repo) -The keys for metrics definitions are: +The keys for metrics definitions are: | Parameter | Description | Type | | --------- | ----------- | ---- | @@ -22,7 +22,6 @@ The keys for metrics definitions are: | `filter` | You can optionally add a filter string to any metric type, applying filters to dimensions, entities, or time dimensions during metric computation. Consider it as your WHERE clause. | Optional | | `meta` | Additional metadata you want to add to your metric. | Optional | - Here's a complete example of the metrics spec configuration: ```yaml @@ -39,14 +38,7 @@ metrics: null ``` -This page explains the different supported metric types you can add to your dbt project. - +This page explains the different supported metric types you can add to your dbt project. ### Conversion metrics @@ -55,10 +47,11 @@ This page explains the different supported metric types you can add to your dbt ```yaml metrics: - name: The metric name # Required - description: the metric description # Optional + description: The metric description # Optional type: conversion # Required label: # Required type_params: # Required + fills_nulls_with: Set value to zero instead of null # Optional conversion_type_params: # Required entity: ENTITY # Required calculation: CALCULATION_TYPE # Optional. default: conversion_rate. options: conversions(buys) or conversion_rate (buys/visits), and more to come. @@ -82,9 +75,10 @@ metrics: - support@getdbt.com type: cumulative type_params: + fills_nulls_with: 0 measures: - distinct_users - #Omitting window will accumulate the measure over all time + # Omitting window will accumulate the measure over all time window: 7 days ``` @@ -100,6 +94,7 @@ metrics: type: derived label: Order Gross Profit type_params: + fills_nulls_with: 0 expr: revenue - cost metrics: - name: order_total @@ -139,6 +134,7 @@ metrics: # Define the metrics from the semantic manifest as numerator or denominator type: ratio type_params: + fills_nulls_with: 0 numerator: cancellations denominator: transaction_amount filter: | # add optional constraint string. This applies to both the numerator and denominator @@ -157,6 +153,7 @@ metrics: filter: | # add optional constraint string. This applies to both the numerator and denominator {{ Dimension('customer__country') }} = 'MX' ``` + ### Simple metrics [Simple metrics](/docs/build/simple) point directly to a measure. You may think of it as a function that takes only one measure as the input. @@ -171,6 +168,7 @@ metrics: - name: cancellations type: simple type_params: + fills_nulls_with: 0 measure: cancellations_usd # Specify the measure you are creating a proxy for. filter: | {{ Dimension('order__value')}} > 100 and {{Dimension('user__acquisition')}} @@ -187,6 +185,7 @@ filter: | filter: | {{ TimeDimension('time_dimension', 'granularity') }} ``` + ### Further configuration You can set more metadata for your metrics, which can be used by other tools later on. The way this metadata is used will vary based on the specific integration partner diff --git a/website/docs/docs/build/ratio-metrics.md b/website/docs/docs/build/ratio-metrics.md index 7dad50f3581..f0db2963f4a 100644 --- a/website/docs/docs/build/ratio-metrics.md +++ b/website/docs/docs/build/ratio-metrics.md @@ -21,8 +21,7 @@ Ratio allows you to create a ratio between two metrics. You simply specify a num | `denominator` | The name of the metric used for the denominator, or structure of properties. | Required | | `filter` | Optional filter for the numerator or denominator. | Optional | | `alias` | Optional alias for the numerator or denominator. | Optional | - -Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. +| `fill_nulls_with` | Set the value to zero instead of null in your metric definition. | Optional | The following displays the complete specification for ratio metrics, along with an example. @@ -33,6 +32,7 @@ metrics: type: ratio # Required label: The value that will be displayed in downstream tools #Required type_params: # Required + fill_nulls_with: Value to zero instead of null # Optional numerator: The name of the metric used for the numerator, or structure of properties # Required name: Name of metric used for the numerator # Required filter: Filter for the numerator # Optional @@ -52,6 +52,7 @@ metrics: label: Food Order Ratio type: ratio type_params: + fill_nulls_with: 0 numerator: food_orders denominator: orders ``` @@ -117,6 +118,7 @@ metrics: - support@getdbt.com type: ratio type_params: + fill_nulls_with: 0 numerator: name: distinct_purchasers filter: | @@ -126,35 +128,7 @@ metrics: name: distinct_purchasers ``` -Note the `filter` and `alias` parameters for the metric referenced in the numerator. Use the `filter` parameter to apply a filter to the metric it's attached to. The `alias` parameter is used to avoid naming conflicts in the rendered SQL queries when the same metric is used with different filters. If there are no naming conflicts, the `alias` parameter can be left out. - -### Additional settings - -Use the following additional settings to customize your conversion metrics: - -- **Null conversion values:** Set null conversions to zero using `fill_nulls_with`. - - - -To return zero in the final data set, you can set the value of a null conversion event to zero instead of null. You can add the `fill_nulls_with` parameter to your conversion metric definition like this: - -```yaml -- name: vist_to_buy_conversion_rate_7_day_window - description: "Conversion rate from viewing a page to making a purchase" - type: conversion - label: Visit to Seller Conversion Rate (7 day window) - type_params: - conversion_type_params: - calculation: conversions - base_measure: visits - conversion_measure: - name: buys - fill_nulls_with: 0 - entity: user - window: 7 days -``` - -This will return the following results: - - +Note the `filter` and `alias` parameters for the metric referenced in the numerator. +- Use the `filter` parameter to apply a filter to the metric it's attached to. +- The `alias` parameter is used to avoid naming conflicts in the rendered SQL queries when the same metric is used with different filters. +- If there are no naming conflicts, the `alias` parameter can be left out. diff --git a/website/docs/docs/build/simple.md b/website/docs/docs/build/simple.md index 6249769989b..b384c53489f 100644 --- a/website/docs/docs/build/simple.md +++ b/website/docs/docs/build/simple.md @@ -19,8 +19,7 @@ Simple metrics are metrics that directly reference a single measure, without any | `label` | The value that will be displayed in downstream tools. | Required | | `type_params` | The type parameters of the metric. | Required | | `measure` | The measure you're referencing. | Required | - -Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. +| `fill_nulls_with` | Set the value to zero instead of null in your metric definition. | Optional | The following displays the complete specification for simple metrics, along with an example. @@ -33,6 +32,7 @@ metrics: label: The value that will be displayed in downstream tools # Required type_params: # Required measure: The measure you're referencing # Required + fill_nulls_with: Value to zero instead of null # Optional ``` @@ -52,44 +52,16 @@ If you've already defined the measure using the `create_metric: true` parameter, type: simple # Pointers to a measure you created in a semantic model label: Count of customers type_params: + fills_nulls_with: 0 measure: customers # The measure you're creating a proxy of. - name: large_orders description: "Order with order values over 20." type: SIMPLE label: Large Orders type_params: + fill_nulls_with: 0 measure: orders filter: | # For any metric you can optionally include a filter on dimension values {{Dimension('customer__order_total_dim')}} >= 20 ``` -### Additional settings - -Use the following additional settings to customize your conversion metrics: - -- **Null conversion values:** Set null conversions to zero using `fill_nulls_with`. - - - -To return zero in the final data set, you can set the value of a null conversion event to zero instead of null. You can add the `fill_nulls_with` parameter to your conversion metric definition like this: - -```yaml -- name: vist_to_buy_conversion_rate_7_day_window - description: "Conversion rate from viewing a page to making a purchase" - type: conversion - label: Visit to Seller Conversion Rate (7 day window) - type_params: - conversion_type_params: - calculation: conversions - base_measure: visits - conversion_measure: - name: buys - fill_nulls_with: 0 - entity: user - window: 7 days -``` - -This will return the following results: - - From 4682138bba356a2297d5d120c38f6253caa1f371 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Fri, 19 Jan 2024 15:53:20 -0700 Subject: [PATCH 04/21] Document `DBT_PRINT` / `DBT_NO_PRINT` environment variables --- website/docs/reference/global-configs/print-output.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/docs/reference/global-configs/print-output.md b/website/docs/reference/global-configs/print-output.md index 112b92b546f..016ef46b6db 100644 --- a/website/docs/reference/global-configs/print-output.md +++ b/website/docs/reference/global-configs/print-output.md @@ -8,7 +8,7 @@ sidebar: "Print output" -By default, dbt includes `print()` messages in standard out (stdout). You can use the `NO_PRINT` config to prevent these messages from showing up in stdout. +By default, dbt includes `print()` messages in standard out (stdout). You can use the `DBT_NO_PRINT` environment variable to prevent these messages from showing up in stdout. @@ -23,7 +23,7 @@ config: -By default, dbt includes `print()` messages in standard out (stdout). You can use the `PRINT` config to prevent these messages from showing up in stdout. +By default, dbt includes `print()` messages in standard out (stdout). You can use the `DBT_PRINT` environment variable to prevent these messages from showing up in stdout. @@ -36,7 +36,7 @@ config: :::warning Syntax deprecation -The original `NO_PRINT` syntax has been deprecated, starting with dbt v1.5. Backward compatibility is supported but will be removed in an as-of-yet-undetermined future release. +The original `DBT_NO_PRINT` environment variable has been deprecated, starting with dbt v1.5. Backward compatibility is supported but will be removed in an as-of-yet-undetermined future release. ::: From 1fbb8df5d083f35b8b360c3362304d428f63a4e0 Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Fri, 19 Jan 2024 16:05:55 -0700 Subject: [PATCH 05/21] Remove unnecessary ellipses --- website/docs/reference/global-configs/print-output.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/docs/reference/global-configs/print-output.md b/website/docs/reference/global-configs/print-output.md index 016ef46b6db..096ecf95d2d 100644 --- a/website/docs/reference/global-configs/print-output.md +++ b/website/docs/reference/global-configs/print-output.md @@ -46,8 +46,6 @@ Supply `--no-print` flag to `dbt run` to suppress `print()` messages from showin ```text dbt --no-print run -... - ``` ### Printer width From 930a26e2301011a92b410790670a640d210e4c8d Mon Sep 17 00:00:00 2001 From: Doug Beatty <44704949+dbeatty10@users.noreply.github.com> Date: Fri, 19 Jan 2024 16:07:45 -0700 Subject: [PATCH 06/21] Remove configuration examples that do not work --- .../reference/global-configs/print-output.md | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/website/docs/reference/global-configs/print-output.md b/website/docs/reference/global-configs/print-output.md index 096ecf95d2d..78de635f2dd 100644 --- a/website/docs/reference/global-configs/print-output.md +++ b/website/docs/reference/global-configs/print-output.md @@ -10,30 +10,12 @@ sidebar: "Print output" By default, dbt includes `print()` messages in standard out (stdout). You can use the `DBT_NO_PRINT` environment variable to prevent these messages from showing up in stdout. - - -```yaml -config: - no_print: true -``` - - - By default, dbt includes `print()` messages in standard out (stdout). You can use the `DBT_PRINT` environment variable to prevent these messages from showing up in stdout. - - -```yaml -config: - print: false -``` - - - :::warning Syntax deprecation The original `DBT_NO_PRINT` environment variable has been deprecated, starting with dbt v1.5. Backward compatibility is supported but will be removed in an as-of-yet-undetermined future release. From 6348e402b6dba43cd83033a06cec7bb1f127bf5a Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:01:50 +0000 Subject: [PATCH 07/21] Update website/docs/docs/build/conversion-metrics.md --- website/docs/docs/build/conversion-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/conversion-metrics.md b/website/docs/docs/build/conversion-metrics.md index 48915c410f9..bd2a16c3146 100644 --- a/website/docs/docs/build/conversion-metrics.md +++ b/website/docs/docs/build/conversion-metrics.md @@ -32,7 +32,7 @@ The specification for conversion metrics is as follows: | `constant_properties` | List of constant properties. | List | Optional | | `base_property` | The property from the base semantic model that you want to hold constant. | Entity or Dimension | Optional | | `conversion_property` | The property from the conversion semantic model that you want to hold constant. | Entity or Dimension | Optional | -| `fill_nulls_with` | Set the value of a null conversion event to zero instead of null. | String | Optional | +| `fill_nulls_with` | Set the value in your metric definition instead of null (such as zero). | String | Optional | Refer to [additional settings](#additional-settings) to learn how to customize conversion metrics with settings for null values, calculation type, and constant properties. From 08652a4e806b60db12a86fc725050453ab042084 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:02:48 +0000 Subject: [PATCH 08/21] Update website/docs/docs/build/cumulative-metrics.md --- website/docs/docs/build/cumulative-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/cumulative-metrics.md b/website/docs/docs/build/cumulative-metrics.md index 85e6bf4f085..c55f879a419 100644 --- a/website/docs/docs/build/cumulative-metrics.md +++ b/website/docs/docs/build/cumulative-metrics.md @@ -20,7 +20,7 @@ This metric is common for calculating things like weekly active users, or month- | `measure` | The measure you are referencing. | Required | | `window` | The accumulation window, such as 1 month, 7 days, 1 year. This can't be used with `grain_to_date`. | Optional | | `grain_to_date` | Sets the accumulation grain, such as month will accumulate data for one month. Then restart at the beginning of the next. This can't be used with `window`. | Optional | -| `fill_nulls_with` | Set the value to zero instead of null in your metric definition. | Optional | +| `fill_nulls_with` | Set the value in your metric definition instead of null (such as zero).| Optional | The following displays the complete specification for cumulative metrics, along with an example: From ed37744a422af36f5e08d35e0dc51613a84c9d12 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:03:14 +0000 Subject: [PATCH 09/21] Update website/docs/docs/build/derived-metrics.md --- website/docs/docs/build/derived-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/derived-metrics.md b/website/docs/docs/build/derived-metrics.md index fcc585500cb..f9ce13c0932 100644 --- a/website/docs/docs/build/derived-metrics.md +++ b/website/docs/docs/build/derived-metrics.md @@ -21,7 +21,7 @@ In MetricFlow, derived metrics are metrics created by defining an expression usi | `metrics` | The list of metrics used in the derived metrics. | Required | | `alias` | Optional alias for the metric that you can use in the expr. | Optional | | `filter` | Optional filter to apply to the metric. | Optional | -| `fill_nulls_with` | Set the value to zero instead of null in your metric definition. | Optional | +| `fill_nulls_with` | Set the value in your metric definition instead of null (such as zero). | Optional | | `offset_window` | Set the period for the offset window, such as 1 month. This will return the value of the metric one month from the metric time. | Optional | The following displays the complete specification for derived metrics, along with an example. From f4f319f04e4f95aee3bf83d6a3bf49af670cf673 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:03:41 +0000 Subject: [PATCH 10/21] Update website/docs/docs/build/derived-metrics.md --- website/docs/docs/build/derived-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/derived-metrics.md b/website/docs/docs/build/derived-metrics.md index f9ce13c0932..35adb12cb1a 100644 --- a/website/docs/docs/build/derived-metrics.md +++ b/website/docs/docs/build/derived-metrics.md @@ -33,7 +33,7 @@ metrics: type: derived # Required label: The value that will be displayed in downstream tools #Required type_params: # Required - fill_nulls_with: Set value to zero instead of null # Optional + fill_nulls_with: Set the value in your metric definition instead of null (such as zero) # Optional expr: the derived expression # Required metrics: # The list of metrics used in the derived metrics # Required - name: the name of the metrics. must reference a metric you have already defined # Required From fb5f85482011fb198fd4789ac0b401ea48c2fb40 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:05:13 +0000 Subject: [PATCH 11/21] Update website/docs/docs/build/simple.md --- website/docs/docs/build/simple.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/simple.md b/website/docs/docs/build/simple.md index b384c53489f..0d5704c5514 100644 --- a/website/docs/docs/build/simple.md +++ b/website/docs/docs/build/simple.md @@ -32,7 +32,7 @@ metrics: label: The value that will be displayed in downstream tools # Required type_params: # Required measure: The measure you're referencing # Required - fill_nulls_with: Value to zero instead of null # Optional + fill_nulls_with: Set value instead of null (such as zero) # Optional ``` From 7b3ffe1fa5e3a8284f05fb3e64e8d0eb315bb0e2 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:05:29 +0000 Subject: [PATCH 12/21] Update website/docs/docs/build/metrics-overview.md --- website/docs/docs/build/metrics-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/metrics-overview.md b/website/docs/docs/build/metrics-overview.md index 60b103419e3..f6844c60498 100644 --- a/website/docs/docs/build/metrics-overview.md +++ b/website/docs/docs/build/metrics-overview.md @@ -51,7 +51,7 @@ metrics: type: conversion # Required label: # Required type_params: # Required - fills_nulls_with: Set value to zero instead of null # Optional + fills_nulls_with: Set the value in your metric definition instead of null (such as zero) # Optional conversion_type_params: # Required entity: ENTITY # Required calculation: CALCULATION_TYPE # Optional. default: conversion_rate. options: conversions(buys) or conversion_rate (buys/visits), and more to come. From 8384e7bd30dbdb75791ba32e52184e8fff85653c Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:05:36 +0000 Subject: [PATCH 13/21] Update website/docs/docs/build/ratio-metrics.md --- website/docs/docs/build/ratio-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/ratio-metrics.md b/website/docs/docs/build/ratio-metrics.md index f0db2963f4a..0a2ca985eea 100644 --- a/website/docs/docs/build/ratio-metrics.md +++ b/website/docs/docs/build/ratio-metrics.md @@ -21,7 +21,7 @@ Ratio allows you to create a ratio between two metrics. You simply specify a num | `denominator` | The name of the metric used for the denominator, or structure of properties. | Required | | `filter` | Optional filter for the numerator or denominator. | Optional | | `alias` | Optional alias for the numerator or denominator. | Optional | -| `fill_nulls_with` | Set the value to zero instead of null in your metric definition. | Optional | +| `fill_nulls_with` | Set the value in your metric definition instead of null (such as zero). | Optional | The following displays the complete specification for ratio metrics, along with an example. From 632d85b61ee479d64b4a050e1f4faa12d7b0a3ab Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:05:42 +0000 Subject: [PATCH 14/21] Update website/docs/docs/build/ratio-metrics.md --- website/docs/docs/build/ratio-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/ratio-metrics.md b/website/docs/docs/build/ratio-metrics.md index 0a2ca985eea..5de4128c1f5 100644 --- a/website/docs/docs/build/ratio-metrics.md +++ b/website/docs/docs/build/ratio-metrics.md @@ -32,7 +32,7 @@ metrics: type: ratio # Required label: The value that will be displayed in downstream tools #Required type_params: # Required - fill_nulls_with: Value to zero instead of null # Optional + fill_nulls_with: Set value instead of null (such as zero) # Optional numerator: The name of the metric used for the numerator, or structure of properties # Required name: Name of metric used for the numerator # Required filter: Filter for the numerator # Optional From 0ba2a0998ead320dee0db98d859347da524f053f Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:05:49 +0000 Subject: [PATCH 15/21] Update website/docs/docs/build/simple.md --- website/docs/docs/build/simple.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/simple.md b/website/docs/docs/build/simple.md index 0d5704c5514..fafb770dd04 100644 --- a/website/docs/docs/build/simple.md +++ b/website/docs/docs/build/simple.md @@ -19,7 +19,7 @@ Simple metrics are metrics that directly reference a single measure, without any | `label` | The value that will be displayed in downstream tools. | Required | | `type_params` | The type parameters of the metric. | Required | | `measure` | The measure you're referencing. | Required | -| `fill_nulls_with` | Set the value to zero instead of null in your metric definition. | Optional | +| `fill_nulls_with` | Set the value in your metric definition instead of null (such as zero). | Optional | The following displays the complete specification for simple metrics, along with an example. From a5b6462833e0401abd1fb78995a17fbd2450cd9d Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:06:19 +0000 Subject: [PATCH 16/21] Update website/docs/docs/build/cumulative-metrics.md --- website/docs/docs/build/cumulative-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/cumulative-metrics.md b/website/docs/docs/build/cumulative-metrics.md index c55f879a419..ac3196dc874 100644 --- a/website/docs/docs/build/cumulative-metrics.md +++ b/website/docs/docs/build/cumulative-metrics.md @@ -31,7 +31,7 @@ metrics: type: cumulative # Required label: The value that will be displayed in downstream tools # Required type_params: # Required - fill_nulls_with: Set value to zero instead of null # Optional + fill_nulls_with: Set the value in your metric definition instead of null (such as zero)# Optional measure: The measure you are referencing # Required window: The accumulation window, such as 1 month, 7 days, 1 year. # Optional. Cannot be used with grain_to_date grain_to_date: Sets the accumulation grain, such as month will accumulate data for one month, then restart at the beginning of the next. # Optional. Cannot be used with window From 9defe732f6d9847c92bb1704bc31a8a2f9ee9637 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:06:42 +0000 Subject: [PATCH 17/21] Update website/docs/docs/build/conversion-metrics.md --- website/docs/docs/build/conversion-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/conversion-metrics.md b/website/docs/docs/build/conversion-metrics.md index bd2a16c3146..39b3d969b27 100644 --- a/website/docs/docs/build/conversion-metrics.md +++ b/website/docs/docs/build/conversion-metrics.md @@ -45,7 +45,7 @@ metrics: type: conversion # Required label: # Required type_params: # Required - fills_nulls_with: Set value to zero instead of null # Optional + fills_nulls_with: Set the value in your metric definition instead of null (such as zero) # Optional conversion_type_params: # Required entity: ENTITY # Required calculation: CALCULATION_TYPE # Optional. default: conversion_rate. options: conversions(buys) or conversion_rate (buys/visits), and more to come. From 5c274545fca62b5afd9e35456cb95fa035a67b34 Mon Sep 17 00:00:00 2001 From: mirnawong1 <89008547+mirnawong1@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:06:58 +0000 Subject: [PATCH 18/21] Update website/docs/docs/build/cumulative-metrics.md --- website/docs/docs/build/cumulative-metrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/docs/build/cumulative-metrics.md b/website/docs/docs/build/cumulative-metrics.md index ac3196dc874..ec962969c9e 100644 --- a/website/docs/docs/build/cumulative-metrics.md +++ b/website/docs/docs/build/cumulative-metrics.md @@ -31,7 +31,7 @@ metrics: type: cumulative # Required label: The value that will be displayed in downstream tools # Required type_params: # Required - fill_nulls_with: Set the value in your metric definition instead of null (such as zero)# Optional + fill_nulls_with: Set the value in your metric definition instead of null (such as zero) # Optional measure: The measure you are referencing # Required window: The accumulation window, such as 1 month, 7 days, 1 year. # Optional. Cannot be used with grain_to_date grain_to_date: Sets the accumulation grain, such as month will accumulate data for one month, then restart at the beginning of the next. # Optional. Cannot be used with window From c9418ff1a89bf39c82567ceab0f6cf88d8ebad4d Mon Sep 17 00:00:00 2001 From: Jordan Stein Date: Tue, 23 Jan 2024 10:19:00 -0800 Subject: [PATCH 19/21] add closing parenthesis --- website/docs/docs/dbt-cloud-apis/sl-jdbc.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md index 97f70902c74..0927f8acc02 100644 --- a/website/docs/docs/dbt-cloud-apis/sl-jdbc.md +++ b/website/docs/docs/dbt-cloud-apis/sl-jdbc.md @@ -289,7 +289,7 @@ where="{{ Dimension('metric_time').grain('month') }} >= '2017-03-09' AND {{ Dim select * from {{ semantic_layer.query(metrics=['food_order_amount', 'order_gross_profit'], group_by=[Dimension('metric_time').grain('month'),'customer__customer_type'], -where=["{{ Dimension('metric_time').grain('month') }} >= '2017-03-09'", "{{ Dimension('customer__customer_type' }} in ('new')", "{{ Entity('order_id') }} = 10"] +where=["{{ Dimension('metric_time').grain('month') }} >= '2017-03-09'", "{{ Dimension('customer__customer_type') }} in ('new')", "{{ Entity('order_id') }} = 10"]) }} ``` @@ -313,7 +313,7 @@ select * from {{ semantic_layer.query(metrics=['food_order_amount', 'order_gross_profit'], group_by=[Dimension('metric_time')], limit=10, - order_by=['order_gross_profit'] + order_by=['order_gross_profit']) }} ``` @@ -324,7 +324,7 @@ select * from {{ semantic_layer.query(metrics=['food_order_amount', 'order_gross_profit'], group_by=[Dimension('metric_time')], limit=10, - order_by=[-'order_gross_profit'] + order_by=[-'order_gross_profit']) }} ``` If you are ordering by an object that's been operated on (e.g., change granularity), or you are using the full object notation, descending order must look like: @@ -334,7 +334,7 @@ select * from {{ semantic_layer.query(metrics=['food_order_amount', 'order_gross_profit'], group_by=[Dimension('metric_time').grain('week')], limit=10, - order_by=[Metric('order_gross_profit').descending(True), Dimension('metric_time').grain('week').descending(True) ] + order_by=[Metric('order_gross_profit').descending(True), Dimension('metric_time').grain('week').descending(True) ]) }} ``` @@ -345,7 +345,7 @@ select * from {{ semantic_layer.query(metrics=['food_order_amount', 'order_gross_profit'], group_by=[Dimension('metric_time').grain('week')], limit=10, - order_by=[Metric('order_gross_profit'), Dimension('metric_time').grain('week')] + order_by=[Metric('order_gross_profit'), Dimension('metric_time').grain('week')]) }} ``` From e5e78567178512650381a80640755f77b6045303 Mon Sep 17 00:00:00 2001 From: Joel Labes Date: Wed, 24 Jan 2024 22:19:32 +1300 Subject: [PATCH 20/21] Revise contribution guidelines --- contributing/developer-blog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/developer-blog.md b/contributing/developer-blog.md index aa9d5b33131..0d9b3becba2 100644 --- a/contributing/developer-blog.md +++ b/contributing/developer-blog.md @@ -6,7 +6,7 @@ The dbt Developer Blog is a place where analytics practitioners can go to share their knowledge with the community. Analytics Engineering is a discipline we’re all building together. The developer blog exists to cultivate the collective knowledge that exists on how to build and scale effective data teams. -We currently have editorial capacity for 10 Community contributed developer blogs per quarter - if we are oversubscribed we suggest you post on another platform or hold off until the editorial team is ready to take on more posts. +We currently have editorial capacity for a few Community contributed developer blogs per quarter - if we are oversubscribed we suggest you post on another platform or hold off until the editorial team is ready to take on more posts. ### What makes a good developer blog post? From cb91db7596563c3081e0962dcd80b407eca3025a Mon Sep 17 00:00:00 2001 From: mirnawong1 Date: Wed, 24 Jan 2024 11:07:55 +0000 Subject: [PATCH 21/21] correct tense --- website/snippets/_v2-sl-prerequisites.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/snippets/_v2-sl-prerequisites.md b/website/snippets/_v2-sl-prerequisites.md index 99d8a945db6..18f228ad3fe 100644 --- a/website/snippets/_v2-sl-prerequisites.md +++ b/website/snippets/_v2-sl-prerequisites.md @@ -7,4 +7,4 @@ - Set up the [Semantic Layer API](/docs/dbt-cloud-apis/sl-api-overview) in the integrated tool to import metric definitions. - dbt Core or Developer accounts can define metrics but won't be able to dynamically query them.
- Understand [MetricFlow's](/docs/build/about-metricflow) key concepts, which powers the latest dbt Semantic Layer. -- Note that SSH tunneling for [Postgres and Redshift](/docs/cloud/connect-data-platform/connect-redshift-postgresql-alloydb) connections, [PrivateLink](/docs/cloud/secure/about-privatelink), and [Single sign-on (SSO)](/docs/cloud/manage-access/sso-overview) doesn't supported the dbt Semantic Layer yet. +- Note that SSH tunneling for [Postgres and Redshift](/docs/cloud/connect-data-platform/connect-redshift-postgresql-alloydb) connections, [PrivateLink](/docs/cloud/secure/about-privatelink), and [Single sign-on (SSO)](/docs/cloud/manage-access/sso-overview) doesn't support the dbt Semantic Layer yet.