cubes:
- name: all_sales
sql: |
SELECT
amount,
user_id AS customer_id,
created_at,
'online' AS row_type
FROM {online_orders.sql()} AS online
UNION ALL
SELECT
amount,
customer_id,
created_at,
'retail' AS row_type
FROM {retail_orders.sql()} AS retail
measures:
- name: customer_count
sql: customer_id
type: count_distinct
- name: revenue
sql: amount
type: sum
- name: online_revenue
sql: amount
type: sum
filters:
- sql: "{CUBE}.row_type = 'online'"
- name: offline_revenue
sql: amount
type: sum
filters:
- sql: "{CUBE}.row_type = 'retail'"
- name: online_revenue_percentage
sql: |
{online_revenue} /
NULLIF({online_revenue} + {offline_revenue}, 0)
type: number
format: percent
dimensions:
- name: created_at
sql: created_at
type: time
- name: revenue_type
sql: row_type
type: string