adding view Change-Id: I478c6c6c4082a219c590ddf2b61064fb1470074a
diff --git a/demo-l4c.view.lkml b/demo-l4c.view.lkml new file mode 100644 index 0000000..4ca46a5 --- /dev/null +++ b/demo-l4c.view.lkml
@@ -0,0 +1,179 @@ +############################################################################################################# +# 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] + } + +}