blob: 3a182337620a0b29f2f9c91bfff3458c10570364 [file] [log] [blame] [edit]
# https://lookercs-internal.git.corp.google.com/cloud_sales_bi/+/refs/heads/master/views/revenue/comparisons_from_revenue.view.lkml
view: comparisons_from_revenue {
extension: required
########## DIMENSIONS ############
dimension: comparison_usage_day_of_period {
view_label: "Revenue Comparisons"
group_label: "Comparison Usage Date"
type: number
sql:
CASE
WHEN ${comparison_period} IS NULL
THEN NULL
WHEN ${comparison_period} = "Current Period"
THEN DATE_DIFF(${usage_raw}, {% date_start comparison_date_range %}, DAY)
ELSE
DATE_DIFF(
${usage_raw}
, DATE_ADD(
{% date_start comparison_date_range %}
, INTERVAL CAST(-1 * ${comparison_period_num} AS INT64) {% parameter comparison_type %})
, DAY)
END ;;
}
dimension_group: comparison_usage {
description: "Use this as an X-axis for revenue comparisons"
view_label: "Revenue Comparisons"
type: time
datatype: date
timeframes: [raw, date, week, month, quarter, year]
sql: DATE_ADD({% date_start comparison_date_range %}, INTERVAL ${comparison_usage_day_of_period} DAY) ;;
convert_tz: no
}
dimension: comparison_period {
suggestions: ["Current Period", "Prior Period"]
view_label: "Revenue Comparisons"
description: "Label used to differentiate between Current and Prior periods for comparisons."
type: string
sql: CASE
WHEN ${comparison_period_num} IS NULL
THEN NULL
WHEN ${comparison_period_num} = 0
THEN "Current Period"
WHEN ${comparison_period_num} = 1
THEN "Prior Period"
ELSE CONCAT(CAST(${comparison_period_num} AS STRING), ' Periods Ago')
END;;
}
dimension: comparison_period_num {
hidden: yes
type: number
description: "Calculates how many periods ago this date is from our comparison (and removed dates outside of our range)."
sql: CASE
WHEN ${usage_raw} > {% date_end comparison_date_range %}
THEN NULL
WHEN ${usage_raw} BETWEEN {% date_start comparison_date_range %} AND {% date_end comparison_date_range %}
THEN 0
WHEN ${usage_raw} BETWEEN DATE_ADD({% date_start comparison_date_range %}, INTERVAL -1 {% parameter comparison_type %})
AND DATE_ADD({% date_end comparison_date_range %}, INTERVAL -1 {% parameter comparison_type %})
THEN 1
WHEN ${usage_raw} BETWEEN DATE_ADD({% date_start comparison_date_range %}, INTERVAL -2 {% parameter comparison_type %})
AND DATE_ADD({% date_end comparison_date_range %}, INTERVAL -2 {% parameter comparison_type %})
THEN 2
WHEN ${usage_raw} BETWEEN DATE_ADD({% date_start comparison_date_range %}, INTERVAL -3 {% parameter comparison_type %})
AND DATE_ADD({% date_end comparison_date_range %}, INTERVAL -3 {% parameter comparison_type %})
THEN 3
WHEN ${usage_raw} BETWEEN DATE_ADD({% date_start comparison_date_range %}, INTERVAL -4 {% parameter comparison_type %})
AND DATE_ADD({% date_end comparison_date_range %}, INTERVAL -4 {% parameter comparison_type %})
THEN 4
WHEN ${usage_raw} BETWEEN DATE_ADD({% date_start comparison_date_range %}, INTERVAL -5 {% parameter comparison_type %})
AND DATE_ADD({% date_end comparison_date_range %}, INTERVAL -5 {% parameter comparison_type %})
THEN 5
ELSE NULL
END ;;
}
########## PARAMETERS ############
parameter: comparison_type {
view_label: "Revenue Comparisons"
description: "Sets the comparison type for Revenue Evolution"
default_value: "YEAR"
type: unquoted
allowed_value: {
label: "Year-over-Year"
value: "YEAR"
}
allowed_value: {
label: "Quarter-over-Quarter"
value: "QUARTER"
}
allowed_value: {
label: "Month-over-Month"
value: "MONTH"
}
}
filter: comparison_date_range {
view_label: "Revenue Comparisons"
description: "Sets the period for examining Revenue Evolution"
default_value: "365 day"
type: date
datatype: date
}
}