LookML Fintech payments

Telemetry2s

Telemetry2s model for fintech payments.

source-preserved

Blocks

telemetry2s.view.lkml · 89 lines
inferred
view: telemetry2s {
  sql_table_name: "Telemetry2s" ;;

  dimension: id {
    type: int
    primary_key: yes
    sql: ${TABLE}.id ;;
  }

  dimension: device_id {
    sql: ${TABLE}."deviceId" ;;
  }

  dimension: log {
    sql: ${TABLE}.log ;;
  }

  dimension: request {
    sql: ${TABLE}.request ;;
  }

  dimension: base_station_id {
    sql: ${TABLE}.log->>'bsid' ;;
  }

  dimension_group: created {
    type: time
    timeframes: [time, date, week, month]
    sql: ${TABLE}."createdAt" ;;
  }

  measure: signal_strength {
    type: avg
    sql: ${TABLE}.log->>'rssi' ;;
  }

  measure: no_read_counter {
    type: max
    sql: (${TABLE}.log->>'noReadCounter')::numeric ;;
  }

  measure: payment_cycle_counter {
    type: max
    sql: (${TABLE}.log->>'paymentCycleCounter')::numeric ;;
  }

  measure: firmware_version {
    type: max
    sql: (${TABLE}.log->>'firmwareVersion')::numeric ;;
  }

  measure: bin_file_version {
    type: max
    sql: (${TABLE}.log->>'binFileVersion')::numeric ;;
  }

  measure: invalid_swipe_counter {
    type: max
    sql: (${TABLE}.log->>'invalidSwipeCounter')::numeric ;;
  }

  measure: break_beam_counter {
    type: max
    sql: (${TABLE}.log->>'breakBeamCounter')::numeric ;;
  }

  measure: lockout_percentage {
    type: number
    value_format: "0.00%"
    sql: (case when max((${TABLE}.log->>'breakBeamCounter')::numeric) = 0 then 0 else 1 - max((${TABLE}.log->>'paymentCycleCounter')::numeric) / max((${TABLE}.log->>'breakBeamCounter')::numeric) end) ;;
  }

  measure: no_read_over_beam {
    type: number
    value_format: "0.00%"
    sql: case when max((${TABLE}.log->>'breakBeamCounter')::numeric) = 0 then 0 else max((${TABLE}.log->>'noReadCounter')::numeric) / max((${TABLE}.log->>'breakBeamCounter')::numeric) end ;;
  }

  measure: no_read_over_cycle {
    type: number
    value_format: "0.00%"
    sql: case when (max(${TABLE}.log->>'paymentCycleCounter')::numeric) = 0 then 0 else max((${TABLE}.log->>'noReadCounter')::numeric) / max((${TABLE}.log->>'paymentCycleCounter')::numeric) end ;;
  }

  measure: count {
    type: count
    drill_fields: [id]
  }
}
telemetry2s.view.lookml · 60 lines
source-preserved
- view: telemetry2s
  sql_table_name: '"Telemetry2s"'
  fields:
  - dimension: id
    type: int
    primary_key: true
    sql: ${TABLE}.id
  - dimension: device_id
    sql: ${TABLE}."deviceId"
  - dimension: log
    sql: ${TABLE}.log
  - dimension: request
    sql: ${TABLE}.request
  - dimension: base_station_id
    sql: ${TABLE}.log->>'bsid'
  - dimension_group: created
    type: time
    timeframes:
    - time
    - date
    - week
    - month
    sql: ${TABLE}."createdAt"
  - measure: signal_strength
    type: avg
    sql: ${TABLE}.log->>'rssi'
  - measure: no_read_counter
    type: max
    sql: (${TABLE}.log->>'noReadCounter')::numeric
  - measure: payment_cycle_counter
    type: max
    sql: (${TABLE}.log->>'paymentCycleCounter')::numeric
  - measure: firmware_version
    type: max
    sql: (${TABLE}.log->>'firmwareVersion')::numeric
  - measure: bin_file_version
    type: max
    sql: (${TABLE}.log->>'binFileVersion')::numeric
  - measure: invalid_swipe_counter
    type: max
    sql: (${TABLE}.log->>'invalidSwipeCounter')::numeric
  - measure: break_beam_counter
    type: max
    sql: (${TABLE}.log->>'breakBeamCounter')::numeric
  - measure: lockout_percentage
    type: number
    value_format: '0.00%'
    sql: (case when max((${TABLE}.log->>'breakBeamCounter')::numeric) = 0 then 0 else 1 - max((${TABLE}.log->>'paymentCycleCounter')::numeric) / max((${TABLE}.log->>'breakBeamCounter')::numeric) end)
  - measure: no_read_over_beam
    type: number
    value_format: '0.00%'
    sql: case when max((${TABLE}.log->>'breakBeamCounter')::numeric) = 0 then 0 else max((${TABLE}.log->>'noReadCounter')::numeric) / max((${TABLE}.log->>'breakBeamCounter')::numeric) end
  - measure: no_read_over_cycle
    type: number
    value_format: '0.00%'
    sql: case when (max(${TABLE}.log->>'paymentCycleCounter')::numeric) = 0 then 0 else max((${TABLE}.log->>'noReadCounter')::numeric) / max((${TABLE}.log->>'paymentCycleCounter')::numeric) end
  - measure: count
    type: count
    drill_fields:
    - id

Contents

  • telemetry2s.view.lkml
  • telemetry2s.view.lookml