view: region {
  extension: required
  #### DIMENSIONS ####
  dimension: geocluster {
    view_label: "Account"
    group_label: "Region"
    label: "EMEA Geocluster"
    description: "EMEA grouping between Region and Sub-Region that includes: North, South, UK/IE, and Industry"
    type: string
    sql: IF(${region} = "EMEA",
      CASE
        WHEN ${sub_region} IN ('Germany', 'CEE', 'Alps', 'Nordics')
          THEN "North"
        WHEN ${sub_region} IN ('ISRAEL', 'Italy', 'France', 'MEA', 'Benelux', 'Iberia')
          THEN "South"
        WHEN ${sub_region} LIKE "UK/IE%"
          THEN "UK/IE"
        WHEN ${sub_region} IN ('Telco Dir', 'Retail & CPG', 'Banking Dir', 'Life Sciences Dir')
          THEN "Industry"
        WHEN ${sub_region} IN ('EMEA - PS')
          THEN 'Public Sector'
        END
      , NULL);;
    drill_fields: [sub_region, micro_region, nal_cluster, nal_name, nal_id]
    suggestions: ["North", "South", "UK/IE", "Industry", "Public Sector"]
  }
  dimension: micro_region {
    view_label: "Account"
    group_label: "Region"
    description: "e.g. Bay Area, NewEngland, Emerging, Benelux, Italy"
    sql: ${TABLE}.micro_region ;;
    drill_fields: [nal_cluster, nal_name, nal_id]
    suggest_explore: vector_customers_suggestions
    suggest_dimension: vector_customers_suggestions.micro_region
  }
  dimension: nal_cluster {
    view_label: "Account"
    group_label: "Region"
    label: "NAL Cluster"
    description: "First level rollup for a group of NALs (e.g.  NA Corp Digit.)"
    sql: ${TABLE}.nal_cluster ;;
    drill_fields: [nal_name, nal_id]
    suggest_explore: vector_customers_suggestions
    suggest_dimension: vector_customers_suggestions.nal_cluster
  }
  dimension: nal_id {
    view_label: "Account"
    label: "NAL ID"
    group_label: "Region"
    description: "Int64 unique identifier for a NAL"
    type: number
    sql: ${TABLE}.nal_id ;;
    drill_fields: [reporting_account_name]
    suggest_explore: vector_customers_suggestions
    suggest_dimension: vector_customers_suggestions.nal_id
  }
  dimension: nal_name {
    view_label: "Account"
    label: "NAL Name"
    group_label: "Region"
    description: "Nal name (e.g.  DACH PS ENT Gov (ricardonunez))"
    sql: ${TABLE}.nal_name ;;
    drill_fields: [reporting_account_name]
    suggest_explore: vector_customers_suggestions
    suggest_dimension: vector_customers_suggestions.nal_name
  }
  dimension: region {
    view_label: "Account"
    group_label: "Region"
    description: "Sales region (e.g. NORTHAM, EMEA, JAPAN, APAC, LATAM)"
    sql: ${TABLE}.region ;;
    drill_fields: [geocluster, sector, sub_region, micro_region, nal_cluster, nal_name, nal_id]
    order_by_field: region_order
    suggest_explore: vector_customers_suggestions
    suggest_dimension: vector_customers_suggestions.region
  }
  dimension: region_order {
    hidden: yes
    type: number
    view_label: "Account"
    description: "Account Segment from Vector"
    sql: CASE
           WHEN ${region} = "NORTHAM" THEN 1
           WHEN ${region} = "EMEA" THEN 2
           WHEN ${region} = "LATAM" THEN 3
           WHEN ${region} = "APAC" THEN 4
           WHEN ${region} = "JAPAN" THEN 5
           WHEN ${region} = "PUBLIC SECTOR" THEN 6
           WHEN ${region} = "EDU FA" THEN 7
           WHEN ${region} = "SCALED" THEN 8
           ELSE 9
         END
      ;;
  }
  dimension: region_toggle {
    view_label: "Account"
    group_label: "Region"
    label: "Region (Toggle-able)"
    description: "USE ONLY FOR DASHBOARDING.  This is a region dimension that can be toggled with a dashboard filter using the Region Granularity parameter.  Choose from Region, Sub-Region, Micro-Region, NAL Cluster, NAL ID, or Reporting Account Name. Default is NAL Name."
    label_from_parameter: region_granularity
    sql: {% if region_granularity._parameter_value == "region" %}
          ${region}
          {% elsif region_granularity._parameter_value == "geocluster" %}
          ${geocluster}
          {% elsif region_granularity._parameter_value == "sector" %}
          ${sector}
          {% elsif region_granularity._parameter_value == "sub_region" %}
          ${sub_region}
          {% elsif region_granularity._parameter_value == "micro_region" %}
          ${micro_region}
          {% elsif region_granularity._parameter_value == "nal_cluster" %}
          ${nal_cluster}
          {% elsif region_granularity._parameter_value == "nal_name" %}
          ${nal_name}
          {% elsif region_granularity._parameter_value == "nal_id" %}
          ${nal_id}
          {% endif %}
          ;;
    drill_fields: [region, geocluster, sector, sub_region, micro_region, nal_cluster, nal_name, nal_id, commit_curve.leg]
  }
  dimension: sector {
    view_label: "Account"
    group_label: "Region"
    label: "NORTHAM Sector"
    description: "NORTHAM grouping between Region and Sub-Region that includes: GEO and VERTICAL"
    type: string
    sql: IF(${region} = "NORTHAM",
      CASE
        WHEN ${sub_region} IN ("Corp", "Central", "US West", "US SouthCentral", "US NorthCentral", "US East", "Canada")
          THEN "GEO"
        WHEN ${sub_region} IN ("US TMEG", "US Retail", "US HCLS", "US FS")
          THEN "VERTICAL"
        WHEN ${nal_name} LIKE "AMER Geo%"
          THEN "GEO"
        WHEN ${nal_name} LIKE "AMER Vertical%"
          THEN "VERTICAL"
      END
      , NULL) ;;
    drill_fields: [sub_region, micro_region, nal_cluster, nal_name, nal_id]
    suggestions: ["GEO", "VERTICAL"]
  }
  dimension: sub_region {
    view_label: "Account"
    group_label: "Region"
    description: "Sales sub-region (e.g. US West, North Asia, UK/IE)"
    sql: ${TABLE}.sub_region ;;
    drill_fields: [micro_region, nal_cluster, nal_name, nal_id]
    suggest_explore: vector_customers_suggestions
    suggest_dimension: vector_customers_suggestions.sub_region
  }
  ##### PARAMETERS #####
  parameter: region_granularity {
    type: unquoted
    view_label: "Account"
    description: "A parameter that should be used with the region_toggle dimension to change the granularity at which region is shown.  Choose from Region, EMEA Geocluster, NORTHAM Sector, Sub-Region, Micro-Region, NAL Cluster, NAL ID."
    default_value: "nal_name"
    allowed_value: {
      label: "Region"
      value: "region"
    }
    allowed_value: {
      label: "EMEA Geocluster"
      value: "geocluster"
    }
    allowed_value: {
      label: "NORTHAM Sector"
      value: "sector"
    }
    allowed_value: {
      label: "Sub Region"
      value: "sub_region"
    }
    allowed_value: {
      label: "Micro Region"
      value: "micro_region"
    }
    allowed_value: {
      label: "NAL Cluster"
      value: "nal_cluster"
    }
    allowed_value: {
      label: "NAL Name"
      value: "nal_name"
    }
    allowed_value: {
      label: "NAL ID"
      value: "nal_id"
    }
  }
}
