├── Model ├── .gitkeep └── anouk_tko1.model.lkml └── views ├── ontime.view.lkml ├── flights.view.lkml └── airports.view.lkml /Model/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Model/anouk_tko1.model.lkml: -------------------------------------------------------------------------------- 1 | connection: "flightstats" 2 | 3 | include: "/**/*.view" # include all views in this project 4 | # include: "my_dashboard.dashboard.lookml" # include a LookML dashboard called my_dashboard 5 | 6 | # explore: flights { 7 | # label: "Flights and Delays" 8 | # join: airports_origin { 9 | # from: airports 10 | # type: left_outer 11 | # sql_on: ${flights.origin}=${airports_origin.code};; 12 | # relationship: one_to_one 13 | # #fields: [ontime.delayed_flight_count,airports_origin.full_name, airports_origin.city, airports_origin.state, airports_origin.code, ontime.percentage_delayed] 14 | # } 15 | # join: airports_destination { 16 | # from: airports 17 | # type: left_outer 18 | # sql_on: ${flights.destination}=${airports_destination.code} ;; 19 | # relationship: one_to_one 20 | # #fields: [ontime.delayed_flight_count,airports_destination.full_name, airports_destination.city, airports_destination.state, airports_destination.code, ontime.percentage_delayed] 21 | # } 22 | # join: ontime { 23 | # type: left_outer 24 | # sql_on: ${flights.id2}=${ontime.id2} ;; 25 | # relationship: one_to_one 26 | # #fields: [ontime.delayed_flight_count,airports_destination.full_name, airports_destination.city, airports_destination.state, airports_destination.code, ontime.percentage_delayed] 27 | # } 28 | # } 29 | 30 | explore: flights { 31 | } 32 | 33 | explore: airports { 34 | } 35 | 36 | explore: ontime{ 37 | 38 | } 39 | -------------------------------------------------------------------------------- /views/ontime.view.lkml: -------------------------------------------------------------------------------- 1 | view: ontime { 2 | sql_table_name: public.ontime ;; 3 | 4 | dimension: arr_delay { 5 | type: number 6 | sql: ${TABLE}.arr_delay ;; 7 | } 8 | 9 | dimension_group: arr { 10 | type: time 11 | timeframes: [ 12 | raw, 13 | time, 14 | date, 15 | week, 16 | month, 17 | quarter, 18 | year 19 | ] 20 | sql: ${TABLE}.arr_time ;; 21 | } 22 | 23 | dimension: cancelled { 24 | type: string 25 | sql: ${TABLE}.cancelled ;; 26 | } 27 | 28 | dimension: carrier { 29 | type: string 30 | sql: ${TABLE}.carrier ;; 31 | } 32 | 33 | dimension: dep_delay { 34 | type: number 35 | sql: ${TABLE}.dep_delay ;; 36 | } 37 | 38 | dimension_group: dep { 39 | type: time 40 | timeframes: [ 41 | raw, 42 | time, 43 | date, 44 | week, 45 | month, 46 | quarter, 47 | year 48 | ] 49 | sql: ${TABLE}.dep_time ;; 50 | } 51 | 52 | dimension: destination { 53 | type: string 54 | sql: ${TABLE}.destination ;; 55 | } 56 | 57 | dimension: distance { 58 | type: number 59 | sql: ${TABLE}.distance ;; 60 | } 61 | 62 | dimension: diverted { 63 | type: string 64 | sql: ${TABLE}.diverted ;; 65 | } 66 | 67 | dimension: flight_num { 68 | type: string 69 | sql: ${TABLE}.flight_num ;; 70 | } 71 | 72 | dimension: flight_time { 73 | type: number 74 | sql: ${TABLE}.flight_time ;; 75 | } 76 | 77 | dimension: id2 { 78 | type: number 79 | sql: ${TABLE}.id2 ;; 80 | } 81 | 82 | dimension: origin { 83 | type: string 84 | sql: ${TABLE}.origin ;; 85 | } 86 | 87 | dimension: tail_num { 88 | type: string 89 | sql: ${TABLE}.tail_num ;; 90 | } 91 | 92 | dimension: taxi_in { 93 | type: number 94 | sql: ${TABLE}.taxi_in ;; 95 | } 96 | 97 | dimension: taxi_out { 98 | type: number 99 | sql: ${TABLE}.taxi_out ;; 100 | } 101 | 102 | measure: count { 103 | type: count 104 | drill_fields: [] 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /views/flights.view.lkml: -------------------------------------------------------------------------------- 1 | view: flights { 2 | sql_table_name: public.flights ;; 3 | 4 | dimension: arr_delay { 5 | type: number 6 | sql: ${TABLE}.arr_delay ;; 7 | } 8 | 9 | dimension_group: arr { 10 | type: time 11 | timeframes: [ 12 | raw, 13 | time, 14 | date, 15 | week, 16 | month, 17 | quarter, 18 | year 19 | ] 20 | sql: ${TABLE}.arr_time ;; 21 | } 22 | 23 | dimension: cancelled { 24 | type: string 25 | sql: ${TABLE}.cancelled ;; 26 | } 27 | 28 | dimension: carrier { 29 | type: string 30 | sql: ${TABLE}.carrier ;; 31 | } 32 | 33 | dimension: dep_delay { 34 | type: number 35 | sql: ${TABLE}.dep_delay ;; 36 | } 37 | 38 | dimension_group: dep { 39 | type: time 40 | timeframes: [ 41 | raw, 42 | time, 43 | date, 44 | week, 45 | month, 46 | quarter, 47 | year 48 | ] 49 | sql: ${TABLE}.dep_time ;; 50 | } 51 | 52 | dimension: destination { 53 | type: string 54 | sql: ${TABLE}.destination ;; 55 | } 56 | 57 | dimension: distance { 58 | type: number 59 | sql: ${TABLE}.distance ;; 60 | } 61 | 62 | dimension: diverted { 63 | type: string 64 | sql: ${TABLE}.diverted ;; 65 | } 66 | 67 | dimension: flight_num { 68 | type: string 69 | sql: ${TABLE}.flight_num ;; 70 | } 71 | 72 | dimension: flight_time { 73 | type: number 74 | sql: ${TABLE}.flight_time ;; 75 | } 76 | 77 | dimension: id2 { 78 | type: number 79 | sql: ${TABLE}.id2 ;; 80 | } 81 | 82 | dimension: origin { 83 | type: string 84 | sql: ${TABLE}.origin ;; 85 | } 86 | 87 | dimension: tail_num { 88 | type: string 89 | sql: ${TABLE}.tail_num ;; 90 | } 91 | 92 | dimension: taxi_in { 93 | type: number 94 | sql: ${TABLE}.taxi_in ;; 95 | } 96 | 97 | dimension: taxi_out { 98 | type: number 99 | sql: ${TABLE}.taxi_out ;; 100 | } 101 | 102 | measure: count { 103 | type: count 104 | drill_fields: [] 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /views/airports.view.lkml: -------------------------------------------------------------------------------- 1 | view: airports { 2 | sql_table_name: public.airports ;; 3 | drill_fields: [id] 4 | 5 | dimension: id { 6 | primary_key: yes 7 | type: number 8 | sql: ${TABLE}.id ;; 9 | } 10 | 11 | dimension: act_date { 12 | type: string 13 | sql: ${TABLE}.act_date ;; 14 | } 15 | 16 | dimension: aero_cht { 17 | type: string 18 | sql: ${TABLE}.aero_cht ;; 19 | } 20 | 21 | dimension: c_ldg_rts { 22 | type: string 23 | sql: ${TABLE}.c_ldg_rts ;; 24 | } 25 | 26 | dimension: cbd_dir { 27 | type: string 28 | sql: ${TABLE}.cbd_dir ;; 29 | } 30 | 31 | dimension: cbd_dist { 32 | type: number 33 | sql: ${TABLE}.cbd_dist ;; 34 | } 35 | 36 | dimension: cert { 37 | type: string 38 | sql: ${TABLE}.cert ;; 39 | } 40 | 41 | dimension: city { 42 | type: string 43 | sql: ${TABLE}.city ;; 44 | } 45 | 46 | dimension: cntl_twr { 47 | type: string 48 | sql: ${TABLE}.cntl_twr ;; 49 | } 50 | 51 | dimension: code { 52 | type: string 53 | sql: ${TABLE}.code ;; 54 | } 55 | 56 | dimension: county { 57 | type: string 58 | sql: ${TABLE}.county ;; 59 | } 60 | 61 | dimension: cust_intl { 62 | type: string 63 | sql: ${TABLE}.cust_intl ;; 64 | } 65 | 66 | dimension: elevation { 67 | type: number 68 | sql: ${TABLE}.elevation ;; 69 | } 70 | 71 | dimension: faa_dist { 72 | type: string 73 | sql: ${TABLE}.faa_dist ;; 74 | } 75 | 76 | dimension: faa_region { 77 | type: string 78 | sql: ${TABLE}.faa_region ;; 79 | } 80 | 81 | dimension: fac_type { 82 | type: string 83 | sql: ${TABLE}.fac_type ;; 84 | } 85 | 86 | dimension: fac_use { 87 | type: string 88 | sql: ${TABLE}.fac_use ;; 89 | } 90 | 91 | dimension: fed_agree { 92 | type: string 93 | sql: ${TABLE}.fed_agree ;; 94 | } 95 | 96 | dimension: full_name { 97 | type: string 98 | sql: ${TABLE}.full_name ;; 99 | } 100 | 101 | dimension: joint_use { 102 | type: string 103 | sql: ${TABLE}.joint_use ;; 104 | } 105 | 106 | dimension: latitude { 107 | type: number 108 | sql: ${TABLE}.latitude ;; 109 | } 110 | 111 | dimension: longitude { 112 | type: number 113 | sql: ${TABLE}.longitude ;; 114 | } 115 | 116 | dimension: major { 117 | type: string 118 | sql: ${TABLE}.major ;; 119 | } 120 | 121 | dimension: mil_rts { 122 | type: string 123 | sql: ${TABLE}.mil_rts ;; 124 | } 125 | 126 | dimension: own_type { 127 | type: string 128 | sql: ${TABLE}.own_type ;; 129 | } 130 | 131 | dimension: site_number { 132 | type: string 133 | sql: ${TABLE}.site_number ;; 134 | } 135 | 136 | dimension: state { 137 | type: string 138 | sql: ${TABLE}.state ;; 139 | } 140 | 141 | measure: count { 142 | type: count 143 | drill_fields: [id, full_name] 144 | } 145 | } 146 | --------------------------------------------------------------------------------