LookML Fintech api

Growth Production

Growth Production model for fintech api.

source-preserved

Blocks

growth_production.view.lkml · 152 lines
inferred
view: growth_production {
  sql_table_name: public.api_production ;;

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

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

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

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

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

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

  dimension: is_test {
    type: yesno
    sql: ${TABLE}.is_test ;;
  }

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

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

  dimension: item_consistency {
    type: yesno
    sql: ${TABLE}.item_consistency ;;
  }

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

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

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

  dimension_group: calendar {
    type: time
    timeframes: [time, date, week, month]
    sql: ${TABLE}.current_time_ms ;;
  }

  measure: clients_active {
    type: count_distinct
    sql: ${client_id} ;;
  }

  measure: requests_total {
    type: count
    drill_fields: [client_id, client_name, utilization_metric]
  }

  measure: requests_growth {
    type: percent_of_previous
    sql: ${requests_total} ;;
  }

  measure: occurrences_distinct {
    type: count_distinct
    sql: ${occurrence_id} ;;
  }

  measure: items_distinct {
    type: count_distinct
    sql: ${item_id} ;;
  }

  measure: items_growth {
    type: percent_of_previous
    sql: ${items_distinct} ;;
  }

  measure: occurrences_growth {
    type: percent_of_previous
    sql: ${occurrences_distinct} ;;
  }

  measure: auth_clients_active {
    type: count_distinct
    filters: [product_category: "auth"]
    sql: ${client_id} ;;
  }

  measure: auth_revenue_requests {
    type: count
    filters: [utilization_metric: "auth-submit,auth-get"]
  }

  measure: info_clients_active {
    type: count_distinct
    filters: [product_category: "info"]
    sql: ${client_id} ;;
  }

  measure: info_revenue_requests {
    type: count
    filters: [utilization_metric: "info-submit,info-get"]
  }

  measure: balance_clients_active {
    type: count_distinct
    filters: [product_category: "balance"]
    sql: ${client_id} ;;
  }

  measure: balance_accounts_change {
    type: number
    sql: SUM(
  CASE
    WHEN ${utilization_metric}='auth-submit' THEN 1
    WHEN ${utilization_metric}='auth-delete' THEN -1
  END
) ;;
  }

  measure: connect_clients_active {
    type: count_distinct
    filters: [product_category: "connect"]
    sql: ${client_id} ;;
  }

  measure: connect_accounts_change {
    type: number
    sql: SUM(
  CASE
    WHEN ${utilization_metric} IN ('connect-submit','upgrade') THEN 1
    WHEN ${utilization_metric}='connect-delete' THEN -1
  END
) ;;
  }
}
growth_production.view.lookml · 107 lines
source-preserved
- view: growth_production
  sql_table_name: public.api_production
  fields:
  - dimension: client_id
    sql: ${TABLE}.client_id
  - dimension: client_name
    sql: ${TABLE}.client_name
  - dimension: product_category
    sql: ${TABLE}.product_category
  - dimension: utilization_metric
    sql: ${TABLE}.utilization_metric
  - dimension: method
    sql: ${TABLE}.method
  - dimension: url
    sql: ${TABLE}.url
  - dimension: is_test
    type: yesno
    sql: ${TABLE}.is_test
  - dimension: occurrence_id
    sql: ${TABLE}.occurrence_id
  - dimension: item_id
    sql: ${TABLE}.item_id
  - dimension: item_consistency
    type: yesno
    sql: ${TABLE}.item_consistency
  - dimension: username
    sql: ${TABLE}.username
  - dimension: access_token
    sql: ${TABLE}.access_token
  - dimension: institution_type
    sql: ${TABLE}.institution_type
  - dimension_group: calendar
    type: time
    timeframes:
    - time
    - date
    - week
    - month
    sql: ${TABLE}.current_time_ms
  - measure: clients_active
    type: count_distinct
    sql: ${client_id}
  - measure: requests_total
    type: count
    drill_fields:
    - client_id
    - client_name
    - utilization_metric
  - measure: requests_growth
    type: percent_of_previous
    sql: ${requests_total}
  - measure: occurrences_distinct
    type: count_distinct
    sql: ${occurrence_id}
  - measure: items_distinct
    type: count_distinct
    sql: ${item_id}
  - measure: items_growth
    type: percent_of_previous
    sql: ${items_distinct}
  - measure: occurrences_growth
    type: percent_of_previous
    sql: ${occurrences_distinct}
  - measure: auth_clients_active
    type: count_distinct
    filters:
    - product_category: auth
    sql: ${client_id}
  - measure: auth_revenue_requests
    type: count
    filters:
    - utilization_metric: auth-submit,auth-get
  - measure: info_clients_active
    type: count_distinct
    filters:
    - product_category: info
    sql: ${client_id}
  - measure: info_revenue_requests
    type: count
    filters:
    - utilization_metric: info-submit,info-get
  - measure: balance_clients_active
    type: count_distinct
    filters:
    - product_category: balance
    sql: ${client_id}
  - measure: balance_accounts_change
    type: number
    sql: SUM(
  CASE
    WHEN ${utilization_metric}='auth-submit' THEN 1
    WHEN ${utilization_metric}='auth-delete' THEN -1
  END
)
  - measure: connect_clients_active
    type: count_distinct
    filters:
    - product_category: connect
    sql: ${client_id}
  - measure: connect_accounts_change
    type: number
    sql: SUM(
  CASE
    WHEN ${utilization_metric} IN ('connect-submit','upgrade') THEN 1
    WHEN ${utilization_metric}='connect-delete' THEN -1
  END
)

Contents

  • growth_production.view.lkml
  • growth_production.view.lookml