LKML Service reviews marketplace

Transaction Journal

Transaction Journal model for service reviews marketplace.

inferred

Blocks

transaction_journal.view.lkml · 93 lines
inferred
view: transaction_journal {
  sql_table_name: transaction_balance_maps ;;

  dimension: balance_id {
    type: int
    sql: ${TABLE}.balance_id ;;
  }

  dimension: conversion_rate {
    type: number
    sql: ${TABLE}.conversion_rate ;;
  }

  dimension: difference {
    type: number
    sql: ${TABLE}.difference ;;
  }

  dimension: prev_balance {
    type: number
    sql: ${TABLE}.prev_balance ;;
  }

  dimension: transaction_id {
    type: int
    sql: ${TABLE}.transaction_id ;;
  }

  dimension: journal_type {
    sql: CASE
  WHEN difference > 0 THEN 'Issuance'
  WHEN difference < 0 THEN 'Redemption'
  ELSE 'Non-Action'
END ;;
  }

  dimension: lift {
    type: number
    sql: rpt_transaction_lift.lift_amount ;;
  }

  dimension: lift_percent {
    type: number
    sql: rpt_transaction_lift.lift_percent ;;
  }

  measure: count {
    type: count
  }

  measure: average_lift {
    type: avg
    sql: ${lift} ;;
  }

  measure: average_lift_percent {
    type: avg
    sql: ${lift_percent} ;;
  }

  measure: count_issuance {
    type: count
    filters: [journal_type: "Issuance"]
    sql: ${journal_type} ;;
  }

  measure: count_redemption {
    type: count
    filters: [journal_type: "Redemption"]
    sql: ${journal_type} ;;
  }

  measure: total_issuance_amount {
    type: sum
    filters: [journal_type: "Issuance"]
    sql: ${difference} ;;
  }

  measure: total_redemption_amount {
    type: sum
    filters: [journal_type: "Redemption"]
    sql: ${difference} ;;
  }

  measure: total_redemption_rate {
    type: number
    sql: CASE
  WHEN ${total_issuance_amount} = 0
  THEN NULL
  ELSE 100 * ${total_redemption_amount}/${total_issuance_amount}
END ;;
  }
}
transaction_journal.view.lookml · 65 lines
source-preserved
- view: transaction_journal
  sql_table_name: transaction_balance_maps
  fields:
  - dimension: balance_id
    type: int
    sql: ${TABLE}.balance_id
  - dimension: conversion_rate
    type: number
    sql: ${TABLE}.conversion_rate
  - dimension: difference
    type: number
    sql: ${TABLE}.difference
  - dimension: prev_balance
    type: number
    sql: ${TABLE}.prev_balance
  - dimension: transaction_id
    type: int
    sql: ${TABLE}.transaction_id
  - dimension: journal_type
    sql: CASE
  WHEN difference > 0 THEN 'Issuance'
  WHEN difference < 0 THEN 'Redemption'
  ELSE 'Non-Action'
END
  - dimension: lift
    type: number
    sql: rpt_transaction_lift.lift_amount
  - dimension: lift_percent
    type: number
    sql: rpt_transaction_lift.lift_percent
  - measure: count
    type: count
  - measure: average_lift
    type: avg
    sql: ${lift}
  - measure: average_lift_percent
    type: avg
    sql: ${lift_percent}
  - measure: count_issuance
    type: count
    filters:
    - journal_type: Issuance
    sql: ${journal_type}
  - measure: count_redemption
    type: count
    filters:
    - journal_type: Redemption
    sql: ${journal_type}
  - measure: total_issuance_amount
    type: sum
    filters:
    - journal_type: Issuance
    sql: ${difference}
  - measure: total_redemption_amount
    type: sum
    filters:
    - journal_type: Redemption
    sql: ${difference}
  - measure: total_redemption_rate
    type: number
    sql: CASE
  WHEN ${total_issuance_amount} = 0
  THEN NULL
  ELSE 100 * ${total_redemption_amount}/${total_issuance_amount}
END

Contents

  • transaction_journal.view.lkml
  • transaction_journal.view.lookml