LKML
Virtual call center
Call
Call model for virtual call center.
inferred
Blocks
call.view.lkml · 669 lines
inferred
view: call {
sql_table_name: tblCallData ;;
dimension: id {
type: int
primary_key: yes
sql: ${TABLE}.pk_CallID ;;
}
dimension: dialed_phone_number {
sql: SUBSTRING(${TABLE}.CallDNIS, 1, 3) + '-' + SUBSTRING(${TABLE}.CallDNIS, 4, 3) + '-' + SUBSTRING(${TABLE}.CallDNIS, 7, 4) ;;
}
dimension: callers_phone_number {
sql: CASE
WHEN ${TABLE}.CallType LIKE 'Inbound%'
THEN SUBSTRING(${TABLE}.CallANI, 1, 3) + '-' + SUBSTRING(${TABLE}.CallANI, 4, 3) + '-' + SUBSTRING(${TABLE}.CallANI, 7, 4)
ELSE SUBSTRING(${TABLE}.CallDNIS, 1, 3) + '-' + SUBSTRING(${TABLE}.CallDNIS, 4, 3) + '-' + SUBSTRING(${TABLE}.CallDNIS, 7, 4)
END ;;
}
dimension: five9_session_id {
sql: ${TABLE}.CallSession ;;
}
dimension: type {
sql: ${TABLE}.CallType ;;
}
dimension: original_call_id {
type: int
sql: ${TABLE}.OriginalCallID ;;
}
dimension: five9_extension {
type: int
sql: ${TABLE}.CallExtension ;;
}
dimension: hour_of_day {
type: date_hour_of_day
sql: ${TABLE}.CallDateTime ;;
}
dimension: quarter_of_hour {
type: int
sql: ${TABLE}.CallTime15 ;;
}
dimension: result {
sql: ${TABLE}.CallResult ;;
}
dimension: was_answered {
type: yesno
sql: ${TABLE}.CallAnswered=1 ;;
}
dimension: was_an_order {
type: yesno
sql: ${orders.count} > 0 ;;
}
dimension: queue_time_tier {
type: tier
sql: ${TABLE}.CallDurQueueSec ;;
}
dimension_group: call {
type: time
timeframes: [time, hour, date, week, month]
sql: ${TABLE}.CallDateTime ;;
}
measure: count {
type: count_distinct
sql: ${id} ;;
}
measure: greater_than_20_sec_count {
type: count_distinct
filters: [talk_time_in_sec: "20 to"]
sql: ${id} ;;
}
measure: answered_count {
type: count_distinct
filters: [was_answered: "True"]
sql: ${id} ;;
}
measure: not_answered_count {
type: number
sql: ${count}-${answered_count} ;;
}
measure: lead_count {
type: count_distinct
sql: ${callers_phone_number} ;;
}
measure: leads_greater_than_20_sec_count {
type: count_distinct
filters: [talk_time_in_sec: "20 to"]
sql: ${callers_phone_number} ;;
}
measure: answered_leads_count {
type: count_distinct
filters: [was_answered: "True"]
sql: ${callers_phone_number} ;;
}
measure: opportunities {
type: sum
sql: CASE
WHEN ${result} IN (
'Mailing In Check Or Money Order',
'Mailed In Check or Money Order',
'Not comfortable giving pay info',
'No method of payment',
'Not Interested',
'Product Too Expensive',
'Sale',
'Sale with AR',
'Sale with Dental Protector',
'Sale with Encore and Synapse',
'Sale with Health Connection',
'Sale with Perfect Home',
'Sale with Synapse',
'Sale with VIP Plus',
'Sale with VIP Plus and Dental Protector',
'Sale with VIP Plus and Health Connection',
'Sale with VIP Plus and Perfect Home',
'Scheduled Callback'
)
THEN 1
ELSE 0
END ;;
}
measure: answered_percent {
type: number
sql: CASE
WHEN ${count} = 0
THEN NULL
ELSE 100.0 * ${answered_count}/${count}
END ;;
}
measure: not_answered_percent {
type: number
sql: CASE
WHEN ${count} = 0
THEN NULL
ELSE 100.0 * ${not_answered_count}/${count}
END ;;
}
measure: answered_leads_percent {
type: number
sql: CASE
WHEN ${lead_count} = 0
THEN NULL
ELSE 100.0 * ${answered_leads_count}/${lead_count}
END ;;
}
measure: avg_speed_to_answer_in_sec {
type: avg
sql: ${TABLE}.CallDurQueueSec ;;
}
measure: avg_time_before_hang_up_in_sec {
type: avg
sql: ${TABLE}.CallDurQueueSec ;;
}
measure: times_on_hold {
type: sum
sql: ${TABLE}.CallHolds ;;
}
measure: subtotal {
type: sum
sql: ${order_details.total_amount} ;;
}
measure: shipping_with_rush {
type: number
sql: (${shipping_without_rush}+${rush}) ;;
}
measure: shipping_without_rush {
type: sum
sql: ${orders.shipping_amount} ;;
}
measure: rush {
type: sum
sql: ${orders.rush_amount} ;;
}
measure: tax {
type: sum
sql: ${orders.tax_amount} ;;
}
measure: total {
label: "Total Revenue"
type: number
sql: (${subtotal}+${shipping_without_rush}+${rush}+${tax}) ;;
}
measure: regular_revenue {
type: sum
sql: ${order_details.regular_amount} ;;
}
measure: continuity_revenue {
type: sum
sql: ${order_details.auto_amount} ;;
}
measure: club_revenue {
type: sum
sql: ${order_details.club_amount} ;;
}
measure: upsell_revenue {
type: sum
sql: ${order_details.upsell_amount} ;;
}
measure: xsell_revenue {
type: sum
sql: ${order_details.xsell_amount} ;;
}
measure: total_item_qty {
type: sum
sql: ${order_details.total_count} ;;
}
measure: reg_item_qty {
type: sum
sql: ${order_details.regular_count} ;;
}
measure: continuity_item_qty {
type: sum
sql: ${order_details.auto_count} ;;
}
measure: club_item_qty {
type: sum
sql: ${order_details.club_count} ;;
}
measure: upsell_item_qty {
type: sum
sql: ${order_details.upsell_count} ;;
}
measure: xsell_item_qty {
type: sum
sql: ${order_details.xsell_count} ;;
}
measure: club_1_qty {
type: sum
sql: ${order_details.club_1_count} ;;
}
measure: club_2_qty {
type: sum
sql: ${order_details.club_2_count} ;;
}
measure: club_3_qty {
type: sum
sql: ${order_details.club_3_count} ;;
}
measure: club_4_qty {
type: sum
sql: ${order_details.club_4_count} ;;
}
measure: adult_dvd_qty {
type: sum
sql: ${order_details.adult_dvd_count} ;;
}
measure: aragon_qty {
type: sum
sql: ${order_details.aragon_count} ;;
}
measure: feecation_qty {
type: sum
sql: ${order_details.feecation_count} ;;
}
measure: free_rewards_plus_qty {
type: sum
sql: ${order_details.free_rewards_plus_count} ;;
}
measure: free_shipping_qty {
type: sum
sql: ${order_details.free_shipping_count} ;;
}
measure: great_fun_qty {
type: sum
sql: ${order_details.great_fun_count} ;;
}
measure: myshopping_and_mydiscount_qty {
type: sum
sql: ${order_details.myshopping_count} ;;
}
measure: playboy_qty {
type: sum
sql: ${order_details.playboy_count} ;;
}
measure: savings_central_qty {
type: sum
sql: ${order_details.savings_central_count} ;;
}
measure: magazine_direct_qty {
type: sum
sql: ${order_details.mag_direct_count} ;;
}
measure: magazine_rewards_qty {
type: sum
sql: ${order_details.mag_rewards_count} ;;
}
measure: american_savings_pass_qty {
type: sum
sql: ${order_details.american_savings_pass_count} ;;
}
measure: daily_savings_solutions_qty {
type: sum
sql: ${order_details.daily_savings_solutions_count} ;;
}
measure: sweep_360_qty {
type: sum
sql: ${order_details.sweep_360_count} ;;
}
measure: main_offer_hso_and_sso_canada_qty {
type: sum
sql: ${order_details.main_offer_hso_and_sso_canada_count} ;;
}
measure: main_offer_hso_and_sso_us_qty {
type: sum
sql: ${order_details.main_offer_hso_and_sso_us_count} ;;
}
measure: backup_offer_msc_and_mdt_aragon_qty {
type: sum
sql: ${order_details.backup_offer_msc_and_mdt_aragon_count} ;;
}
measure: travel_leisure_qty {
type: sum
sql: ${order_details.travel_leisure_count} ;;
}
measure: magazine_direct_olb_qty {
type: sum
sql: ${order_details.magazine_direct_olb_count} ;;
}
measure: fun_source_qty {
type: sum
sql: ${order_details.fun_source} ;;
}
measure: value_access_qty {
type: sum
sql: ${order_details.value_access} ;;
}
measure: funsource_and_valueaccess_qty {
label: "Fun Source and Value Access Qty"
type: number
sql: ${fun_source_qty} + ${value_access_qty} ;;
}
measure: conversion_on_every_call {
type: number
sql: CASE
WHEN ${count} = 0
THEN NULL
ELSE 100.0 * ${orders.count}/${count}
END ;;
}
measure: conversion_on_answered_calls {
type: number
sql: CASE
WHEN ${answered_count} = 0
THEN NULL
ELSE 100.0 * ${orders.count}/${answered_count}
END ;;
}
measure: conversion_on_every_lead {
type: number
sql: CASE
WHEN ${lead_count} = 0
THEN NULL
ELSE 100.0 * ${orders.count}/${lead_count}
END ;;
}
measure: conversion_on_answered_leads {
type: number
sql: CASE
WHEN ${answered_leads_count} = 0
THEN NULL
ELSE 100.0 * ${orders.count}/${answered_leads_count}
END ;;
}
measure: continuity_conversion_on_orders {
type: number
sql: CASE
WHEN ${orders.count} = 0
THEN NULL
ELSE 100.0 * ${continuity_item_qty}/${orders.count}
END ;;
}
measure: club_conversion_on_orders {
type: number
sql: CASE
WHEN ${orders.count} = 0
THEN NULL
ELSE 100.0 * ${club_item_qty}/${orders.count}
END ;;
}
measure: upsell_conversion_on_orders {
type: number
sql: CASE
WHEN ${orders.count} = 0
THEN NULL
ELSE 100.0 * ${upsell_item_qty}/${orders.count}
END ;;
}
measure: xsell_conversion_on_orders {
type: number
sql: CASE
WHEN ${orders.count} = 0
THEN NULL
ELSE 100.0 * ${xsell_item_qty}/${orders.count}
END ;;
}
measure: avg_order {
label: "Avg Order Value"
type: number
sql: CASE
WHEN ${orders.count} = 0
THEN NULL
ELSE 1.00 * ${total}/${orders.count}
END ;;
}
measure: revenue_per_answered_call {
type: number
sql: CASE
WHEN ${answered_count} = 0
THEN NULL
ELSE 1.00 * ${total}/${answered_count}
END ;;
}
measure: orders_per_payroll_hour {
type: number
sql: CASE
WHEN ${payroll_time_in_hours} = 0
THEN NULL
ELSE 1.00 * ${orders.count}/${payroll_time_in_hours}
END ;;
}
measure: revenue_per_payroll_hour {
type: number
sql: CASE
WHEN ${payroll_time_in_hours} = 0
THEN NULL
ELSE 1.00 * ${total}/${payroll_time_in_hours}
END ;;
}
measure: talk_time_in_sec {
type: sum
sql: ${TABLE}.CallDurAgentSec ;;
}
measure: avg_talk_time_in_sec {
type: avg
sql: ${TABLE}.CallDurAgentSec ;;
}
measure: talk_time_in_min {
type: number
sql: SUM(${TABLE}.CallDurAgentSec)/60.0 ;;
}
measure: avg_talk_time_in_min {
type: number
sql: AVG(${TABLE}.CallDurAgentSec)/60.00 ;;
}
measure: talk_time_in_hours {
type: number
sql: SUM(${TABLE}.CallDurAgentSec)/3600.00 ;;
}
measure: dial_time_in_sec {
type: sum
sql: ${TABLE}.CallDurDialSec ;;
}
measure: avg_dial_time_in_sec {
type: avg
sql: ${TABLE}.CallDurDialSec ;;
}
measure: dial_time_in_min {
type: number
sql: SUM(${TABLE}.CallDurDialSec)/60.0 ;;
}
measure: avg_dial_time_in_min {
type: number
sql: AVG(${TABLE}.CallDurDialSec)/60.00 ;;
}
measure: dial_time_in_hours {
type: number
sql: SUM(${TABLE}.CallDurDialSec)/3600.00 ;;
}
measure: payroll_time_in_sec {
type: sum
sql: ${TABLE}.CallDurAgentSec + ${TABLE}.CallDurDialSec ;;
}
measure: avg_payroll_time_in_sec {
type: avg
sql: ${TABLE}.CallDurAgentSec + ${TABLE}.CallDurDialSec ;;
}
measure: payroll_time_in_min {
type: number
sql: SUM(${TABLE}.CallDurAgentSec + ${TABLE}.CallDurDialSec)/60.0 ;;
}
measure: avg_payroll_time_in_min {
type: number
sql: AVG(${TABLE}.CallDurAgentSec + ${TABLE}.CallDurDialSec)/60.00 ;;
}
measure: payroll_time_in_hours {
type: number
sql: SUM(${TABLE}.CallDurAgentSec + ${TABLE}.CallDurDialSec)/3600.00 ;;
}
measure: billing_time_in_sec {
type: sum
sql: ${TABLE}.CallDurBillSec ;;
}
measure: avg_billing_time_in_sec {
type: avg
sql: ${TABLE}.CallDurBillSec ;;
}
measure: billing_time_in_min {
type: number
sql: SUM(${TABLE}.CallDurBillSec)/60.0 ;;
}
measure: avg_billing_time_in_min {
type: number
sql: AVG(${TABLE}.CallDurBillSec)/60.00 ;;
}
measure: billing_time_in_hours {
type: number
sql: SUM(${TABLE}.CallDurBillSec)/3600.00 ;;
}
measure: queue_time_in_sec {
type: sum
sql: ${TABLE}.CallDurQueueSec ;;
}
measure: avg_queue_time_in_sec {
type: avg
sql: ${TABLE}.CallDurQueueSec ;;
}
measure: queue_time_in_min {
type: number
sql: SUM(${TABLE}.CallDurQueueSec)/60.0 ;;
}
measure: avg_queue_time_in_min {
type: number
sql: AVG(${TABLE}.CallDurQueueSec)/60.00 ;;
}
measure: hold_time_in_sec {
type: sum
sql: ${TABLE}.CallDurHoldSec ;;
}
measure: avg_hold_time_in_sec {
type: avg
sql: ${TABLE}.CallDurHoldSec ;;
}
measure: hold_time_in_min {
type: number
sql: SUM(${TABLE}.CallDurHoldSec)/60.0 ;;
}
measure: avg_hold_time_in_min {
type: number
sql: AVG(${TABLE}.CallDurHoldSec)/60.00 ;;
}
measure: acw_time_in_sec {
type: sum
sql: ${TABLE}.CallDurWrapSec ;;
}
measure: avg_acw_time_in_sec {
type: avg
sql: ${TABLE}.CallDurWrapSec ;;
}
measure: acw_time_in_min {
type: number
sql: SUM(${TABLE}.CallDurWrapSec)/60.0 ;;
}
measure: avg_acw_time_in_min {
type: number
sql: AVG(${TABLE}.CallDurWrapSec)/60.00 ;;
}
}
call.view.lookml · 448 lines
source-preserved
- view: call
sql_table_name: tblCallData
fields:
- dimension: id
type: int
primary_key: true
sql: ${TABLE}.pk_CallID
- dimension: dialed_phone_number
sql: SUBSTRING(${TABLE}.CallDNIS, 1, 3) + '-' + SUBSTRING(${TABLE}.CallDNIS, 4, 3) + '-' + SUBSTRING(${TABLE}.CallDNIS, 7, 4)
- dimension: callers_phone_number
sql: CASE
WHEN ${TABLE}.CallType LIKE 'Inbound%'
THEN SUBSTRING(${TABLE}.CallANI, 1, 3) + '-' + SUBSTRING(${TABLE}.CallANI, 4, 3) + '-' + SUBSTRING(${TABLE}.CallANI, 7, 4)
ELSE SUBSTRING(${TABLE}.CallDNIS, 1, 3) + '-' + SUBSTRING(${TABLE}.CallDNIS, 4, 3) + '-' + SUBSTRING(${TABLE}.CallDNIS, 7, 4)
END
- dimension: five9_session_id
sql: ${TABLE}.CallSession
- dimension: type
sql: ${TABLE}.CallType
- dimension: original_call_id
type: int
sql: ${TABLE}.OriginalCallID
- dimension: five9_extension
type: int
sql: ${TABLE}.CallExtension
- dimension: hour_of_day
type: date_hour_of_day
sql: ${TABLE}.CallDateTime
- dimension: quarter_of_hour
type: int
sql: ${TABLE}.CallTime15
- dimension: result
sql: ${TABLE}.CallResult
- dimension: was_answered
type: yesno
sql: ${TABLE}.CallAnswered=1
- dimension: was_an_order
type: yesno
sql: ${orders.count} > 0
- dimension: queue_time_tier
type: tier
sql: ${TABLE}.CallDurQueueSec
- dimension_group: call
type: time
timeframes:
- time
- hour
- date
- week
- month
sql: ${TABLE}.CallDateTime
- measure: count
type: count_distinct
sql: ${id}
- measure: greater_than_20_sec_count
type: count_distinct
filters:
- talk_time_in_sec: 20 to
sql: ${id}
- measure: answered_count
type: count_distinct
filters:
- was_answered: True
sql: ${id}
- measure: not_answered_count
type: number
sql: ${count}-${answered_count}
- measure: lead_count
type: count_distinct
sql: ${callers_phone_number}
- measure: leads_greater_than_20_sec_count
type: count_distinct
filters:
- talk_time_in_sec: 20 to
sql: ${callers_phone_number}
- measure: answered_leads_count
type: count_distinct
filters:
- was_answered: True
sql: ${callers_phone_number}
- measure: opportunities
type: sum
sql: CASE
WHEN ${result} IN (
'Mailing In Check Or Money Order',
'Mailed In Check or Money Order',
'Not comfortable giving pay info',
'No method of payment',
'Not Interested',
'Product Too Expensive',
'Sale',
'Sale with AR',
'Sale with Dental Protector',
'Sale with Encore and Synapse',
'Sale with Health Connection',
'Sale with Perfect Home',
'Sale with Synapse',
'Sale with VIP Plus',
'Sale with VIP Plus and Dental Protector',
'Sale with VIP Plus and Health Connection',
'Sale with VIP Plus and Perfect Home',
'Scheduled Callback'
)
THEN 1
ELSE 0
END
- measure: answered_percent
type: number
sql: CASE
WHEN ${count} = 0
THEN NULL
ELSE 100.0 * ${answered_count}/${count}
END
- measure: not_answered_percent
type: number
sql: CASE
WHEN ${count} = 0
THEN NULL
ELSE 100.0 * ${not_answered_count}/${count}
END
- measure: answered_leads_percent
type: number
sql: CASE
WHEN ${lead_count} = 0
THEN NULL
ELSE 100.0 * ${answered_leads_count}/${lead_count}
END
- measure: avg_speed_to_answer_in_sec
type: avg
sql: ${TABLE}.CallDurQueueSec
- measure: avg_time_before_hang_up_in_sec
type: avg
sql: ${TABLE}.CallDurQueueSec
- measure: times_on_hold
type: sum
sql: ${TABLE}.CallHolds
- measure: subtotal
type: sum
sql: ${order_details.total_amount}
- measure: shipping_with_rush
type: number
sql: (${shipping_without_rush}+${rush})
- measure: shipping_without_rush
type: sum
sql: ${orders.shipping_amount}
- measure: rush
type: sum
sql: ${orders.rush_amount}
- measure: tax
type: sum
sql: ${orders.tax_amount}
- measure: total
type: number
label: Total Revenue
sql: (${subtotal}+${shipping_without_rush}+${rush}+${tax})
- measure: regular_revenue
type: sum
sql: ${order_details.regular_amount}
- measure: continuity_revenue
type: sum
sql: ${order_details.auto_amount}
- measure: club_revenue
type: sum
sql: ${order_details.club_amount}
- measure: upsell_revenue
type: sum
sql: ${order_details.upsell_amount}
- measure: xsell_revenue
type: sum
sql: ${order_details.xsell_amount}
- measure: total_item_qty
type: sum
sql: ${order_details.total_count}
- measure: reg_item_qty
type: sum
sql: ${order_details.regular_count}
- measure: continuity_item_qty
type: sum
sql: ${order_details.auto_count}
- measure: club_item_qty
type: sum
sql: ${order_details.club_count}
- measure: upsell_item_qty
type: sum
sql: ${order_details.upsell_count}
- measure: xsell_item_qty
type: sum
sql: ${order_details.xsell_count}
- measure: club_1_qty
type: sum
sql: ${order_details.club_1_count}
- measure: club_2_qty
type: sum
sql: ${order_details.club_2_count}
- measure: club_3_qty
type: sum
sql: ${order_details.club_3_count}
- measure: club_4_qty
type: sum
sql: ${order_details.club_4_count}
- measure: adult_dvd_qty
type: sum
sql: ${order_details.adult_dvd_count}
- measure: aragon_qty
type: sum
sql: ${order_details.aragon_count}
- measure: feecation_qty
type: sum
sql: ${order_details.feecation_count}
- measure: free_rewards_plus_qty
type: sum
sql: ${order_details.free_rewards_plus_count}
- measure: free_shipping_qty
type: sum
sql: ${order_details.free_shipping_count}
- measure: great_fun_qty
type: sum
sql: ${order_details.great_fun_count}
- measure: myshopping_and_mydiscount_qty
type: sum
sql: ${order_details.myshopping_count}
- measure: playboy_qty
type: sum
sql: ${order_details.playboy_count}
- measure: savings_central_qty
type: sum
sql: ${order_details.savings_central_count}
- measure: magazine_direct_qty
type: sum
sql: ${order_details.mag_direct_count}
- measure: magazine_rewards_qty
type: sum
sql: ${order_details.mag_rewards_count}
- measure: american_savings_pass_qty
type: sum
sql: ${order_details.american_savings_pass_count}
- measure: daily_savings_solutions_qty
type: sum
sql: ${order_details.daily_savings_solutions_count}
- measure: sweep_360_qty
type: sum
sql: ${order_details.sweep_360_count}
- measure: main_offer_hso_and_sso_canada_qty
type: sum
sql: ${order_details.main_offer_hso_and_sso_canada_count}
- measure: main_offer_hso_and_sso_us_qty
type: sum
sql: ${order_details.main_offer_hso_and_sso_us_count}
- measure: backup_offer_msc_and_mdt_aragon_qty
type: sum
sql: ${order_details.backup_offer_msc_and_mdt_aragon_count}
- measure: travel_leisure_qty
type: sum
sql: ${order_details.travel_leisure_count}
- measure: magazine_direct_olb_qty
type: sum
sql: ${order_details.magazine_direct_olb_count}
- measure: fun_source_qty
type: sum
sql: ${order_details.fun_source}
- measure: value_access_qty
type: sum
sql: ${order_details.value_access}
- measure: funsource_and_valueaccess_qty
type: number
label: Fun Source and Value Access Qty
sql: ${fun_source_qty} + ${value_access_qty}
- measure: conversion_on_every_call
type: number
sql: CASE
WHEN ${count} = 0
THEN NULL
ELSE 100.0 * ${orders.count}/${count}
END
- measure: conversion_on_answered_calls
type: number
sql: CASE
WHEN ${answered_count} = 0
THEN NULL
ELSE 100.0 * ${orders.count}/${answered_count}
END
- measure: conversion_on_every_lead
type: number
sql: CASE
WHEN ${lead_count} = 0
THEN NULL
ELSE 100.0 * ${orders.count}/${lead_count}
END
- measure: conversion_on_answered_leads
type: number
sql: CASE
WHEN ${answered_leads_count} = 0
THEN NULL
ELSE 100.0 * ${orders.count}/${answered_leads_count}
END
- measure: continuity_conversion_on_orders
type: number
sql: CASE
WHEN ${orders.count} = 0
THEN NULL
ELSE 100.0 * ${continuity_item_qty}/${orders.count}
END
- measure: club_conversion_on_orders
type: number
sql: CASE
WHEN ${orders.count} = 0
THEN NULL
ELSE 100.0 * ${club_item_qty}/${orders.count}
END
- measure: upsell_conversion_on_orders
type: number
sql: CASE
WHEN ${orders.count} = 0
THEN NULL
ELSE 100.0 * ${upsell_item_qty}/${orders.count}
END
- measure: xsell_conversion_on_orders
type: number
sql: CASE
WHEN ${orders.count} = 0
THEN NULL
ELSE 100.0 * ${xsell_item_qty}/${orders.count}
END
- measure: avg_order
type: number
label: Avg Order Value
sql: CASE
WHEN ${orders.count} = 0
THEN NULL
ELSE 1.00 * ${total}/${orders.count}
END
- measure: revenue_per_answered_call
type: number
sql: CASE
WHEN ${answered_count} = 0
THEN NULL
ELSE 1.00 * ${total}/${answered_count}
END
- measure: orders_per_payroll_hour
type: number
sql: CASE
WHEN ${payroll_time_in_hours} = 0
THEN NULL
ELSE 1.00 * ${orders.count}/${payroll_time_in_hours}
END
- measure: revenue_per_payroll_hour
type: number
sql: CASE
WHEN ${payroll_time_in_hours} = 0
THEN NULL
ELSE 1.00 * ${total}/${payroll_time_in_hours}
END
- measure: talk_time_in_sec
type: sum
sql: ${TABLE}.CallDurAgentSec
- measure: avg_talk_time_in_sec
type: avg
sql: ${TABLE}.CallDurAgentSec
- measure: talk_time_in_min
type: number
sql: SUM(${TABLE}.CallDurAgentSec)/60.0
- measure: avg_talk_time_in_min
type: number
sql: AVG(${TABLE}.CallDurAgentSec)/60.00
- measure: talk_time_in_hours
type: number
sql: SUM(${TABLE}.CallDurAgentSec)/3600.00
- measure: dial_time_in_sec
type: sum
sql: ${TABLE}.CallDurDialSec
- measure: avg_dial_time_in_sec
type: avg
sql: ${TABLE}.CallDurDialSec
- measure: dial_time_in_min
type: number
sql: SUM(${TABLE}.CallDurDialSec)/60.0
- measure: avg_dial_time_in_min
type: number
sql: AVG(${TABLE}.CallDurDialSec)/60.00
- measure: dial_time_in_hours
type: number
sql: SUM(${TABLE}.CallDurDialSec)/3600.00
- measure: payroll_time_in_sec
type: sum
sql: ${TABLE}.CallDurAgentSec + ${TABLE}.CallDurDialSec
- measure: avg_payroll_time_in_sec
type: avg
sql: ${TABLE}.CallDurAgentSec + ${TABLE}.CallDurDialSec
- measure: payroll_time_in_min
type: number
sql: SUM(${TABLE}.CallDurAgentSec + ${TABLE}.CallDurDialSec)/60.0
- measure: avg_payroll_time_in_min
type: number
sql: AVG(${TABLE}.CallDurAgentSec + ${TABLE}.CallDurDialSec)/60.00
- measure: payroll_time_in_hours
type: number
sql: SUM(${TABLE}.CallDurAgentSec + ${TABLE}.CallDurDialSec)/3600.00
- measure: billing_time_in_sec
type: sum
sql: ${TABLE}.CallDurBillSec
- measure: avg_billing_time_in_sec
type: avg
sql: ${TABLE}.CallDurBillSec
- measure: billing_time_in_min
type: number
sql: SUM(${TABLE}.CallDurBillSec)/60.0
- measure: avg_billing_time_in_min
type: number
sql: AVG(${TABLE}.CallDurBillSec)/60.00
- measure: billing_time_in_hours
type: number
sql: SUM(${TABLE}.CallDurBillSec)/3600.00
- measure: queue_time_in_sec
type: sum
sql: ${TABLE}.CallDurQueueSec
- measure: avg_queue_time_in_sec
type: avg
sql: ${TABLE}.CallDurQueueSec
- measure: queue_time_in_min
type: number
sql: SUM(${TABLE}.CallDurQueueSec)/60.0
- measure: avg_queue_time_in_min
type: number
sql: AVG(${TABLE}.CallDurQueueSec)/60.00
- measure: hold_time_in_sec
type: sum
sql: ${TABLE}.CallDurHoldSec
- measure: avg_hold_time_in_sec
type: avg
sql: ${TABLE}.CallDurHoldSec
- measure: hold_time_in_min
type: number
sql: SUM(${TABLE}.CallDurHoldSec)/60.0
- measure: avg_hold_time_in_min
type: number
sql: AVG(${TABLE}.CallDurHoldSec)/60.00
- measure: acw_time_in_sec
type: sum
sql: ${TABLE}.CallDurWrapSec
- measure: avg_acw_time_in_sec
type: avg
sql: ${TABLE}.CallDurWrapSec
- measure: acw_time_in_min
type: number
sql: SUM(${TABLE}.CallDurWrapSec)/60.0
- measure: avg_acw_time_in_min
type: number
sql: AVG(${TABLE}.CallDurWrapSec)/60.00
Contents
- call.view.lkml
- call.view.lookml