SQL
Mobile ticketing
Event Additional Allocation Fperformances
Event Additional Allocation Fperformances model for mobile ticketing.
source-preserved
Blocks
event_additional_allocation_fperformances.sql · 35 lines
inferred
-- models/event_additional_allocation_fperformances.sql
{{ config(materialized='view') }}
SELECT
e.id,
sum(s.marked_up) as marked_up,
sum(s.marked_back) as marked_back
FROM
(
SELECT
tm.ticketid as ticket_id,
tm.markedback as marked_backed,
IF(tm.markedback < 0, sum(tm.markedback), 0) as marked_up,
IF(tm.markedback > 0, sum(tm.markedback), 0) as marked_back
FROM event_ticket_changes as tm
GROUP BY tm.id
) as s
LEFT JOIN event_entries as t on t.id = s.ticket_id
LEFT JOIN occasions as e on e.id = t.eventid
GROUP BY e.id
# models/schema.yml
version: 2
models:
- name: event_additional_allocation_fperformances
columns:
- name: event_id
tests:
- unique
- not_null
- name: marked_up
- name: marked_back
- name: received
description: "Indicates if additional allocation has been received for an event"
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.
event_additional_allocation_fperformances.sql · 17 lines
source-preserved
validation: parses
SELECT
e.id,
sum(s.marked_up) as marked_up,
sum(s.marked_back) as marked_back
FROM
(
SELECT
tm.ticketid as ticket_id,
tm.markedback as marked_backed,
IF(tm.markedback < 0, sum(tm.markedback), 0) as marked_up,
IF(tm.markedback > 0, sum(tm.markedback), 0) as marked_back
FROM event_ticket_changes as tm
GROUP BY tm.id
) as s
LEFT JOIN event_entries as t on t.id = s.ticket_id
LEFT JOIN occasions as e on e.id = t.eventid
GROUP BY e.id
event_additional_allocation_fperformances.view.lkml · 52 lines
inferred
view: event_additional_allocation_fperformances {
derived_table: {
sql: SELECT
e.id,
sum(s.marked_up) as marked_up,
sum(s.marked_back) as marked_back
FROM
(
SELECT
tm.ticketid as ticket_id,
tm.markedback as marked_backed,
IF(tm.markedback < 0, sum(tm.markedback), 0) as marked_up,
IF(tm.markedback > 0, sum(tm.markedback), 0) as marked_back
FROM event_ticket_changes as tm
GROUP BY tm.id
) as s
LEFT JOIN event_entries as t on t.id = s.ticket_id
LEFT JOIN occasions as e on e.id = t.eventid
GROUP BY e.id ;;
}
dimension: event_id {
type: number
primary_key: yes
hidden: yes
sql: ${TABLE}.id ;;
}
dimension: marked_up {
type: number
hidden: yes
sql: ${TABLE}.marked_up ;;
}
dimension: marked_back {
type: number
hidden: yes
sql: ${TABLE}.marked_back ;;
}
dimension: received {
description: "Indicates if additional allocation has been received for an event"
type: yesno
sql: IF(abs(${marked_up}) > 0, 1, 0) ;;
}
measure: count {
type: count
hidden: yes
drill_fields: [detail*]
}
}
event_additional_allocation_fperformances.view.lookml · 41 lines
source-preserved
- view: event_additional_allocation_fperformances
derived_table:
sql: SELECT
e.id,
sum(s.marked_up) as marked_up,
sum(s.marked_back) as marked_back
FROM
(
SELECT
tm.ticketid as ticket_id,
tm.markedback as marked_backed,
IF(tm.markedback < 0, sum(tm.markedback), 0) as marked_up,
IF(tm.markedback > 0, sum(tm.markedback), 0) as marked_back
FROM event_ticket_changes as tm
GROUP BY tm.id
) as s
LEFT JOIN event_entries as t on t.id = s.ticket_id
LEFT JOIN occasions as e on e.id = t.eventid
GROUP BY e.id
fields:
- dimension: event_id
type: number
primary_key: true
hidden: true
sql: ${TABLE}.id
- dimension: marked_up
type: number
hidden: true
sql: ${TABLE}.marked_up
- dimension: marked_back
type: number
hidden: true
sql: ${TABLE}.marked_back
- dimension: received
type: yesno
description: Indicates if additional allocation has been received for an event
sql: IF(abs(${marked_up}) > 0, 1, 0)
- measure: count
type: count
drill_fields:
- detail*
Contents
- event_additional_allocation_fperformances.sql
- event_additional_allocation_fperformances.sql
- event_additional_allocation_fperformances.view.lkml
- event_additional_allocation_fperformances.view.lookml