| ############################################################################################################# | |
| # Owner: Customer Main | |
| # Created by: yangstanley@, hillz@ | |
| # Created: April 8, 2021 | |
| # Purpose: This table includes a list of legal entities which could be Association, corporation, partnership, | |
| # proprietorship, non-profit institution, government institution, or individual that has legal standing | |
| # in the eyes of law. Associated with each other via a legal hierarchy. | |
| # | |
| # This table is partitioned by data injection date(_PARTITIONDATE) | |
| ############################################################################################################# | |
| view: demo_l4c { | |
| derived_table: { | |
| sql: WITH legal_entities AS ( | |
| SELECT | |
| legal_entity_id | |
| , name | |
| , address.revision AS revision | |
| , address.region_code AS region_code | |
| , address.language_code AS language_code | |
| , address.postal_code AS postal_code | |
| , address.sorting_code AS sorting_code | |
| , address.administrative_area AS administrative_area | |
| , address.locality AS locality | |
| , address.organization AS organization | |
| , duns | |
| , customer_id | |
| , parent_id | |
| , commit_timestamp | |
| , address_lines | |
| , recipients | |
| , _PARTITIONDATE AS partition_date | |
| FROM concord-prod.service_customermdm_test.legal_entities | |
| LEFT JOIN UNNEST(address.address_lines) AS address_lines | |
| LEFT JOIN UNNEST(address.recipients) AS recipients | |
| WHERE _PARTITIONDATE = ( | |
| SELECT MAX(_PARTITIONDATE) | |
| FROM concord-prod.service_customermdm_test.legal_entities | |
| WHERE _PARTITIONDATE > DATE_ADD(CURRENT_DATE, INTERVAL -3 DAY) ) | |
| AND _PARTITIONDATE > DATE_ADD(CURRENT_DATE, INTERVAL -3 DAY) | |
| GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 | |
| ) | |
| SELECT | |
| legal_entity_id | |
| , name | |
| , revision | |
| , region_code | |
| , language_code | |
| , postal_code | |
| , sorting_code | |
| , administrative_area | |
| , locality | |
| , organization | |
| , duns | |
| , customer_id | |
| , parent_id | |
| , commit_timestamp | |
| , partition_date | |
| , STRING_AGG(address_lines, " " ORDER BY address_lines) AS address_lines | |
| , STRING_AGG(recipients, " " ORDER BY recipients) AS recipients | |
| FROM legal_entities | |
| GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ;; | |
| } | |
| ########## PRIMARY KEYS ########## | |
| dimension: id { | |
| primary_key: yes | |
| group_label: "IDs" | |
| label: "Billing Account ID" | |
| description: "ID of the legal entity/billing account" | |
| type: string | |
| sql: ${TABLE}.legal_entity_id ;; | |
| } | |
| ########## DIMENSIONS ########## | |
| dimension: address_lines { | |
| group_label: "Address" | |
| description: "Street address of the customer. Some data are not well documented or are missing" | |
| type: string | |
| sql: ${TABLE}.address_lines ;; | |
| } | |
| dimension: administrative_area { | |
| group_label: "Address" | |
| description: "State/Province of the legal entity" | |
| type: string | |
| sql: ${TABLE}.administrative_area ;; | |
| } | |
| dimension_group: commit { | |
| hidden: yes | |
| description: "The date the legal entity's data was last committed" | |
| type: time | |
| datatype: datetime | |
| sql: ${TABLE}.commit_timestamp ;; | |
| timeframes: [date] | |
| } | |
| dimension: customer_id { | |
| hidden: yes | |
| group_label: "IDs" | |
| description: "ID of the customer associates to the legal eneity" | |
| type: string | |
| sql: ${TABLE}.customer_id ;; | |
| } | |
| dimension: duns_id { | |
| group_label: "IDs" | |
| label: "D&B DUNS ID" | |
| description: "Duns & Bradstreet ID of the legal entity" | |
| type: string | |
| sql: ${TABLE}.duns ;; | |
| } | |
| dimension: language_code { | |
| group_label: "Address" | |
| description: "ISO language code of the legal entity" | |
| type: string | |
| sql: ${TABLE}.language_code ;; | |
| } | |
| dimension: locality { | |
| group_label: "Address" | |
| description: "City of the legal entity" | |
| type: string | |
| sql: ${TABLE}.locality ;; | |
| } | |
| dimension: name { | |
| label: "Billing Account Name" | |
| description: "Name of the legal entity/billing account" | |
| type: string | |
| sql: ${TABLE}.name ;; | |
| } | |
| dimension: parent_id { | |
| group_label: "IDs" | |
| label: "Parent Billing Account ID" | |
| description: "The ID of the parent company of the legal entity" | |
| type: string | |
| sql: ${TABLE}.parent_id ;; | |
| } | |
| dimension: postal_code { | |
| group_label: "Address" | |
| description: "Postal Code of the legal entity" | |
| type: string | |
| sql: ${TABLE}.postal_code ;; | |
| } | |
| dimension: region_code { | |
| group_label: "Address" | |
| description: "Country code of the legal entity" | |
| type: string | |
| sql: ${TABLE}.region_code ;; | |
| } | |
| dimension: sorting_code { | |
| group_label: "Address" | |
| description: "Last 4 digits of the 9-digit USA postal code of the legal entity" | |
| type: string | |
| sql: ${TABLE}.sorting_code ;; | |
| } | |
| ########## MEASURES ########## | |
| measure: count { | |
| label: "Billing Account Count" | |
| description: "Legal entity count" | |
| type: count_distinct | |
| sql: ${id} ;; | |
| drill_fields: [customer_entities.id ,customer_entities.name, id ,name, duns_id, parent_id] | |
| } | |
| measure: count_parent { | |
| description: "Parent Account Counts" | |
| type: count_distinct | |
| sql: ${parent_id} ;; | |
| } | |
| } |