dbt
Analytics marketing
Optimization Output Flow Comparison
Optimization Output Flow Comparison model for analytics marketing.
inferred
Blocks
optimization_output_flow_comparison.sql · 110 lines
inferred
-- models/optimization_output_flow_comparison.sql
{{ config(materialized='view') }}
WITH
left_flow AS (
SELECT *
FROM optimization_output_flow_view
WHERE
{% condition left_optimization_run_id %} optimization_run_id {% endcondition %}
),
right_flow AS (
SELECT *
FROM optimization_output_flow_view
WHERE
{% condition right_optimization_run_id %} optimization_run_id {% endcondition %}
)
SELECT
left_flow.optimization_run_id AS left_optimization_run_id,
right_flow.optimization_run_id AS right_optimization_run_id,
COALESCE(left_flow.source_site_name, right_flow.source_site_name) AS source_site_name,
COALESCE(left_flow.source_site_type, right_flow.source_site_type) AS source_site_type,
COALESCE(left_flow.source_site_address, right_flow.source_site_address) AS source_site_address,
COALESCE(left_flow.source_site_city, right_flow.source_site_city) AS source_site_city,
COALESCE(left_flow.source_site_state, right_flow.source_site_state) AS source_site_state,
COALESCE(left_flow.source_site_postal, right_flow.source_site_postal) AS source_site_postal,
COALESCE(left_flow.source_site_country, right_flow.source_site_country) AS source_site_country,
COALESCE(left_flow.source_site_latitude, right_flow.source_site_latitude) AS source_site_latitude,
COALESCE(left_flow.source_site_longitude, right_flow.source_site_latitude) AS source_site_longitude,
COALESCE(left_flow.destination_site_name, right_flow.destination_site_name) AS destination_site_name,
COALESCE(left_flow.destination_site_type, right_flow.destination_site_type) AS destination_site_type,
COALESCE(left_flow.destination_site_address, right_flow.destination_site_address) AS destination_site_address,
COALESCE(left_flow.destination_site_city, right_flow.destination_site_city) AS destination_site_city,
COALESCE(left_flow.destination_site_state, right_flow.destination_site_state) AS destination_site_state,
COALESCE(left_flow.destination_site_postal, right_flow.destination_site_postal) AS destination_site_postal,
COALESCE(left_flow.destination_site_country, right_flow.destination_site_country) AS destination_site_country,
COALESCE(left_flow.destination_site_latitude, right_flow.destination_site_latitude) AS destination_site_latitude,
COALESCE(left_flow.destination_site_longitude, right_flow.destination_site_longitude) AS destination_site_longitude,
COALESCE(left_flow.product_name, right_flow.product_name) AS product_name,
COALESCE(left_flow.product_description, right_flow.product_description) AS product_description,
COALESCE(left_flow.product_weight, right_flow.product_weight) AS product_weight,
COALESCE(left_flow.product_volume, right_flow.product_volume) AS product_volume,
COALESCE(left_flow.product_shelf_life, right_flow.product_shelf_life) AS product_shelf_life,
COALESCE(left_flow.product_price, right_flow.product_price) AS product_price,
COALESCE(left_flow.product_value, right_flow.product_value) AS product_value,
COALESCE(left_flow.transportation_mode_name, right_flow.transportation_mode_name) AS transportation_mode_name,
COALESCE(left_flow.period_name, right_flow.period_name) AS period_name,
COALESCE(left_flow.period_index, right_flow.period_index) AS period_index,
COALESCE(left_flow.period_start, right_flow.period_start) AS period_start,
COALESCE(left_flow.period_end, right_flow.period_end) AS period_end,
COALESCE(left_flow.flow_amount, 0.0) AS left_flow_amount,
COALESCE(left_flow.flow_cost, 0.0) AS left_flow_cost,
COALESCE(left_flow.flow_distance, 0.0) AS left_flow_distance,
COALESCE(right_flow.flow_amount, 0.0) AS right_flow_amount,
COALESCE(right_flow.flow_cost, 0.0) AS right_flow_cost,
COALESCE(right_flow.flow_distance, 0.0) AS right_flow_distance
FROM
left_flow
FULL OUTER JOIN right_flow
ON left_flow.source_site_name = right_flow.source_site_name
AND left_flow.destination_site_name = right_flow.destination_site_name
AND left_flow.product_name = right_flow.product_name
AND left_flow.transportation_mode_name = right_flow.transportation_mode_name
AND left_flow.period_name = right_flow.period_name
# models/schema.yml
version: 2
models:
- name: optimization_output_flow_comparison
columns:
- name: left_optimization_run
- name: right_optimization_run
- name: source_site_name
- name: source_site_address
- name: source_site_city
- name: source_site_country
- name: source_site_latitude
- name: source_site_longitude
- name: source_site_location
- name: source_site_postal
- name: source_site_state
- name: source_site_type
- name: destination_site_name
- name: destination_site_address
- name: destination_site_city
- name: destination_site_country
- name: destination_site_latitude
- name: destination_site_longitude
- name: destination_site_location
- name: destination_site_postal
- name: destination_site_state
- name: destination_site_type
- name: product_name
- name: product_description
- name: product_price
- name: product_shelf_life
- name: product_value
- name: product_volume
- name: product_weight
- name: transportation_mode_name
- name: period_name
- name: left_flow_amount
- name: left_flow_unit_cost
- name: left_flow_distance
- name: left_flow_cost
- name: right_flow_amount
- name: right_flow_unit_cost
- name: right_flow_cost
- name: right_flow_distance
- name: flow_type
Assumptions
- materialized='view' is the default; no persist hint found.
- schema.yml columns come from view dimensions; a primary_key dimension gets unique + not_null tests.
optimization_output_flow_comparison.sql · 60 lines
source-preserved
validation: not checked
WITH
left_flow AS (
SELECT *
FROM optimization_output_flow_view
WHERE
{% condition left_optimization_run_id %} optimization_run_id {% endcondition %}
),
right_flow AS (
SELECT *
FROM optimization_output_flow_view
WHERE
{% condition right_optimization_run_id %} optimization_run_id {% endcondition %}
)
SELECT
left_flow.optimization_run_id AS left_optimization_run_id,
right_flow.optimization_run_id AS right_optimization_run_id,
COALESCE(left_flow.source_site_name, right_flow.source_site_name) AS source_site_name,
COALESCE(left_flow.source_site_type, right_flow.source_site_type) AS source_site_type,
COALESCE(left_flow.source_site_address, right_flow.source_site_address) AS source_site_address,
COALESCE(left_flow.source_site_city, right_flow.source_site_city) AS source_site_city,
COALESCE(left_flow.source_site_state, right_flow.source_site_state) AS source_site_state,
COALESCE(left_flow.source_site_postal, right_flow.source_site_postal) AS source_site_postal,
COALESCE(left_flow.source_site_country, right_flow.source_site_country) AS source_site_country,
COALESCE(left_flow.source_site_latitude, right_flow.source_site_latitude) AS source_site_latitude,
COALESCE(left_flow.source_site_longitude, right_flow.source_site_latitude) AS source_site_longitude,
COALESCE(left_flow.destination_site_name, right_flow.destination_site_name) AS destination_site_name,
COALESCE(left_flow.destination_site_type, right_flow.destination_site_type) AS destination_site_type,
COALESCE(left_flow.destination_site_address, right_flow.destination_site_address) AS destination_site_address,
COALESCE(left_flow.destination_site_city, right_flow.destination_site_city) AS destination_site_city,
COALESCE(left_flow.destination_site_state, right_flow.destination_site_state) AS destination_site_state,
COALESCE(left_flow.destination_site_postal, right_flow.destination_site_postal) AS destination_site_postal,
COALESCE(left_flow.destination_site_country, right_flow.destination_site_country) AS destination_site_country,
COALESCE(left_flow.destination_site_latitude, right_flow.destination_site_latitude) AS destination_site_latitude,
COALESCE(left_flow.destination_site_longitude, right_flow.destination_site_longitude) AS destination_site_longitude,
COALESCE(left_flow.product_name, right_flow.product_name) AS product_name,
COALESCE(left_flow.product_description, right_flow.product_description) AS product_description,
COALESCE(left_flow.product_weight, right_flow.product_weight) AS product_weight,
COALESCE(left_flow.product_volume, right_flow.product_volume) AS product_volume,
COALESCE(left_flow.product_shelf_life, right_flow.product_shelf_life) AS product_shelf_life,
COALESCE(left_flow.product_price, right_flow.product_price) AS product_price,
COALESCE(left_flow.product_value, right_flow.product_value) AS product_value,
COALESCE(left_flow.transportation_mode_name, right_flow.transportation_mode_name) AS transportation_mode_name,
COALESCE(left_flow.period_name, right_flow.period_name) AS period_name,
COALESCE(left_flow.period_index, right_flow.period_index) AS period_index,
COALESCE(left_flow.period_start, right_flow.period_start) AS period_start,
COALESCE(left_flow.period_end, right_flow.period_end) AS period_end,
COALESCE(left_flow.flow_amount, 0.0) AS left_flow_amount,
COALESCE(left_flow.flow_cost, 0.0) AS left_flow_cost,
COALESCE(left_flow.flow_distance, 0.0) AS left_flow_distance,
COALESCE(right_flow.flow_amount, 0.0) AS right_flow_amount,
COALESCE(right_flow.flow_cost, 0.0) AS right_flow_cost,
COALESCE(right_flow.flow_distance, 0.0) AS right_flow_distance
FROM
left_flow
FULL OUTER JOIN right_flow
ON left_flow.source_site_name = right_flow.source_site_name
AND left_flow.destination_site_name = right_flow.destination_site_name
AND left_flow.product_name = right_flow.product_name
AND left_flow.transportation_mode_name = right_flow.transportation_mode_name
AND left_flow.period_name = right_flow.period_name
optimization_output_flow_comparison.view.lkml · 282 lines
inferred
view: optimization_output_flow_comparison {
derived_table: {
sql: WITH
left_flow AS (
SELECT *
FROM optimization_output_flow_view
WHERE
{% condition left_optimization_run_id %} optimization_run_id {% endcondition %}
),
right_flow AS (
SELECT *
FROM optimization_output_flow_view
WHERE
{% condition right_optimization_run_id %} optimization_run_id {% endcondition %}
)
SELECT
left_flow.optimization_run_id AS left_optimization_run_id,
right_flow.optimization_run_id AS right_optimization_run_id,
COALESCE(left_flow.source_site_name, right_flow.source_site_name) AS source_site_name,
COALESCE(left_flow.source_site_type, right_flow.source_site_type) AS source_site_type,
COALESCE(left_flow.source_site_address, right_flow.source_site_address) AS source_site_address,
COALESCE(left_flow.source_site_city, right_flow.source_site_city) AS source_site_city,
COALESCE(left_flow.source_site_state, right_flow.source_site_state) AS source_site_state,
COALESCE(left_flow.source_site_postal, right_flow.source_site_postal) AS source_site_postal,
COALESCE(left_flow.source_site_country, right_flow.source_site_country) AS source_site_country,
COALESCE(left_flow.source_site_latitude, right_flow.source_site_latitude) AS source_site_latitude,
COALESCE(left_flow.source_site_longitude, right_flow.source_site_latitude) AS source_site_longitude,
COALESCE(left_flow.destination_site_name, right_flow.destination_site_name) AS destination_site_name,
COALESCE(left_flow.destination_site_type, right_flow.destination_site_type) AS destination_site_type,
COALESCE(left_flow.destination_site_address, right_flow.destination_site_address) AS destination_site_address,
COALESCE(left_flow.destination_site_city, right_flow.destination_site_city) AS destination_site_city,
COALESCE(left_flow.destination_site_state, right_flow.destination_site_state) AS destination_site_state,
COALESCE(left_flow.destination_site_postal, right_flow.destination_site_postal) AS destination_site_postal,
COALESCE(left_flow.destination_site_country, right_flow.destination_site_country) AS destination_site_country,
COALESCE(left_flow.destination_site_latitude, right_flow.destination_site_latitude) AS destination_site_latitude,
COALESCE(left_flow.destination_site_longitude, right_flow.destination_site_longitude) AS destination_site_longitude,
COALESCE(left_flow.product_name, right_flow.product_name) AS product_name,
COALESCE(left_flow.product_description, right_flow.product_description) AS product_description,
COALESCE(left_flow.product_weight, right_flow.product_weight) AS product_weight,
COALESCE(left_flow.product_volume, right_flow.product_volume) AS product_volume,
COALESCE(left_flow.product_shelf_life, right_flow.product_shelf_life) AS product_shelf_life,
COALESCE(left_flow.product_price, right_flow.product_price) AS product_price,
COALESCE(left_flow.product_value, right_flow.product_value) AS product_value,
COALESCE(left_flow.transportation_mode_name, right_flow.transportation_mode_name) AS transportation_mode_name,
COALESCE(left_flow.period_name, right_flow.period_name) AS period_name,
COALESCE(left_flow.period_index, right_flow.period_index) AS period_index,
COALESCE(left_flow.period_start, right_flow.period_start) AS period_start,
COALESCE(left_flow.period_end, right_flow.period_end) AS period_end,
COALESCE(left_flow.flow_amount, 0.0) AS left_flow_amount,
COALESCE(left_flow.flow_cost, 0.0) AS left_flow_cost,
COALESCE(left_flow.flow_distance, 0.0) AS left_flow_distance,
COALESCE(right_flow.flow_amount, 0.0) AS right_flow_amount,
COALESCE(right_flow.flow_cost, 0.0) AS right_flow_cost,
COALESCE(right_flow.flow_distance, 0.0) AS right_flow_distance
FROM
left_flow
FULL OUTER JOIN right_flow
ON left_flow.source_site_name = right_flow.source_site_name
AND left_flow.destination_site_name = right_flow.destination_site_name
AND left_flow.product_name = right_flow.product_name
AND left_flow.transportation_mode_name = right_flow.transportation_mode_name
AND left_flow.period_name = right_flow.period_name ;;
}
dimension: left_optimization_run {
sql: ${TABLE}.left_optimization_run_id ;;
}
dimension: right_optimization_run {
sql: ${TABLE}.right_optimization_run_id ;;
}
dimension: source_site_name {
sql: ${TABLE}.source_site_name ;;
}
dimension: source_site_address {
sql: ${TABLE}.source_site_address ;;
}
dimension: source_site_city {
sql: ${TABLE}.source_site_city ;;
}
dimension: source_site_country {
sql: ${TABLE}.source_site_country ;;
}
dimension: source_site_latitude {
type: number
hidden: yes
sql: ${TABLE}.source_site_latitude ;;
}
dimension: source_site_longitude {
type: number
hidden: yes
sql: ${TABLE}.source_site_longitude ;;
}
dimension: source_site_location {
type: location
}
dimension: source_site_postal {
sql: ${TABLE}.source_site_postal ;;
}
dimension: source_site_state {
sql: ${TABLE}.source_site_state ;;
}
dimension: source_site_type {
sql: ${TABLE}.source_site_type ;;
}
dimension: destination_site_name {
sql: ${TABLE}.destination_site_name ;;
}
dimension: destination_site_address {
sql: ${TABLE}.destination_site_address ;;
}
dimension: destination_site_city {
sql: ${TABLE}.destination_site_city ;;
}
dimension: destination_site_country {
sql: ${TABLE}.destination_site_country ;;
}
dimension: destination_site_latitude {
type: number
hidden: yes
sql: ${TABLE}.destination_site_latitude ;;
}
dimension: destination_site_longitude {
type: number
hidden: yes
sql: ${TABLE}.destination_site_longitude ;;
}
dimension: destination_site_location {
type: location
}
dimension: destination_site_postal {
sql: ${TABLE}.destination_site_postal ;;
}
dimension: destination_site_state {
sql: ${TABLE}.destination_site_state ;;
}
dimension: destination_site_type {
sql: ${TABLE}.destination_site_type ;;
}
dimension: product_name {
sql: ${TABLE}.product_name ;;
}
dimension: product_description {
sql: ${TABLE}.product_description ;;
}
dimension: product_price {
type: number
sql: ${TABLE}.product_price ;;
}
dimension: product_shelf_life {
type: number
sql: ${TABLE}.product_shelf_life ;;
}
dimension: product_value {
type: number
sql: ${TABLE}.product_value ;;
}
dimension: product_volume {
type: number
sql: ${TABLE}.product_volume ;;
}
dimension: product_weight {
type: number
sql: ${TABLE}.product_weight ;;
}
dimension: transportation_mode_name {
sql: ${TABLE}.transportation_mode_name ;;
}
dimension: period_name {
sql: ${TABLE}.period_name ;;
}
dimension: left_flow_amount {
type: number
sql: ${TABLE}.left_flow_amount ;;
}
dimension: left_flow_unit_cost {
type: number
sql: ${TABLE}.left_flow_cost ;;
}
dimension: left_flow_distance {
type: number
sql: ${TABLE}.left_flow_distance ;;
}
dimension: left_flow_cost {
type: number
sql: ${left_flow_unit_cost} * ${left_flow_amount} ;;
}
dimension: right_flow_amount {
type: number
sql: ${TABLE}.right_flow_amount ;;
}
dimension: right_flow_unit_cost {
type: number
sql: ${TABLE}.right_flow_cost ;;
}
dimension: right_flow_cost {
type: number
sql: ${right_flow_unit_cost} * ${right_flow_amount} ;;
}
dimension: right_flow_distance {
type: number
sql: ${TABLE}.right_flow_distance ;;
}
dimension: flow_type {
type: string
sql: CASE
WHEN ${source_site_type} = 'facility' AND ${destination_site_type} = 'facility' THEN 'interfacility'
WHEN ${source_site_type} = 'facility' AND ${destination_site_type} = 'customer' THEN 'customer'
WHEN ${source_site_type} = 'customer' AND ${destination_site_type} = 'facility' THEN 'return'
ELSE 'unknown'
END ;;
}
measure: left_flow_amount_total {
type: sum
sql: ${left_flow_amount} ;;
}
measure: left_flow_cost_total {
type: sum
sql: ${left_flow_cost} ;;
}
measure: right_flow_amount_total {
type: sum
sql: ${right_flow_amount} ;;
}
measure: right_flow_cost_total {
type: sum
sql: ${right_flow_cost} ;;
}
measure: flow_amount_difference {
type: number
sql: ${right_flow_amount_total} - ${left_flow_amount_total} ;;
}
measure: flow_cost_difference {
type: number
drill_fields: [source_site_name, destination_site_name, product_name, transportation_mode_name, period_name, flow_cost_difference, left_flow_cost_total, right_flow_cost_total]
sql: ${right_flow_cost_total} - ${left_flow_cost_total} ;;
}
}
optimization_output_flow_comparison.view.lookml · 197 lines
source-preserved
- view: optimization_output_flow_comparison
derived_table:
sql: WITH
left_flow AS (
SELECT *
FROM optimization_output_flow_view
WHERE
{% condition left_optimization_run_id %} optimization_run_id {% endcondition %}
),
right_flow AS (
SELECT *
FROM optimization_output_flow_view
WHERE
{% condition right_optimization_run_id %} optimization_run_id {% endcondition %}
)
SELECT
left_flow.optimization_run_id AS left_optimization_run_id,
right_flow.optimization_run_id AS right_optimization_run_id,
COALESCE(left_flow.source_site_name, right_flow.source_site_name) AS source_site_name,
COALESCE(left_flow.source_site_type, right_flow.source_site_type) AS source_site_type,
COALESCE(left_flow.source_site_address, right_flow.source_site_address) AS source_site_address,
COALESCE(left_flow.source_site_city, right_flow.source_site_city) AS source_site_city,
COALESCE(left_flow.source_site_state, right_flow.source_site_state) AS source_site_state,
COALESCE(left_flow.source_site_postal, right_flow.source_site_postal) AS source_site_postal,
COALESCE(left_flow.source_site_country, right_flow.source_site_country) AS source_site_country,
COALESCE(left_flow.source_site_latitude, right_flow.source_site_latitude) AS source_site_latitude,
COALESCE(left_flow.source_site_longitude, right_flow.source_site_latitude) AS source_site_longitude,
COALESCE(left_flow.destination_site_name, right_flow.destination_site_name) AS destination_site_name,
COALESCE(left_flow.destination_site_type, right_flow.destination_site_type) AS destination_site_type,
COALESCE(left_flow.destination_site_address, right_flow.destination_site_address) AS destination_site_address,
COALESCE(left_flow.destination_site_city, right_flow.destination_site_city) AS destination_site_city,
COALESCE(left_flow.destination_site_state, right_flow.destination_site_state) AS destination_site_state,
COALESCE(left_flow.destination_site_postal, right_flow.destination_site_postal) AS destination_site_postal,
COALESCE(left_flow.destination_site_country, right_flow.destination_site_country) AS destination_site_country,
COALESCE(left_flow.destination_site_latitude, right_flow.destination_site_latitude) AS destination_site_latitude,
COALESCE(left_flow.destination_site_longitude, right_flow.destination_site_longitude) AS destination_site_longitude,
COALESCE(left_flow.product_name, right_flow.product_name) AS product_name,
COALESCE(left_flow.product_description, right_flow.product_description) AS product_description,
COALESCE(left_flow.product_weight, right_flow.product_weight) AS product_weight,
COALESCE(left_flow.product_volume, right_flow.product_volume) AS product_volume,
COALESCE(left_flow.product_shelf_life, right_flow.product_shelf_life) AS product_shelf_life,
COALESCE(left_flow.product_price, right_flow.product_price) AS product_price,
COALESCE(left_flow.product_value, right_flow.product_value) AS product_value,
COALESCE(left_flow.transportation_mode_name, right_flow.transportation_mode_name) AS transportation_mode_name,
COALESCE(left_flow.period_name, right_flow.period_name) AS period_name,
COALESCE(left_flow.period_index, right_flow.period_index) AS period_index,
COALESCE(left_flow.period_start, right_flow.period_start) AS period_start,
COALESCE(left_flow.period_end, right_flow.period_end) AS period_end,
COALESCE(left_flow.flow_amount, 0.0) AS left_flow_amount,
COALESCE(left_flow.flow_cost, 0.0) AS left_flow_cost,
COALESCE(left_flow.flow_distance, 0.0) AS left_flow_distance,
COALESCE(right_flow.flow_amount, 0.0) AS right_flow_amount,
COALESCE(right_flow.flow_cost, 0.0) AS right_flow_cost,
COALESCE(right_flow.flow_distance, 0.0) AS right_flow_distance
FROM
left_flow
FULL OUTER JOIN right_flow
ON left_flow.source_site_name = right_flow.source_site_name
AND left_flow.destination_site_name = right_flow.destination_site_name
AND left_flow.product_name = right_flow.product_name
AND left_flow.transportation_mode_name = right_flow.transportation_mode_name
AND left_flow.period_name = right_flow.period_name
fields:
- dimension: left_optimization_run
sql: ${TABLE}.left_optimization_run_id
- dimension: right_optimization_run
sql: ${TABLE}.right_optimization_run_id
- dimension: source_site_name
sql: ${TABLE}.source_site_name
- dimension: source_site_address
sql: ${TABLE}.source_site_address
- dimension: source_site_city
sql: ${TABLE}.source_site_city
- dimension: source_site_country
sql: ${TABLE}.source_site_country
- dimension: source_site_latitude
type: number
hidden: true
sql: ${TABLE}.source_site_latitude
- dimension: source_site_longitude
type: number
hidden: true
sql: ${TABLE}.source_site_longitude
- dimension: source_site_location
type: location
- dimension: source_site_postal
sql: ${TABLE}.source_site_postal
- dimension: source_site_state
sql: ${TABLE}.source_site_state
- dimension: source_site_type
sql: ${TABLE}.source_site_type
- dimension: destination_site_name
sql: ${TABLE}.destination_site_name
- dimension: destination_site_address
sql: ${TABLE}.destination_site_address
- dimension: destination_site_city
sql: ${TABLE}.destination_site_city
- dimension: destination_site_country
sql: ${TABLE}.destination_site_country
- dimension: destination_site_latitude
type: number
hidden: true
sql: ${TABLE}.destination_site_latitude
- dimension: destination_site_longitude
type: number
hidden: true
sql: ${TABLE}.destination_site_longitude
- dimension: destination_site_location
type: location
- dimension: destination_site_postal
sql: ${TABLE}.destination_site_postal
- dimension: destination_site_state
sql: ${TABLE}.destination_site_state
- dimension: destination_site_type
sql: ${TABLE}.destination_site_type
- dimension: product_name
sql: ${TABLE}.product_name
- dimension: product_description
sql: ${TABLE}.product_description
- dimension: product_price
type: number
sql: ${TABLE}.product_price
- dimension: product_shelf_life
type: number
sql: ${TABLE}.product_shelf_life
- dimension: product_value
type: number
sql: ${TABLE}.product_value
- dimension: product_volume
type: number
sql: ${TABLE}.product_volume
- dimension: product_weight
type: number
sql: ${TABLE}.product_weight
- dimension: transportation_mode_name
sql: ${TABLE}.transportation_mode_name
- dimension: period_name
sql: ${TABLE}.period_name
- dimension: left_flow_amount
type: number
sql: ${TABLE}.left_flow_amount
- dimension: left_flow_unit_cost
type: number
sql: ${TABLE}.left_flow_cost
- dimension: left_flow_distance
type: number
sql: ${TABLE}.left_flow_distance
- dimension: left_flow_cost
type: number
sql: ${left_flow_unit_cost} * ${left_flow_amount}
- dimension: right_flow_amount
type: number
sql: ${TABLE}.right_flow_amount
- dimension: right_flow_unit_cost
type: number
sql: ${TABLE}.right_flow_cost
- dimension: right_flow_cost
type: number
sql: ${right_flow_unit_cost} * ${right_flow_amount}
- dimension: right_flow_distance
type: number
sql: ${TABLE}.right_flow_distance
- dimension: flow_type
type: string
sql: CASE
WHEN ${source_site_type} = 'facility' AND ${destination_site_type} = 'facility' THEN 'interfacility'
WHEN ${source_site_type} = 'facility' AND ${destination_site_type} = 'customer' THEN 'customer'
WHEN ${source_site_type} = 'customer' AND ${destination_site_type} = 'facility' THEN 'return'
ELSE 'unknown'
END
- measure: left_flow_amount_total
type: sum
sql: ${left_flow_amount}
- measure: left_flow_cost_total
type: sum
sql: ${left_flow_cost}
- measure: right_flow_amount_total
type: sum
sql: ${right_flow_amount}
- measure: right_flow_cost_total
type: sum
sql: ${right_flow_cost}
- measure: flow_amount_difference
type: number
sql: ${right_flow_amount_total} - ${left_flow_amount_total}
- measure: flow_cost_difference
type: number
drill_fields:
- source_site_name
- destination_site_name
- product_name
- transportation_mode_name
- period_name
- flow_cost_difference
- left_flow_cost_total
- right_flow_cost_total
sql: ${right_flow_cost_total} - ${left_flow_cost_total}
Contents
- optimization_output_flow_comparison.sql
- optimization_output_flow_comparison.sql
- optimization_output_flow_comparison.view.lkml
- optimization_output_flow_comparison.view.lookml