blob: 83a85e920f9205b0e319d7b00f0ff4ca16e006fe [file] [log] [blame]
# https://lookercs-internal.git.corp.google.com/cloud_sales_bi/+/refs/heads/master/views/revenue/rolling_window.view.lkml
view: rolling_window {
extension: required
########## DIMENSIONS ############
dimension: rolling_window {
view_label: "Revenue Comparisons"
order_by_field: rolling_window_num
description: "Grouping for rolling windows (use window_size parameter to change from default 28)"
type: string
sql: CONCAT(
${rolling_window_start_month_name}
, ' '
, ${rolling_window_start_day_of_month}
, ', '
, ${rolling_window_start_year}
, ' --> '
, ${rolling_window_end_month_name}
, ' '
, ${rolling_window_end_day_of_month}
, ', '
, ${rolling_window_end_year}
) ;;
}
dimension_group: rolling_window_end {
description: "Start date for rolling windows (use window_size parameter to change from default 28)"
hidden: yes
type: time
timeframes: [raw, day_of_month, month_name, year]
convert_tz: no
sql: DATE_ADD(
${max_date.max_date_minus_2_raw}
, INTERVAL CAST(-1 * ({% parameter window_size %} + 1) * ${rolling_window_num} AS INT64) DAY
) ;;
}
dimension: rolling_window_num {
description: "Grouping for rolling windows (use window_size parameter to change from default 28)"
hidden: yes
type: number
sql: CASE
WHEN ${usage_raw} > ${max_date.max_date_minus_2_raw}
THEN NULL
ELSE FLOOR(DATE_DIFF(${max_date.max_date_minus_2_raw}, ${usage_raw}, DAY) / {% parameter window_size %})
END ;;
}
dimension_group: rolling_window_start {
description: "End date for rolling windows (use window_size parameter to change from default 28)"
hidden: yes
type: time
timeframes: [raw, day_of_month, month_name, year]
convert_tz: no
sql: DATE_ADD(
${max_date.max_date_minus_2_raw}
, INTERVAL CAST((-1 * {% parameter window_size %}) + (-1 * ({% parameter window_size %} + 1)) * ${rolling_window_num} AS INT64) DAY
) ;;
}
########## MEASURES ###############
measure: rolling_window_current_window {
view_label: "Revenue Comparisons"
group_label: "Rolling Window (Sales)"
label: "Current Window Revenue (Sales)"
description: "Revenue during most recent window (use with filter Window Size)"
sql: ${usd_revenue_blended} ;;
type: sum
filters: [rolling_window_num: "0"]
# html: @{custom_dollar_formatting} ;;
value_format_name: usd_0
}
measure: rolling_window_current_window_gross {
view_label: "Revenue Comparisons"
group_label: "Rolling Window (Gross)"
label: "Current Window Revenue (Gross)"
description: "Revenue during most recent window (use with filter Window Size)"
sql: ${usd_revenue_gross} ;;
type: sum
filters: [rolling_window_num: "0"]
# html: @{custom_dollar_formatting} ;;
value_format_name: usd_0
}
measure: rolling_window_prior_window {
view_label: "Revenue Comparisons"
group_label: "Rolling Window (Sales)"
label: "Prior Window Revenue (Sales)"
description: "Revenue during previous window (use with filter Window Size)"
sql: ${usd_revenue_blended} ;;
type: sum
filters: [rolling_window_num: "1"]
# html: @{custom_dollar_formatting} ;;
value_format_name: usd_0
}
measure: rolling_window_prior_window_gross {
view_label: "Revenue Comparisons"
group_label: "Rolling Window (Gross)"
label: "Prior Window Revenue (Gross)"
description: "Revenue during previous window (use with filter Window Size)"
sql: ${usd_revenue_gross} ;;
type: sum
filters: [rolling_window_num: "1"]
# html: @{custom_dollar_formatting} ;;
value_format_name: usd_0
}
measure: rolling_window_window_variance {
view_label: "Revenue Comparisons"
group_label: "Rolling Window (Sales)"
label: "Window Variance (Sales)"
type: number
description: "Difference between current and prior window revenue (use with filter Window Size)"
sql: ${rolling_window_current_window} - ${rolling_window_prior_window} ;;
drill_fields: [billing_account_id, rolling_window_window_variance]
# html: @{custom_dollar_formatting} ;;
value_format_name: usd_0
}
measure: rolling_window_window_variance_gross {
view_label: "Revenue Comparisons"
group_label: "Rolling Window (Gross)"
label: "Window Variance (Gross)"
type: number
description: "Difference between current and prior window revenue for Revenue (Gross) (use with filter Window Size)"
sql: ${rolling_window_current_window_gross} - ${rolling_window_prior_window_gross} ;;
drill_fields: [billing_account_id, rolling_window_window_variance_gross]
# html: @{custom_dollar_formatting} ;;
value_format_name: usd_0
}
########## PARAMETERS ###############
parameter: window_size {
view_label: "Revenue Comparisons"
description: "Window for comparison periods (rolling_window). Default is 28 days."
type: number
default_value: "28"
}
}