| # 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 |
| } |
| } |