# emulates https://lookercs-internal.git.corp.google.com/cloud_sales_bi/+/refs/heads/master/views/revenue/revenue_from_revenue.view.lkml
view: revenue_from_revenue {
  extension: required
  ########## DIMENSIONS ############
  dimension: currency_code {
    view_label: "Revenue"
    description: "Three letter currency code (e.g. USD) for local billing amount."
    sql: ${TABLE}.currency_code ;;
  }
  dimension: dynamic_usage_timeframe {
    view_label: "Revenue"
    description: "Dynamic field that is returns usage date, dependent on `Usage Timeframe Selector`. If none selected, defaults to daily."
    type: date
    sql: CASE
          WHEN {% parameter usage_timeframe_selector %} = 'Date' THEN SAFE_CAST(${usage_date} AS STRING)
          WHEN {% parameter usage_timeframe_selector %} = 'Week' THEN ${usage_week}
          WHEN {% parameter usage_timeframe_selector %} = 'Month' THEN CONCAT(${usage_month},"-01")
         END ;;
  }
  dimension: gcp_revenue_source {
    view_label: "Revenue"
    label: "GCP Revenue Source"
    description: "Used by the Northam team to filter revenue.  Values can be Organic GCP (all products except for Marketplace Services), MP Standard (Marketplace Services that aren't pre-paid), or MP Prepay (Marketplace Services that are prepaid)."
    case: {
      when: {
        sql: ${product_group} != "Non-Cloud" ;;
        label: "Organic GCP"
      }
      when: {
        sql: ${product_group} = "Non-Cloud" AND NOT ${is_nonmetered} ;;
        label: "MP Standard"
      }
      when: {
        sql: ${product_group} = "Non-Cloud" AND ${is_nonmetered} ;;
        label: "MP Prepaid"
      }
      else: "Other Revenue"
    }
  }
  dimension_group: invoice_month_start {
    type: time
    timeframes: [raw, date, week, month, quarter, year]
    view_label: "Revenue"
    sql: ${TABLE}.invoice_month_start ;;
    datatype: date
    convert_tz: no
  }

  dimension: is_data_analytics {
    type: yesno
    label: "Is Data Analytics?"
    view_label: "Product"
    sql: ${revenue.product_group_l2} = 'Analytics'
          OR ${revenue.is_dataproc}
          OR ${revenue.logical_product_l3} IN ('AI Platform', 'Confluent', 'Confluent Dev',
          'Confluent Staging', 'Databricks', 'Elastic', 'Elastic - Dev', 'Fivetran',
          'Informatica', 'MongoDB Inc.', 'Palantir') ;;
    description: "Returns yes if this is Data & Analytics (DA) usage"
  }
  dimension: is_dataproc {
    type: yesno
    label: "Is Dataproc Node?"
    view_label: "Product"
    sql: ${TABLE}.is_dataproc_node ;;
    description: "Does this usage come from a Dataproc node?"
  }
  dimension: is_gcp_marketplace {
    type: yesno
    label: "Is GCP Marketplace?"
    view_label: "Product"
    sql: ${TABLE}.is_gcp_marketplace ;;
  }
  dimension: is_gke_node {
    type: yesno
    label: "Is GKE Node?"
    view_label: "Product"
    sql: ${TABLE}.is_gke_node ;;
    description: "Does this usage come from a GKE node?"
  }
  dimension: product_family_l1 {
    label: "Product Family (L1)"
    group_label: "Finance Product Hierarchy"
    view_label: "Product"
    description: "Examples: Google Workspace, GCP, Maps, PSO"
    sql: ${TABLE}.product_group ;;
    drill_fields: [product_group_l2]
  }
  dimension: product_group_l2 {
    label: "Product Group (L2)"
    group_label: "Finance Product Hierarchy"
    view_label: "Product"
    description: "Examples: Marketplace Services, Compute, Support, Databases, etc."
    sql: ${TABLE}.product_group_l2 ;;
    drill_fields: [logical_product_l3]
  }
  dimension: logical_product_l3 {
    label: "Logical Product (L3)"
    group_label: "Finance Product Hierarchy"
    view_label: "Product"
    description: "Examples: Persistent Disk, VM Image Storage, GCE"
    sql: ${TABLE}.logical_product_l3 ;;
  }
  # dimension: machine_type {
  #   view_label: "Product"
  #   description: "Machine Type Classifications for Compute Engine"
  #   sql: IF(${product_line_raw} = "Compute Engine", CASE
  #       WHEN ${is_gke_node} THEN "GKE"
  #       WHEN ${is_dataproc} THEN "Dataproc"
  #       WHEN ${sku_description} LIKE '%A2 %' THEN 'A2'
  #       WHEN ${sku_description} LIKE '%E2 %' THEN 'E2'
  #       WHEN ${sku_description} LIKE '%Memory%optimized%' THEN 'M1/M2'
  #       WHEN ${sku_description} LIKE '%N2 %' THEN 'N2'
  #       WHEN ${sku_description} LIKE '%N2D%' THEN 'N2D'
  #       WHEN ${sku_description} LIKE '%Compute%optimized%' THEN 'C2'
  #       WHEN LOWER(${sku_description}) LIKE '%custom%ram%' OR ${sku_description} LIKE '%Custom%Core%' OR ${sku_description} LIKE '%N1 %' OR ${sku_description} LIKE '%v1: Cpu%' OR ${sku_description} LIKE '%v1: Ram%' OR ${sku_description} LIKE '%Instance Ram hosted on Sole Tenancy%' OR ${sku_description} LIKE '%Sole Tenancy Instance RAM%' OR ${sku_description} LIKE '%Sole Tenancy Instance Ram%' OR ${sku_description} LIKE '%Instance Core hosted on Sole Tenancy%' OR ${sku_description} LIKE '%Sole Tenancy Instance Core%' OR ${sku_description} LIKE 'Micro Instance%' OR ${sku_description} LIKE 'Preemptible Micro Instance%' OR ${sku_description} LIKE '%Small Instance%' THEN "N1"
  #       ELSE "Other Machine Type"
  #     END, NULL) ;;
  #   drill_fields: [sku_description]
  # }
  dimension: product_group {
    group_label: "Legacy Product Hierarchy"
    view_label: "Product"
    description: "Groupings of Product Line into broader categories like \"Compute\" or \"Data Analytics\""
    sql: ${TABLE}.product_group ;;
    drill_fields: [product_line]
  }
  dimension: product_line {
    group_label: "Legacy Product Hierarchy"
    view_label: "Product"
    description: "Product Line, but with is_gke_node = True reassigned to Kubernetes Engine and is_dataproc = True reassigned to Dataproc"
    sql: IF(${product_line_raw} = "Compute Engine",
          CASE
            WHEN ${is_gke_node} THEN "Kubernetes Engine"
            WHEN ${is_dataproc} THEN "Dataproc"
            ELSE "Compute Engine"
          END,
          ${product_line_raw});;
    drill_fields: [sku_description, ]
  }
    dimension: product_line_raw {
    hidden: yes
    group_label: "Legacy Product Hierarchy"
    view_label: "Product"
    sql: ${TABLE}.product_line;;
    #drill_fields: [sku_description]
  }

  # dimension: product_line_raw {
  #   hidden: yes
  #   group_label: "Legacy Product Hierarchy"
  #   view_label: "Product"
  #   sql: {% if project_number._in_query %} ${TABLE}.product_name
  #       {% elsif project_name._in_query %} ${TABLE}.product_name
  #       {% elsif project_id._in_query %} ${TABLE}.product_name
  #       {% elsif sku_id._in_query %} ${TABLE}.product_name
  #       {% elsif sku_description._in_query %} ${TABLE}.product_name
  #       {% elsif machine_type._in_query %} ${TABLE}.product_name
  #       {% elsif resource_group._in_query %} ${TABLE}.product_name
  #       {% elsif storage_locality._in_query %} ${TABLE}.product_name
  #       {% elsif storage_class._in_query %} ${TABLE}.product_name
  #       {% elsif usage_location._in_query %} ${TABLE}.product_name
  #       {% elsif usage_unit._in_query %} ${TABLE}.product_name
  #       {% elsif usage_in_usage_units._in_query %} ${TABLE}.product_name
  #       {% else %} ${TABLE}.product_line {% endif %} ;;
  #   drill_fields: [sku_description]
  # }
  # dimension: product_specialization {
  #   view_label: "Product"
  #   sql: {% if project_number._in_query %} ${TABLE}.specialization
  #       {% elsif project_name._in_query %} ${TABLE}.specialization
  #       {% elsif project_id._in_query %} ${TABLE}.specialization
  #       {% elsif sku_id._in_query %} ${TABLE}.specialization
  #       {% elsif sku_description._in_query %} ${TABLE}.specialization
  #       {% elsif machine_type._in_query %} ${TABLE}.specialization
  #       {% elsif resource_group._in_query %} ${TABLE}.specialization
  #       {% elsif storage_locality._in_query %} ${TABLE}.specialization
  #       {% elsif storage_class._in_query %} ${TABLE}.specialization
  #       {% elsif usage_location._in_query %} ${TABLE}.specialization
  #       {% elsif usage_unit._in_query %} ${TABLE}.specialization
  #       {% elsif usage_in_usage_units._in_query %} ${TABLE}.specialization
  #       {% else %} ${TABLE}.product_specialization {% endif %} ;;
  #   drill_fields: [sku_description]
  # }
  dimension: service_family {
    view_label: "Product"
    description: "Service family, i.e. CLOUD or GEO"
    type: string
    sql: ${TABLE}.service_family ;;
  }
  # dimension: storage_class {
  #   view_label: "Product"
  #   group_label: "Cloud Storage"
  #   description: "Groups Cloud Storage into Archive, Coldline, Nearline, and Standard based on sku description."
  #   case: {
  #     when: {
  #       sql: ${product_line_raw} = "Cloud Storage" AND ${sku_description} LIKE '%Archive%' ;;
  #       label: "Archive"
  #     }
  #     when: {
  #       sql: ${product_line_raw} = "Cloud Storage" AND ${sku_description} LIKE '%Coldline%' ;;
  #       label: "Coldline"
  #     }
  #     when: {
  #       sql: ${product_line_raw} = "Cloud Storage" AND ${sku_description} LIKE '%Nearline%' ;;
  #       label: "Nearline"
  #     }
  #     when: {
  #       sql: ${product_line_raw} = "Cloud Storage" ;;
  #       label: "Standard"
  #     }
  #   }
  # }
  # dimension: storage_locality {
  #   view_label: "Product"
  #   group_label: "Cloud Storage"
  #   description: "Groups Cloud Storage into Multi-Region, Dual-Region, or Regional based on sku description."
  #   case: {
  #     when: {
  #       sql: ${product_line_raw} = "Cloud Storage" AND ${sku_description} LIKE '%Multi%' ;;
  #       label: "Multi-Region"
  #     }
  #     when: {
  #       sql: ${product_line_raw} = "Cloud Storage" AND ${sku_description} LIKE '%Dual%' ;;
  #       label: "Dual-Region"
  #     }
  #     when: {
  #       sql: ${product_line_raw} = "Cloud Storage" ;;
  #       label: "Regional"
  #     }
  #   }
  # }
  dimension_group: usage {
    type: time
    timeframes: [raw, day_of_month, day_of_year, day_of_week, date, week, month, month_name, quarter, quarter_of_year, year]
    view_label: "Revenue"
    description: "Date on which usage was recorded"
    sql: ${TABLE}.partition_date ;;
    datatype: date
    convert_tz: no
  }
  dimension: usd_revenue_blended {
    hidden: yes
    view_label: "Revenue"
    sql: {% if filter_nonmetered._parameter_value == "true" %}
      IF(NOT ${is_nonmetered}, ${TABLE}.usd_revenue_blended, 0)
      {% else %}
      ${TABLE}.usd_revenue_blended
      {% endif %}
      ;;
  }
  dimension: usd_revenue_bmod {
    hidden: yes
    view_label: "Revenue"
    sql: ${TABLE}.usd_revenue_bmod ;;
  }
  dimension: usd_revenue_cross_pa_credits {
    hidden: yes
    description: "Added to usd_revenue_net_cn to create GCP Actuals"
    sql: ${TABLE}.usd_revenue_cross_pa_credits ;;
  }
  dimension: usd_revenue_cud {
    hidden: yes
    view_label: "Revenue"
    description: "Committed Usage Discount credits applied against the _gross amount, reported in USD($) using a monthly Ceilometer exchange rate."
    sql: ${TABLE}.usd_revenue_cud ;;
  }
  dimension: usd_revenue_ft {
    hidden: yes
    view_label: "Revenue"
    description: "Free Trial credit applied against the _gross amount, reported in USD($) using a monthly Ceilometer exchange rate."
    sql: ${TABLE}.usd_revenue_ft ;;
  }
  dimension: usd_revenue_gross {
    hidden: yes
    view_label: "Revenue"
    description: "Monetised value for resource consumption, before application of any credits, reported in USD($) using a monthly Ceilometer exchange rate. (Generally a positive number)"
    sql: ${TABLE}.usd_revenue_gross ;;
  }
  dimension: usd_revenue_gross_cn {
    hidden: yes
    view_label: "Revenue"
    sql: ${TABLE}.usd_revenue_gross_cn ;;
  }
  dimension: usd_revenue_list {
    hidden: yes
    view_label: "Revenue"
    sql: ${TABLE}.usd_revenue_list ;;
  }
  dimension: usd_revenue_net {
    hidden: yes
    view_label: "Revenue"
    description: "Final billed amounts after application of all other credits, reported in USD($) using an annual exchange rate. (Net amounts are normally positive or round to zero, but it some cases credits can exceed gross and net will be negative)"
    sql: ${TABLE}.usd_revenue_net ;;
  }
  dimension: usd_revenue_ntg {
    hidden: yes
    view_label: "Revenue"
    description: "Net to Google Revenue"
    sql: ${TABLE}.usd_revenue_ntg ;;
  }
  dimension: usd_revenue_net_cn {
    hidden: yes
    view_label: "Revenue"
    sql: {% if filter_nonmetered._parameter_value == "true" %}
      IF(NOT ${is_nonmetered}, ${TABLE}.usd_revenue_net_cn, 0)
      {% else %}
      ${TABLE}.usd_revenue_net_cn
      {% endif %}
      ;;
  }
  dimension: usd_revenue_promo {
    hidden: yes
    view_label: "Revenue"
    description: "Other promotional credits applied against the _gross amount, reported in USD($) using a monthly Ceilometer exchange rate."
    sql: ${TABLE}.usd_revenue_promo ;;
  }
  dimension: usd_revenue_protected_credit {
    hidden: yes
    view_label: "Revenue"
    sql: ${TABLE}.usd_revenue_protected_credit ;;
  }
  dimension: usd_revenue_reseller {
    hidden: yes
    view_label: "Revenue"
    sql: ${TABLE}.usd_revenue_reseller ;;
  }
  dimension: usd_revenue_rvp {
    hidden: yes
    view_label: "Revenue"
    description: "Revenue for RVPs: see go/revenue-walk for details"
    sql: ${TABLE}.usd_revenue_rvp ;;
  }
  dimension: usd_revenue_sud {
    hidden: yes
    view_label: "Revenue"
    description: " Usage Discount credits applied against the _gross amount, reported in USD($) using a monthly Ceilometer exchange rate."
    sql: ${TABLE}.usd_revenue_sud ;;
  }
  dimension: is_nonmetered {
    type: yesno
    label: "Is Nonmetered?"
    view_label: "Product"
    sql: ${TABLE}.is_nonmetered ;;
  }
  #### MEASURES ####
  measure: revenue_invoice {
    alias: [revenue_actuals]
    label: "Revenue (Invoice)"
    view_label: "Revenue"
    description: "Sum of Revenue (Sales) minus hug credits. Post alignment we have agreed to keep only one source of truth for revenue and it will be gcc.revenue. Gcp_consumpiton will be deprecated but another table(with adjustments) will be established to enable the bridge from gcc.revenue to finance."
    type: sum
    sql: ${usd_revenue_net} - ${usd_revenue_cross_pa_credits};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_actuals, revenue_net_cn]
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_line\" }}&limit=10"
      label: "Top 10 Product Lines"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.nal_name,revenue.reporting_account_name\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Top 10 Accounts"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.segment\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Segment"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.account_category\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Account Category"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Region"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region,revenue.sub_region,revenue.micro_region,revenue.nal_cluster,revenue.nal_name,revenue.nal_id\" }}&sorts={{ _field._name }}+desc
      "
      label: "Drill by NAL"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_group\" }}"
      label: "Drill by Product Group"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_bmod {
    group_label: "Discounts, Credits & BMODS"
    label: "Revenue (Billing Modifications)"
    view_label: "Revenue"
    description: "The subset of revenue that is due to a billing modification. Billing Modifications (BMods) are requested when an adjustment affecting the regular invoicing process needs to be made."
    type: sum
    sql: ${usd_revenue_bmod};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, usd_revenue_bmod, revenue_gross, revenue_net_cn]
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_cross_pa_credits {
    group_label: "Discounts, Credits & BMODS"
    label: "Revenue (xPA Credits)"
    view_label: "Revenue"
    description: "Cross PA Credits."
    type: sum
    sql: ${usd_revenue_cross_pa_credits};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_cross_pa_credits, revenue_gross, revenue_net_cn]
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_cud {
    group_label: "Discounts, Credits & BMODS"
    label: "Revenue (Committed Usage Discount)"
    view_label: "Revenue"
    description: "Committed Usage Discount credits applied against the Gross amount."
    type: sum
    sql: ${usd_revenue_cud};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_cud, revenue_gross, revenue_net_cn]
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_discounts_other {
    group_label: "Discounts, Credits & BMODS"
    label: "Revenue (Other Discounts)"
    view_label: "Revenue"
    description: "Differences between Gross and Revenue (Sales) not due to BMods, CUD, SUD, Free Trial, or Promo, Cross PA Credits."
    type: sum
    sql: -1 * (${usd_revenue_gross} - ${usd_revenue_blended} + ${usd_revenue_cud} + ${usd_revenue_ft} + ${usd_revenue_promo} + ${usd_revenue_sud} +${usd_revenue_reseller}) ;;
    value_format_name: usd_0
    drill_fields: [billing_account_id
      , revenue_discounts_other
      , revenue_gross
      , revenue_net_cn
    ]
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_ft {
    group_label: "Discounts, Credits & BMODS"
    label: "Revenue (Free Trial)"
    view_label: "Revenue"
    description: "Free Trial credit applied against the Gross amount."
    type: sum
    sql: ${usd_revenue_ft};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_ft, revenue_gross, revenue_net_cn]
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_gross {
    label: "Revenue (Gross)"
    view_label: "Revenue"
    description: "Monetised values for resource consumption, before application of credits (adjustments). Gross values are generally positive."
    type: sum
    sql: ${usd_revenue_gross};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_gross, revenue_net_cn]
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_line\" }}&limit=10"
      label: "Top 10 Product Lines"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.nal_name,revenue.reporting_account_name\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Top 10 Accounts"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.segment\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Segment"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.account_category\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Account Category"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Region"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region,revenue.sub_region,revenue.micro_region,revenue.nal_cluster,revenue.nal_name,revenue.nal_id\" }}&sorts={{ _field._name }}+desc
      "
      label: "Drill by NAL"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_group\" }}"
      label: "Drill by Product Group"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
  }
  measure: revenue_list {
    label: "[go/listrev] Revenue (List)"
    view_label: "Revenue"
    description: "Learn more at go/listrev. Amount of monetized usage calculared based on the list price of each SKU (with no discounts applied)."
    type: sum
    sql: ${usd_revenue_list} ;;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_list, revenue_gross, revenue_net_cn]
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
    link: {
      url: "http://go/listrev"
      label: "Learn more about List Revenue Metric"
    }
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_line\" }}&limit=10"
      label: "Top 10 Product Lines"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.nal_name,revenue.reporting_account_name\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Top 10 Accounts"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.segment\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Segment"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.account_category\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Account Category"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Region"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region,revenue.sub_region,revenue.micro_region,revenue.nal_cluster,revenue.nal_name,revenue.nal_id\" }}&sorts={{ _field._name }}+desc
      "
      label: "Drill by NAL"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_group\" }}"
      label: "Drill by Product Group"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
  }
  measure: revenue_net_cn {
    label: "Revenue (Sales)"
    view_label: "Revenue"
    description: "Channel-neutral revenue (usd_revenue_net_cn) for accounts which are SMB, Corp, or GPS. Net-to-google revenue for commercial Select/Enterprise accounts."
    type: sum
    sql: ${usd_revenue_blended};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_net_cn]
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_line\" }}&limit=10"
      label: "Top 10 Product Lines"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.nal_name,revenue.reporting_account_name\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Top 10 Accounts"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.product_group,revenue.sku_id,revenue.sku_description\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Top 10 SKUs"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.segment\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Segment"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.account_category\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Account Category"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Region"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region,revenue.sub_region,revenue.micro_region,revenue.nal_cluster,revenue.nal_name,revenue.nal_id\" }}&sorts={{ _field._name }}+desc
      "
      label: "Drill by NAL"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_group\" }}"
      label: "Drill by Product Group"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_promo {
    group_label: "Discounts, Credits & BMODS"
    label: "Revenue (Promo)"
    view_label: "Revenue"
    description: "Other promotional credits applied against the Gross amount"
    type: sum
    sql: ${usd_revenue_promo};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_promo, revenue_gross, revenue_net_cn]
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_reseller {
    group_label: "Discounts, Credits & BMODS"
    label: "Revenue (Reseller)"
    view_label: "Revenue"
    description: "Reseller Discount credits applied against the Gross amount."
    type: sum
    sql: ${usd_revenue_reseller};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_reseller, revenue_gross, revenue_net_cn]
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_rvp {
    label: "Revenue (RVP)"
    view_label: "Revenue"
    description: "Revenue definition used by Region VPs.  See go/revenue-walk"
    type: sum
    sql: ${usd_revenue_rvp};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_net_cn]
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_line\" }}&limit=10"
      label: "Top 10 Product Lines"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.nal_name,revenue.reporting_account_name\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Top 10 Accounts"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.product_group,revenue.sku_id,revenue.sku_description\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Top 10 SKUs"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.segment\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Segment"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.account_category\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Account Category"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Region"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region,revenue.sub_region,revenue.micro_region,revenue.nal_cluster,revenue.nal_name,revenue.nal_id\" }}&sorts={{ _field._name }}+desc
      "
      label: "Drill by NAL"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_group\" }}"
      label: "Drill by Product Group"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_sud {
    group_label: "Discounts, Credits & BMODS"
    label: "Revenue (Sustained Usage Discount)"
    view_label: "Revenue"
    description: "Sustained Usage Discount credits applied against the Gross amount."
    type: sum
    sql: ${usd_revenue_sud};;
    value_format_name: usd_0
    drill_fields: [billing_account_id, revenue_sud, revenue_gross, revenue_net_cn]
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  measure: revenue_toggle {
    group_label: "Other Revenue"
    label: "Revenue (Toggle-able)"
    label_from_parameter: metric_selector
    view_label: "Revenue"
    description: "This parameter is for dashboard building only!  This allows users to select a metric type
    from a dashboard filter.  For example, the dashboard might default to using Gross Revenue, but the user
    can use this parameter to change to using 2021 Def. Sales Revenue instead.  Must be used with the
    Metric Selector parameter to select what this metric will display"
    type: sum
    sql:  {% if metric_selector._parameter_value == 'invoice' %} ${usd_revenue_net}
          {% elsif metric_selector._parameter_value == 'ntg' %} ${usd_revenue_ntg}
          {% elsif metric_selector._parameter_value == 'net_channel_neutral' %} ${usd_revenue_net_cn}
          {% elsif metric_selector._parameter_value == 'gross' %} ${usd_revenue_gross}
          {% elsif metric_selector._parameter_value == 'blended' %} ${usd_revenue_blended}
          {% elsif metric_selector._parameter_value == 'rvp' %} ${usd_revenue_rvp}
          {% endif %} ;;
    drill_fields: [billing_account_id, revenue_toggle]
    value_format_name: usd_0
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_line\" }}&limit=10"
      label: "Top 10 Product Lines"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.nal_name,revenue.reporting_account_name\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Top 10 Accounts"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.segment\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Segment"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.account_category\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Account Category"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region\" }}&limit=10&sorts={{ _field._name }}+desc
      "
      label: "Drill by Region"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "
      {% assign column_name = \"=\" | append: _view._name | append: \".billing_account_id\" %}
      {{ link | replace: column_name, \"=revenue.region,revenue.sub_region,revenue.micro_region,revenue.nal_cluster,revenue.nal_name,revenue.nal_id\" }}&sorts={{ _field._name }}+desc
      "
      label: "Drill by NAL"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    link: {
      url: "{{ link | replace: \"billing_account_id\", \"product_group\" }}"
      label: "Drill by Product Group"
      icon_url: "https://g3doc.corp.google.com/company/teams/concord/portal/images/logo-concord-no-text.png"
    }
    # Reference: https://community.looker.com/lookml-5/conditional-formatting-using-value-format-926
    # html: @{custom_dollar_formatting} ;;
  }
  #### PARAMETERS ####
  parameter: metric_selector {
    view_label: "Revenue"
    description: "This parameter is for dashboard building only.  This allows users to select a metric type
    from a dashboard filter.  For example, the dashboard might default to using Gross Revenue, but the user
    can use this parameter to change to using 2021 Def. Sales Revenue instead.  Must be used with the
    Toggleable Revenue Metric, and not the normal metrics."
    default_value: "blended"
    type: unquoted
    allowed_value: {
      label: "Revenue (Sales)"
      value: "blended"
    }
    allowed_value: {
      label: "Revenue (RVP)"
      value: "rvp"
    }
    allowed_value: {
      label: "Revenue (2021 Def.)"
      value: "net_channel_neutral"
    }
    allowed_value: {
      label: "Revenue (Invoice)"
      value: "invoice"
    }
    allowed_value: {
      label: "Revenue (Gross)"
      value: "gross"
    }
    allowed_value: {
      label: "Revenue (Net-to-Google)"
      value: "ntg"
    }
  }
  parameter: filter_nonmetered {
    view_label: "Revenue"
    label: "Remove Prepaid Purchases?"
    description: "Filters out Marketplace Prepaid Purchases, which can erroneously inflate forecasts.  Default is to filter these out."
    default_value: "false"
    type: unquoted
    allowed_value: {
      label: "Remove"
      value: "true"
    }
    allowed_value: {
      label: "Include"
      value: "false"
    }
  }
  parameter: usage_timeframe_selector {
    view_label: "Revenue"
    description: "Updates the `Dynamic Usage Timeframe` field based on selection of granularity."
    type: string
    default_value: "Date"
    allowed_value: {
      value: "Date"
    }
    allowed_value: {
      value: "Week"
    }
    allowed_value: {
      value: "Month"
    }
  }
}
