From 92e506d1a8c1bddcc81097b9f552871c34c581bc Mon Sep 17 00:00:00 2001 From: Thang Date: Mon, 19 Jan 2026 09:58:02 +0000 Subject: [PATCH 01/28] Rename model from 'ecommerce_orders2' to 'ecommerce_orders23' in 'Orders' table definition --- team-folders/Thang/ecommerce_orders.model.aml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/team-folders/Thang/ecommerce_orders.model.aml b/team-folders/Thang/ecommerce_orders.model.aml index eaa5840..2683b0e 100644 --- a/team-folders/Thang/ecommerce_orders.model.aml +++ b/team-folders/Thang/ecommerce_orders.model.aml @@ -1,4 +1,4 @@ -Model ecommerce_orders2 { +Model ecommerce_orders23 { type: 'table' label: 'Orders' description: '' From 03db78fecb258f53ab87f41d941427fff3402743 Mon Sep 17 00:00:00 2001 From: son hoang Date: Mon, 19 Jan 2026 09:58:15 +0000 Subject: [PATCH 02/28] Add 'Template Marketing Dashboard' with KPIs, charts, filters, and custom styles in Son folder --- .../Son/template_marketing_copy.page.aml | 399 ++++++++++++++++++ 1 file changed, 399 insertions(+) create mode 100644 team-folders/Son/template_marketing_copy.page.aml diff --git a/team-folders/Son/template_marketing_copy.page.aml b/team-folders/Son/template_marketing_copy.page.aml new file mode 100644 index 0000000..b5c0495 --- /dev/null +++ b/team-folders/Son/template_marketing_copy.page.aml @@ -0,0 +1,399 @@ +Dashboard template_marketing_copy { + title: 'Template Marketing Dashboard' + description: '# some description' + view: CanvasLayout { + label: 'View 1' + width: 1330 + height: 910 + block v3 { + position: pos(360, 330, 240, 240) + } + block f1 { + position: pos(990, 30, 310, 80) + } + block v10 { + position: pos(50, 180, 200, 80) + } + block v11 { + position: pos(360, 180, 200, 80) + } + block v12 { + position: pos(990, 180, 200, 80) + } + block v13 { + position: pos(670, 180, 200, 80) + } + block t7 { + position: pos(20, 150, 1290, 150) + layer: -1 + } + block t9 { + position: pos(30, 40, 390, 50) + } + block v14 { + position: pos(360, 630, 920, 230) + } + block v15 { + position: pos(50, 330, 240, 230) + } + block v16 { + position: pos(670, 330, 610, 230) + } + block v18 { + position: pos(50, 630, 240, 230) + } + block t10 { + position: pos(0, 0, 1330, 130) + layer: -1 + } + block override_css { + position: pos(-20, 650, 170, 120) + } + block t2 { + position: pos(20, 300, 300, 290) + layer: -1 + } + block t3 { + position: pos(640, 300, 670, 290) + layer: -1 + } + block t4 { + position: pos(20, 600, 300, 300) + layer: -1 + } + block t11 { + position: pos(330, 600, 980, 300) + layer: -1 + } + block t12 { + position: pos(330, 300, 300, 290) + layer: -1 + } + } + block v3: VizBlock { + label: 'Conversions gauge chart' + viz: GaugeChart { + dataset: marketing_demo + value: VizFieldFull { + ref: ref('minhminh_marketing_kpi', 'orders') + aggregation: 'sum' + format { + type: 'number' + pattern: '#,###' + } + } + max_value: VizFieldFull { + ref: ref('minhminh_marketing_kpi', 'leads') + aggregation: 'sum' + format { + type: 'number' + pattern: '#,###0.00,"K"' + } + } + settings { + label: 'Conversions' + suffix: '' + row_limit: 5000 + } + } + } + block f1: FilterBlock { + label: 'Campaign' + type: 'field' + source: FieldFilterSource { + dataset: marketing_demo + field: ref('minhminh_marketing_kpi', 'campaign_name') + } + default { + operator: 'is' + value: 'youtube_blogger' + } + settings { + input_type: 'single' + } + } + block v10: VizBlock { + label: 'Conversion rate' + viz: MetricKpi { + dataset: marketing_demo + value: VizFieldFull { + label: 'Conversion rate' + ref: ref('minhminh_marketing_kpi', 'conversion_rate') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + row_limit: 5000 + } + } + settings { + hide_label: true + } + } + block v11: VizBlock { + label: 'CPC' + viz: MetricKpi { + dataset: marketing_demo + value: VizFieldFull { + ref: ref('minhminh_marketing_kpi', 'cost_per_click') + format { + type: 'number' + pattern: 'inherited' + } + } + } + settings { + hide_label: true + } + } + block v12: VizBlock { + label: 'CP1kI' + viz: MetricKpi { + dataset: marketing_demo + value: VizFieldFull { + label: 'CP1kI' + ref: ref('minhminh_marketing_kpi', 'cost_per_thousand_impressions') + format { + type: 'number' + pattern: 'inherited' + } + } + } + settings { + hide_label: true + } + } + block v13: VizBlock { + label: 'Cost per conversion' + viz: MetricKpi { + dataset: marketing_demo + value: VizFieldFull { + ref: ref('minhminh_marketing_kpi', 'cost_per_conversion') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + row_limit: 5000 + } + } + settings { + hide_label: true + } + } + + block t7: TextBlock { + content: @md
;; + } + block t9: TextBlock { + content: @md

Marketing Dashboard

;; + } + block v14: VizBlock { + label: 'Cost per conversion' + viz: CombinationChart { + dataset: marketing_demo + x_axis: VizFieldFull { + ref: ref('minhminh_marketing_kpi', 'c_date') + transformation: 'datetrunc day' + format { + type: 'date' + } + } + y_axis { + series { + mark_type: 'column' + field { + ref: ref('minhminh_marketing_kpi', 'cost_per_conversion') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#18A59E' + } + } + } + settings { + row_limit: 5000 + } + } + } + block v15: VizBlock { + label: 'Clicks graph' + viz: AreaChart { + dataset: marketing_demo + x_axis: VizFieldFull { + label: ' ' + ref: ref('minhminh_marketing_kpi', 'c_date') + transformation: 'datetrunc day' + format { + type: 'date' + } + } + y_axis { + settings { + alignment: 'right' + } + series { + field { + ref: ref('minhminh_marketing_kpi', 'clicks') + aggregation: 'avg' + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#18A59E' + line_interpolation: 'smooth' + } + } + } + settings { + row_limit: 5000 + legend_label: 'hidden' + x_axis_label: ' ' + } + } + settings { + hide_controls: true + } + } + block v16: VizBlock { + label: 'Impressions graph' + viz: AreaChart { + dataset: marketing_demo + x_axis: VizFieldFull { + label: ' ' + ref: ref('minhminh_marketing_kpi', 'c_date') + transformation: 'datetrunc day' + format { + type: 'date' + } + } + y_axis { + settings { + alignment: 'right' + } + series { + field { + ref: ref('minhminh_marketing_kpi', 'impressions') + aggregation: 'sum' + format { + type: 'number' + pattern: '#,###0.00,,"M"' + } + } + settings { + color: '#18A59E' + line_interpolation: 'smooth' + } + } + } + settings { + row_limit: 5000 + legend_label: 'hidden' + x_axis_label: ' ' + } + } + settings { + hide_controls: true + } + } + block v18: VizBlock { + label: 'CTR graph' + viz: AreaChart { + dataset: marketing_demo + x_axis: VizFieldFull { + label: ' ' + ref: ref('minhminh_marketing_kpi', 'c_date') + transformation: 'datetrunc day' + format { + type: 'date' + pattern: 'LL/dd' + } + } + y_axis { + settings { + alignment: 'right' + } + series { + field { + ref: ref('minhminh_marketing_kpi', 'ctr') + format { + type: 'number' + pattern: '#,###0.00' + group_separator: '.' + decimal_separator: ',' + } + } + settings { + color: '#18A59E' + line_interpolation: 'smooth' + } + } + } + settings { + row_limit: 5000 + legend_label: 'hidden' + x_axis_label: ' ' + } + } + settings { + hide_controls: true + } + } + block t10: TextBlock { + content: @md
;; + } + block override_css: TextBlock { + content: @md ;; + } + + block t2: shadowLight + block t3: shadowLight + block t4: shadowLight + block t11: shadowLight + block t12: shadowLight + settings { + timezone: 'America/Los_Angeles' + cache_duration: 10 + } +} \ No newline at end of file From 7fd8baa6cf7289568b29e936e51ae0c873236d26 Mon Sep 17 00:00:00 2001 From: son hoang Date: Mon, 19 Jan 2026 09:59:40 +0000 Subject: [PATCH 03/28] Update title of 'Template Marketing Dashboard' to 'Template Marketing Dashboard 1' --- team-folders/Son/template_marketing_copy.page.aml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/team-folders/Son/template_marketing_copy.page.aml b/team-folders/Son/template_marketing_copy.page.aml index b5c0495..ee7ff72 100644 --- a/team-folders/Son/template_marketing_copy.page.aml +++ b/team-folders/Son/template_marketing_copy.page.aml @@ -1,5 +1,5 @@ Dashboard template_marketing_copy { - title: 'Template Marketing Dashboard' + title: 'Template Marketing Dashboard 1' description: '# some description' view: CanvasLayout { label: 'View 1' From bc144950f38acf9274e3bd1ea9e30e685756d35c Mon Sep 17 00:00:00 2001 From: Thang Date: Mon, 19 Jan 2026 09:59:53 +0000 Subject: [PATCH 04/28] Update 'Template Marketing Dashboard' title to 'Template Marketing Dashboard 2' --- team-folders/Son/template_marketing_copy.page.aml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/team-folders/Son/template_marketing_copy.page.aml b/team-folders/Son/template_marketing_copy.page.aml index b5c0495..f87d0a0 100644 --- a/team-folders/Son/template_marketing_copy.page.aml +++ b/team-folders/Son/template_marketing_copy.page.aml @@ -1,5 +1,5 @@ Dashboard template_marketing_copy { - title: 'Template Marketing Dashboard' + title: 'Template Marketing Dashboard 2' description: '# some description' view: CanvasLayout { label: 'View 1' From 32cee43f7a65177d2887547d1799fedf7f6e2fee Mon Sep 17 00:00:00 2001 From: Thang Date: Tue, 20 Jan 2026 02:23:41 +0000 Subject: [PATCH 05/28] Restore to version "Adjust positions and height of blocks in 'ecommerce_dashboard_thang' Tab 1 layout for better alignment" (#daa459) --- Hieu/hieu_haha_meme.dataset.aml | 2 - Hieu/tenants.model.aml | 22 - Hieu/untitled_10.page.aml | 105 ++--- Hieu/users.model.aml | 13 +- .../Son/template_marketing_copy.page.aml | 399 ------------------ team-folders/Thang/ecommerce.dataset.aml | 8 - .../Thang/ecommerce_dashboard_thang.page.aml | 2 +- team-folders/Thang/ecommerce_orders.model.aml | 2 +- 8 files changed, 43 insertions(+), 510 deletions(-) delete mode 100644 Hieu/tenants.model.aml delete mode 100644 team-folders/Son/template_marketing_copy.page.aml diff --git a/Hieu/hieu_haha_meme.dataset.aml b/Hieu/hieu_haha_meme.dataset.aml index 7f33cc2..9d42aa7 100644 --- a/Hieu/hieu_haha_meme.dataset.aml +++ b/Hieu/hieu_haha_meme.dataset.aml @@ -5,8 +5,6 @@ Dataset hieu_haha_meme { models: [ orderskk, users_kk - , - tenants ] relationships: [ relationship(orderskk.user_id > users_kk.id, true) diff --git a/Hieu/tenants.model.aml b/Hieu/tenants.model.aml deleted file mode 100644 index e6d1a56..0000000 --- a/Hieu/tenants.model.aml +++ /dev/null @@ -1,22 +0,0 @@ -Model tenants { - type: 'query' - label: 'Tenants' - description: '' - data_source_name: 'movies_lens' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - - owner: 'hieu.nht@holistics.io' - query: @sql - select 1 as id - UNION - select 2 as id - union - select 3 as id;; - models: [ - ] -} diff --git a/Hieu/untitled_10.page.aml b/Hieu/untitled_10.page.aml index d7c755a..228dc7e 100644 --- a/Hieu/untitled_10.page.aml +++ b/Hieu/untitled_10.page.aml @@ -6,11 +6,9 @@ Dashboard untitled_10_2 { content: @md # Your title goes here ;; } block v_eq1j: VizBlock { - label: 'raw orders ' + label: 'fff' viz: DataTable { dataset: hieu_haha_meme - theme { - } fields: [ VizFieldFull { label: 'order id' @@ -21,14 +19,15 @@ Dashboard untitled_10_2 { } }, VizFieldFull { - ref: r(orderskk.user_id) + ref: r(orderskk.tenant_id) format { type: 'number' pattern: 'inherited' } }, VizFieldFull { - ref: r(orderskk.tenant_id) + label: 'user id' + ref: r(users_kk.id) format { type: 'number' pattern: 'inherited' @@ -47,11 +46,9 @@ Dashboard untitled_10_2 { } } block v_tf0o: VizBlock { - label: 'raw users' + label: 'fdf' viz: DataTable { dataset: hieu_haha_meme - theme { - } fields: [ VizFieldFull { ref: r(users_kk.id) @@ -59,7 +56,6 @@ Dashboard untitled_10_2 { type: 'number' pattern: 'inherited' } - uname: 'users_kk_id_1' }, VizFieldFull { ref: r(users_kk.name) @@ -77,13 +73,6 @@ Dashboard untitled_10_2 { ] settings { show_row_number: true - show_row_with_no_data: true - sorts: [ - SortSetting { - key: 'users_kk_id_1' - direction: 'asc' - } - ] row_limit: 5000 aggregate_awareness { enabled: true @@ -97,31 +86,40 @@ Dashboard untitled_10_2 { type: 'field' source: FieldFilterSource { dataset: hieu_haha_meme - field: r(orderskk.tenant_id) + field: r(users_kk.tenant_id) } default { operator: 'is' value: [] } } - block f_tenants_id: FilterBlock { - label: 'Tenants Id' - type: 'field' - source: FieldFilterSource { - dataset: hieu_haha_meme - field: r(tenants.id) - } - default { - operator: 'is' - value: '1' - } - settings { - drillthrough: Drillthrough { - enabled: false - sources: [ - AutoDrillthroughSource { + block v_7s1v: VizBlock { + label: 'Total Orders' + viz: DataTable { + dataset: vux_archive + fields: [ + VizFieldFull { + ref: r(vux_archive.total_orders) + format { + type: 'number' + pattern: 'inherited' } - ] + }, + VizFieldFull { + ref: r(ecommerce_orders.id) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } } } } @@ -135,7 +133,7 @@ Dashboard untitled_10_2 { position: pos(20, 20, 1260, 60) } block v_eq1j { - position: pos(460, 240, 620, 420) + position: pos(480, 220, 620, 420) } block v_tf0o { position: pos(40, 240, 380, 420) @@ -143,44 +141,13 @@ Dashboard untitled_10_2 { block f_ahde { position: pos(60, 120, 300, 60) } - block f_tenants_id { - position: pos(400, 120, 300, 80) + block v_7s1v { + position: pos(440, 660, 620, 420) + layer: 1 } mobile { mode: 'auto' } } theme: H.themes.vanilla - interactions: [ - FilterInteraction { - from: 'f_ahde' - to: [ - CustomMapping { - block: 'v_tf0o' - field: ref('users_kk', 'tenant_id') - }, - CustomMapping { - block: 'f_tenants_id' - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_tenants_id' - to: [ - CustomMapping { - block: 'v_eq1j' - field: ref('orderskk', 'tenant_id') - }, - CustomMapping { - block: 'v_tf0o' - field: ref('users_kk', 'tenant_id') - }, - CustomMapping { - block: 'f_ahde' - disabled: true - } - ] - } - ] } \ No newline at end of file diff --git a/Hieu/users.model.aml b/Hieu/users.model.aml index b698e0e..8da9b2d 100644 --- a/Hieu/users.model.aml +++ b/Hieu/users.model.aml @@ -24,14 +24,11 @@ Model users_kk { owner: 'hieu.nht@holistics.io' query: @sql - SELECT 1 AS id, 'hieu' AS name, 1 AS tenant_id - UNION ALL - SELECT 2 AS id, 'hieu2' AS name, 1 AS tenant_id - UNION ALL - SELECT 3 AS id, 'hieu3' AS name, 2 AS tenant_id - UNION ALL - SELECT 4 AS id, 'hieu4' AS name, 2 AS tenant_id - ;; + select 1 as id, 'hieu' as NAME, 1 as tenant_id + union + select 2 as id, 'haha' as NAME, 1 as tenant_id + UNION + select 3 as id, 'meme' as NAME, 2 as tenant_id;; models: [ ] } diff --git a/team-folders/Son/template_marketing_copy.page.aml b/team-folders/Son/template_marketing_copy.page.aml deleted file mode 100644 index ee7ff72..0000000 --- a/team-folders/Son/template_marketing_copy.page.aml +++ /dev/null @@ -1,399 +0,0 @@ -Dashboard template_marketing_copy { - title: 'Template Marketing Dashboard 1' - description: '# some description' - view: CanvasLayout { - label: 'View 1' - width: 1330 - height: 910 - block v3 { - position: pos(360, 330, 240, 240) - } - block f1 { - position: pos(990, 30, 310, 80) - } - block v10 { - position: pos(50, 180, 200, 80) - } - block v11 { - position: pos(360, 180, 200, 80) - } - block v12 { - position: pos(990, 180, 200, 80) - } - block v13 { - position: pos(670, 180, 200, 80) - } - block t7 { - position: pos(20, 150, 1290, 150) - layer: -1 - } - block t9 { - position: pos(30, 40, 390, 50) - } - block v14 { - position: pos(360, 630, 920, 230) - } - block v15 { - position: pos(50, 330, 240, 230) - } - block v16 { - position: pos(670, 330, 610, 230) - } - block v18 { - position: pos(50, 630, 240, 230) - } - block t10 { - position: pos(0, 0, 1330, 130) - layer: -1 - } - block override_css { - position: pos(-20, 650, 170, 120) - } - block t2 { - position: pos(20, 300, 300, 290) - layer: -1 - } - block t3 { - position: pos(640, 300, 670, 290) - layer: -1 - } - block t4 { - position: pos(20, 600, 300, 300) - layer: -1 - } - block t11 { - position: pos(330, 600, 980, 300) - layer: -1 - } - block t12 { - position: pos(330, 300, 300, 290) - layer: -1 - } - } - block v3: VizBlock { - label: 'Conversions gauge chart' - viz: GaugeChart { - dataset: marketing_demo - value: VizFieldFull { - ref: ref('minhminh_marketing_kpi', 'orders') - aggregation: 'sum' - format { - type: 'number' - pattern: '#,###' - } - } - max_value: VizFieldFull { - ref: ref('minhminh_marketing_kpi', 'leads') - aggregation: 'sum' - format { - type: 'number' - pattern: '#,###0.00,"K"' - } - } - settings { - label: 'Conversions' - suffix: '' - row_limit: 5000 - } - } - } - block f1: FilterBlock { - label: 'Campaign' - type: 'field' - source: FieldFilterSource { - dataset: marketing_demo - field: ref('minhminh_marketing_kpi', 'campaign_name') - } - default { - operator: 'is' - value: 'youtube_blogger' - } - settings { - input_type: 'single' - } - } - block v10: VizBlock { - label: 'Conversion rate' - viz: MetricKpi { - dataset: marketing_demo - value: VizFieldFull { - label: 'Conversion rate' - ref: ref('minhminh_marketing_kpi', 'conversion_rate') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - row_limit: 5000 - } - } - settings { - hide_label: true - } - } - block v11: VizBlock { - label: 'CPC' - viz: MetricKpi { - dataset: marketing_demo - value: VizFieldFull { - ref: ref('minhminh_marketing_kpi', 'cost_per_click') - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - hide_label: true - } - } - block v12: VizBlock { - label: 'CP1kI' - viz: MetricKpi { - dataset: marketing_demo - value: VizFieldFull { - label: 'CP1kI' - ref: ref('minhminh_marketing_kpi', 'cost_per_thousand_impressions') - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - hide_label: true - } - } - block v13: VizBlock { - label: 'Cost per conversion' - viz: MetricKpi { - dataset: marketing_demo - value: VizFieldFull { - ref: ref('minhminh_marketing_kpi', 'cost_per_conversion') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - row_limit: 5000 - } - } - settings { - hide_label: true - } - } - - block t7: TextBlock { - content: @md
;; - } - block t9: TextBlock { - content: @md

Marketing Dashboard

;; - } - block v14: VizBlock { - label: 'Cost per conversion' - viz: CombinationChart { - dataset: marketing_demo - x_axis: VizFieldFull { - ref: ref('minhminh_marketing_kpi', 'c_date') - transformation: 'datetrunc day' - format { - type: 'date' - } - } - y_axis { - series { - mark_type: 'column' - field { - ref: ref('minhminh_marketing_kpi', 'cost_per_conversion') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#18A59E' - } - } - } - settings { - row_limit: 5000 - } - } - } - block v15: VizBlock { - label: 'Clicks graph' - viz: AreaChart { - dataset: marketing_demo - x_axis: VizFieldFull { - label: ' ' - ref: ref('minhminh_marketing_kpi', 'c_date') - transformation: 'datetrunc day' - format { - type: 'date' - } - } - y_axis { - settings { - alignment: 'right' - } - series { - field { - ref: ref('minhminh_marketing_kpi', 'clicks') - aggregation: 'avg' - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#18A59E' - line_interpolation: 'smooth' - } - } - } - settings { - row_limit: 5000 - legend_label: 'hidden' - x_axis_label: ' ' - } - } - settings { - hide_controls: true - } - } - block v16: VizBlock { - label: 'Impressions graph' - viz: AreaChart { - dataset: marketing_demo - x_axis: VizFieldFull { - label: ' ' - ref: ref('minhminh_marketing_kpi', 'c_date') - transformation: 'datetrunc day' - format { - type: 'date' - } - } - y_axis { - settings { - alignment: 'right' - } - series { - field { - ref: ref('minhminh_marketing_kpi', 'impressions') - aggregation: 'sum' - format { - type: 'number' - pattern: '#,###0.00,,"M"' - } - } - settings { - color: '#18A59E' - line_interpolation: 'smooth' - } - } - } - settings { - row_limit: 5000 - legend_label: 'hidden' - x_axis_label: ' ' - } - } - settings { - hide_controls: true - } - } - block v18: VizBlock { - label: 'CTR graph' - viz: AreaChart { - dataset: marketing_demo - x_axis: VizFieldFull { - label: ' ' - ref: ref('minhminh_marketing_kpi', 'c_date') - transformation: 'datetrunc day' - format { - type: 'date' - pattern: 'LL/dd' - } - } - y_axis { - settings { - alignment: 'right' - } - series { - field { - ref: ref('minhminh_marketing_kpi', 'ctr') - format { - type: 'number' - pattern: '#,###0.00' - group_separator: '.' - decimal_separator: ',' - } - } - settings { - color: '#18A59E' - line_interpolation: 'smooth' - } - } - } - settings { - row_limit: 5000 - legend_label: 'hidden' - x_axis_label: ' ' - } - } - settings { - hide_controls: true - } - } - block t10: TextBlock { - content: @md
;; - } - block override_css: TextBlock { - content: @md ;; - } - - block t2: shadowLight - block t3: shadowLight - block t4: shadowLight - block t11: shadowLight - block t12: shadowLight - settings { - timezone: 'America/Los_Angeles' - cache_duration: 10 - } -} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce.dataset.aml b/team-folders/Thang/ecommerce.dataset.aml index 6c152c9..c47e72d 100644 --- a/team-folders/Thang/ecommerce.dataset.aml +++ b/team-folders/Thang/ecommerce.dataset.aml @@ -66,12 +66,4 @@ Dataset ecommerce { definition: @aql concat(cast(ecommerce_orders2.id, 'text'), " ", ecommerce_orders2.status);; model: ecommerce_orders2 } - dimension dimension_183db1c { - label: "Concat field" - type: "text" - hidden: false - description: "" - definition: @aql concat(" ", cast(high_value_users, 'text'));; - model: ecommerce_orders2 - } } \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_dashboard_thang.page.aml b/team-folders/Thang/ecommerce_dashboard_thang.page.aml index 19aeffc..1c4a5bb 100644 --- a/team-folders/Thang/ecommerce_dashboard_thang.page.aml +++ b/team-folders/Thang/ecommerce_dashboard_thang.page.aml @@ -431,7 +431,7 @@ Dashboard ecommerce_dashboard_thang { layer: 8 } block v_inr6 { - position: pos(20, 200, 620, 160) + position: pos(20, 190, 620, 160) layer: 10 } block v_570z { diff --git a/team-folders/Thang/ecommerce_orders.model.aml b/team-folders/Thang/ecommerce_orders.model.aml index 2683b0e..eaa5840 100644 --- a/team-folders/Thang/ecommerce_orders.model.aml +++ b/team-folders/Thang/ecommerce_orders.model.aml @@ -1,4 +1,4 @@ -Model ecommerce_orders23 { +Model ecommerce_orders2 { type: 'table' label: 'Orders' description: '' From 01357a9e013ef472e4e930e61af2a92439756bcd Mon Sep 17 00:00:00 2001 From: Thang Date: Wed, 21 Jan 2026 05:27:35 +0000 Subject: [PATCH 06/28] Modify: 1 dataset, 4 dashboards --- .../dashboards/embed_demo_sales.page.aml | 144 ++++++++++-------- .../Amyra/demo_ecommerce_amyra.page.aml | 6 +- .../Minh/ecommerce (test themes).page.aml | 71 ++++----- team-folders/Thang/ecommerce.dataset.aml | 2 +- .../Thang/ecommerce_dashboard_thang.page.aml | 143 +++++++++++++++-- 5 files changed, 244 insertions(+), 122 deletions(-) diff --git a/demo ecommerce/dashboards/embed_demo_sales.page.aml b/demo ecommerce/dashboards/embed_demo_sales.page.aml index 0dc63a6..a9e481d 100644 --- a/demo ecommerce/dashboards/embed_demo_sales.page.aml +++ b/demo ecommerce/dashboards/embed_demo_sales.page.aml @@ -134,7 +134,7 @@ Dashboard embed_demo_landing_page_2 { pattern: 'inherited' } } - + ] settings { show_row_number: true @@ -261,52 +261,23 @@ ecommerce_users.sign_up_date calc_type: 'measure' data_type: 'number' } - x_axis: VizFieldFull { - ref: ref('ecommerce_users', 'sign_up_date') - transformation: 'datetrunc quarter' - format { - type: 'date' - } - } - y_axis { - series { - mark_type: 'column' - field { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#005A32FF' - } - } - } - y_axis { - settings { - alignment: 'right' - } - series { - mark_type: 'line' - field { - ref: 'f_3f16a1c' - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#41ab5d' - line_interpolation: 'smooth' - } - } + filter { + field: r(order_master.last_order_value) + operator: 'is' + value: '1' } settings { + x_axis_show_null_datetime: true pop { - field: ref('ecommerce_users', 'sign_up_date') - duration: 3 - granularity: 'month' + field: r(ecommerce_users.sign_up_date) + value: RelativePopValue { + duration: 3 + granularity: 'month' + } + } + aggregate_awareness { + enabled: true + debug_comments: true } } } @@ -425,7 +396,7 @@ ecommerce_users.sign_up_date type: 'field' source: FieldFilterSource { dataset: demo_ecommerce - field: ref('ecommerce_products', 'name') + field: r(ecommerce_products.name) } default { operator: 'is' @@ -433,7 +404,7 @@ ecommerce_users.sign_up_date } settings { drillthrough: Drillthrough { - enabled: true + enabled: false sources: [ AutoDrillthroughSource { } @@ -570,10 +541,22 @@ ecommerce_users.sign_up_date granularity: 'year' } } + block f_order_master_last_order_value: FilterBlock { + label: 'Order Master Last Order Value' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: r(order_master.last_order_value) + } + default { + operator: 'is' + value: [] + } + } view: CanvasLayout { label: 'View 1' width: 1420 - height: 1530 + height: 1520 block f1 { position: pos(-320, 10, 300, 80) } @@ -587,22 +570,22 @@ ecommerce_users.sign_up_date position: pos(-20, 100, 1480, 20) } block t2 { - position: pos(750, 340, 650, 40) + position: pos(750, 330, 650, 40) } block t5 { position: pos(30, 10, 170, 90) } block t9 { - position: pos(40, 340, 650, 40) + position: pos(40, 330, 650, 40) } block v1 { position: pos(360, 20, 360, 60) } block v2 { - position: pos(750, 780, 650, 240) + position: pos(750, 770, 650, 240) } block v3 { - position: pos(40, 780, 650, 240) + position: pos(40, 770, 650, 240) } block v4 { position: pos(40, 140, 240, 140) @@ -617,7 +600,7 @@ ecommerce_users.sign_up_date position: pos(1160, 140, 240, 140) } block v8 { - position: pos(40, 390, 650, 370) + position: pos(40, 380, 650, 370) } block t10 { position: pos(300, 120, 10, 180) @@ -633,24 +616,24 @@ ecommerce_users.sign_up_date position: pos(1140, 120, 10, 180) } block t14 { - position: pos(20, 320, 690, 720) + position: pos(20, 310, 690, 720) layer: -2 } block t15 { - position: pos(730, 320, 690, 720) + position: pos(730, 310, 690, 720) layer: -2 } block v11 { - position: pos(750, 390, 650, 370) + position: pos(750, 380, 650, 370) } block v12 { position: pos(320, 140, 240, 140) } block v13 { - position: pos(730, 1050, 680, 450) + position: pos(730, 1040, 680, 450) } block v14 { - position: pos(10, 1050, 700, 450) + position: pos(10, 1040, 700, 450) } block box1 { position: pos(20, 120, 1400, 180) @@ -660,18 +643,45 @@ ecommerce_users.sign_up_date position: pos(230, 30, 10, 40) } block d1 { - position: pos(520, 330, 170, 100) + position: pos(520, 320, 170, 100) } block p1 { - position: pos(1190, 330, 210, 80) + position: pos(1190, 320, 210, 80) + } + block f_order_master_last_order_value { + position: pos(400, 580, 300, 80) } } interactions: [ + FilterInteraction { + from: 'f1' + to: [ + CustomMapping { + block: 'f_order_master_last_order_value' + disabled: true + } + ] + }, FilterInteraction { from: 'f3' to: [ CustomMapping { - block: 'f1' + block: [ + 'f1', + 'f_order_master_last_order_value' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_order_master_last_order_value' + to: [ + CustomMapping { + block: [ + 'f1', + 'f3' + ] disabled: true } ] @@ -686,7 +696,7 @@ ecommerce_users.sign_up_date 'v8', 'v12' ] - field: ref('ecommerce_users', 'sign_up_date') + field: r(ecommerce_users.sign_up_date) }, CustomMapping { block: [ @@ -694,11 +704,11 @@ ecommerce_users.sign_up_date 'v6', 'v7' ] - field: ref('order_master', 'order_created_at') + field: r(order_master.order_created_at) }, CustomMapping { block: 'v11' - field: ref('dim_dates', 'date_key') + field: r(dim_dates.date_key) } ] }, @@ -707,11 +717,11 @@ ecommerce_users.sign_up_date to: [ CustomMapping { block: 'v8' - field: ref('ecommerce_users', 'sign_up_date') + field: r(ecommerce_users.sign_up_date) }, CustomMapping { block: 'v11' - field: ref('dim_dates', 'date_key') + field: r(dim_dates.date_key) } ] }, @@ -720,11 +730,11 @@ ecommerce_users.sign_up_date to: [ CustomMapping { block: 'v11' - field: ref('dim_dates', 'date_key') + field: r(dim_dates.date_key) }, CustomMapping { block: 'v8' - field: ref('ecommerce_users', 'sign_up_date') + field: r(ecommerce_users.sign_up_date) } ] } diff --git a/team-folders/Amyra/demo_ecommerce_amyra.page.aml b/team-folders/Amyra/demo_ecommerce_amyra.page.aml index 7b486a8..dbe8a2a 100644 --- a/team-folders/Amyra/demo_ecommerce_amyra.page.aml +++ b/team-folders/Amyra/demo_ecommerce_amyra.page.aml @@ -174,12 +174,12 @@ This dashboard tracks the KPIs of all managers for their respective teams. This viz: PieChart { dataset: demo_ecommerce filter { - field: ref('order_master', 'order_created_at') + field: r(order_master.order_created_at) operator: 'matches' value: '2023' } legend: VizFieldFull { - ref: ref('map_categories', 'parent_category') + ref: r(map_categories.parent_category) format { type: 'text' } @@ -187,7 +187,7 @@ This dashboard tracks the KPIs of all managers for their respective teams. This series { field: VizFieldFull { label: ' ' - ref: ref('order_master', 'gmv') + ref: r(order_master.gmv) format { type: 'number' pattern: '[$$]#,###' diff --git a/team-folders/Minh/ecommerce (test themes).page.aml b/team-folders/Minh/ecommerce (test themes).page.aml index f2ae1fa..ded2c47 100644 --- a/team-folders/Minh/ecommerce (test themes).page.aml +++ b/team-folders/Minh/ecommerce (test themes).page.aml @@ -1,13 +1,7 @@ Dashboard ecommerce_cua_minh { title: 'Ecommerce Dashboard' description: '''''' - theme: H.themes.classic.extend( - { - canvas { - - } - } - ) + theme: H.themes.midnight block css: TextBlock { content: @md + + + + +;; + } + // block t46: background_gray() + block t47: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t49: TextBlock { + content: @md
;; + } + block t51: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t52: TextBlock { + content: @md
;; + } + block t53: TextBlock { + content: @md
;; + } + block t55: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block t56: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block v17: VizBlock { + label: 'Total Users and Delivered Orders Count by Quarter Sign Up Date' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('ecommerce_users', 'age_group') + operator: 'is_not' + value: '3. From 40 to 49' + } + rows: [ + VizFieldFull { + ref: ref('ecommerce_countries', 'continent_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + ] + columns: [ + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + ] + values: [ + VizFieldFull { + ref: ref('order_master', 'revenue') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_total: true + show_column_total: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + } + } + } + block v18: VizBlock { + label: 'Customer Info and Buying Behavior' + viz: DataTable { + dataset: demo_ecommerce + fields: [ + VizFieldFull { + ref: ref('ecommerce_users', 'full_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + uname: 'ecommerce_countries_name' + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_products', 'total_products') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'cancelled_order_ratio') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_cancelled_order_ratio' + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + column_styles: [ + ColumnStyle { + key: 'ecommerce_countries_name' + width: 216 + }, + ColumnStyle { + key: 'custom_cancelled_order_ratio' + width: 180 + } + ] + } + } + } + block p1: PopBlock { + label: 'Compare with Period' + } + block v19: VizBlock { + label: 'Total Users and Total Users by Age Demographic and Gender' + viz: ColumnChart { + dataset: demo_ecommerce + theme { + + } + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + legend: VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + } + y_axis { + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#07326C' + point { + value: 'Male' + color: '#FB8761' + } + point { + value: 'Female' + color: '#64628c' + } + } + } + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + break_by_legend: false + } + } + } + settings { + x_axis_show_null_datetime: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_users_gender: FilterBlock { + label: 'Users Gender' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: r(ecommerce_users.gender) + } + default { + operator: 'is' + value: [] + } + } + view: CanvasLayout { + label: 'View 1' + width: 1540 + height: 4460 + grid_size: 20 + block hd1 { + position: pos(1320, 20, 180, 60) + } + block hd2 { + position: pos(180, 360, 640, 60) + } + block hd3 { + position: pos(0, 0, 1540, 200) + layer: -1 + } + block t2 { + position: pos(40, 100, 660, 60) + } + block v1 { + position: pos(60, 800, 1420, 380) + } + block v2 { + position: pos(80, 460, 300, 140) + } + block v2_dup_dup { + position: pos(440, 2300, 380, 500) + } + block v6 { + position: pos(840, 2300, 680, 500) + } + block v7 { + position: pos(60, 3380, 1440, 440) + } + block v8 { + position: pos(380, 2960, 560, 400) + } + block v10 { + position: pos(80, 600, 320, 140) + } + block v12 { + position: pos(480, 440, 1000, 300) + layer: -1 + } + block f1 { + position: pos(80, 3020, 260, 40) + } + block t5 { + position: pos(40, 320, 1460, 80) + } + block t6 { + position: pos(40, 1300, 1460, 80) + } + block t8 { + position: pos(60, 2860, 1460, 80) + } + block t9 { + position: pos(80, 2980, 260, 40) + } + block t10 { + position: pos(920, 100, 180, 60) + } + block t11 { + position: pos(1120, 100, 180, 60) + } + block t12 { + position: pos(1320, 100, 180, 60) + } + block v13 { + position: pos(40, 1380, 720, 460) + } + block t26 { + position: pos(60, 2960, 300, 120) + layer: -2 + } + block t28 { + position: pos(80, 3260, 260, 40) + } + block f2 { + position: pos(80, 3300, 260, 40) + } + block f3 { + position: pos(80, 3160, 260, 40) + } + block t32 { + position: pos(80, 3120, 260, 40) + layer: 1 + } + block v15 { + position: pos(960, 2960, 560, 400) + } + block v16 { + position: pos(780, 1380, 720, 460) + } + block t38 { + position: pos(0, 4400, 1540, 180) + layer: -1 + } + block t39 { + position: pos(60, 3860, 200, 80) + } + block t40 { + position: pos(1120, 4440, 400, 120) + } + block t47 { + position: pos(1420, 1240, 80, 100) + layer: 1 + } + block t49 { + position: pos(40, 780, 1460, 420) + layer: -2 + } + block t51 { + position: pos(1440, 2820, 80, 100) + layer: 1 + } + block t52 { + position: pos(460, 420, 1040, 340) + layer: -2 + } + block t53 { + position: pos(40, 420, 400, 340) + layer: -2 + } + block t55 { + position: pos(60, 3100, 300, 120) + layer: -1 + } + block t56 { + position: pos(60, 3240, 300, 120) + layer: -1 + } + block v17 { + position: pos(40, 1860, 1480, 420) + } + block v18 { + position: pos(60, 3820, 1480, 500) + } + block p1 { + position: pos(1300, 2960, 220, 60) + layer: 2 + } + block v19 { + position: pos(40, 2300, 380, 500) + layer: 3 + } + block f_users_gender { + position: pos(1160, 220, 300, 80) + layer: -1 + } + } + settings { + timezone: 'America/Los_Angeles' + cache_duration: 10 + } + interactions: [ + FilterInteraction { + from: 'f1' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f2' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f3' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_users_gender' + to: [ + CustomMapping { + block: [ + 'f1', + 'f2', + 'f3' + ] + disabled: true + } + ] + }, + PopInteraction { + from: 'p1' + to: [ + CustomMapping { + block: 'v15' + field: r(order_master.order_created_at) + } + ] + } + ] +} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce.dataset.aml b/team-folders/Thang/ecommerce.thang.dataset.aml similarity index 100% rename from team-folders/Thang/ecommerce.dataset.aml rename to team-folders/Thang/ecommerce.thang.dataset.aml From 54e66052502c41d4617837b65590eb4733fc6e91 Mon Sep 17 00:00:00 2001 From: Thang Date: Wed, 21 Jan 2026 10:19:42 +0000 Subject: [PATCH 08/28] Remove deleted dashboard 'untitled_10' and all associated blocks and interactions --- Hieu/untitled_10.page.aml | 451 -------------------------------------- 1 file changed, 451 deletions(-) delete mode 100644 Hieu/untitled_10.page.aml diff --git a/Hieu/untitled_10.page.aml b/Hieu/untitled_10.page.aml deleted file mode 100644 index 7fcbf35..0000000 --- a/Hieu/untitled_10.page.aml +++ /dev/null @@ -1,451 +0,0 @@ -Dashboard untitled_10_2 { - title: 'untitled_10' - description: '' - owner: 'hieu.nht@holistics.io' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v_eq1j: VizBlock { - label: 'fff' - viz: DataTable { - dataset: hieu_haha_meme - fields: [ - VizFieldFull { - label: 'order id' - ref: r(orderskk.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(orderskk.tenant_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - label: 'user id' - ref: r(users_kk.id) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - show_row_with_no_data: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_tf0o: VizBlock { - label: 'fdf' - viz: DataTable { - dataset: hieu_haha_meme - fields: [ - VizFieldFull { - ref: r(users_kk.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(users_kk.name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(users_kk.tenant_id) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block f_ahde: FilterBlock { - label: 'Orders tenant_id' - type: 'field' - source: FieldFilterSource { - dataset: hieu_haha_meme - field: r(users_kk.tenant_id) - } - default { - operator: 'is' - value: [] - } - } - block f_tenants_id: FilterBlock { - label: 'Tenants Id' - type: 'field' - source: FieldFilterSource { - dataset: hieu_haha_meme - field: r(orderskk.param_tenant_id) - } - default { - operator: 'is' - value: '1' - } - settings { - drillthrough: Drillthrough { - enabled: false - sources: [ - AutoDrillthroughSource { - } - }, - VizFieldFull { - ref: r(ecommerce_orders.id) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_2lji: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_565b570 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 year));; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_565b570' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_w2x5: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At copy' - viz: LineChart { - dataset: simple_dataset - calculation metric_565b570 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 year));; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_565b570' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_zf66: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_565b570 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql safe_divide(ecommerce_orders.total_orders_count, ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 year))) - 1;; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_565b570' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_62fh: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_77e4577 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 month));; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_77e4577' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ztg3: VizBlock { - label: 'Total Orders Count, PoP Comparison of Orders Total Orders..., and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_77e4577 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql safe_divide(ecommerce_orders.total_orders_count, ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 month))) - 1;; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_77e4577' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 2020 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - block v_eq1j { - position: pos(480, 220, 620, 420) - } - block v_tf0o { - position: pos(40, 240, 380, 420) - } - block f_ahde { - position: pos(60, 120, 300, 60) - } - block v_7s1v { - position: pos(440, 660, 620, 420) - layer: 1 - } - block v_2lji { - position: pos(40, 680, 620, 420) - } - block v_w2x5 { - position: pos(700, 680, 380, 420) - } - block v_zf66 { - position: pos(20, 1120, 620, 420) - layer: 1 - } - block v_62fh { - position: pos(660, 1120, 620, 420) - layer: 2 - } - block v_ztg3 { - position: pos(20, 1560, 620, 420) - layer: 3 - } - mobile { - mode: 'auto' - } - } - theme: H.themes.vanilla - interactions: [ - FilterInteraction { - from: 'f_ahde' - to: [ - CustomMapping { - block: 'v_tf0o' - field: r(users_kk.tenant_id) - }, - CustomMapping { - block: 'f_tenants_id' - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_tenants_id' - to: [ - CustomMapping { - block: 'f_ahde' - disabled: true - } - ] - } - ] -} \ No newline at end of file From 682bdc642f66e90bdc8c4055a89e6387289a048b Mon Sep 17 00:00:00 2001 From: Thang Date: Wed, 21 Jan 2026 10:38:24 +0000 Subject: [PATCH 09/28] Remove 'ecommerce_dashboard_thang' dashboard and related 'ecommerce' dataset and models from 'Thang' folder --- .../demo_ecommerce_dashboard_thang.page.aml | 1376 ----------------- .../Thang/ecommerce.thang.dataset.aml | 69 - .../Thang/ecommerce_dashboard_thang.page.aml | 751 --------- team-folders/Thang/ecommerce_orders.model.aml | 60 - team-folders/Thang/ecommerce_users.model.aml | 94 -- 5 files changed, 2350 deletions(-) delete mode 100644 team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml delete mode 100644 team-folders/Thang/ecommerce.thang.dataset.aml delete mode 100644 team-folders/Thang/ecommerce_dashboard_thang.page.aml delete mode 100644 team-folders/Thang/ecommerce_orders.model.aml delete mode 100644 team-folders/Thang/ecommerce_users.model.aml diff --git a/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml b/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml deleted file mode 100644 index 6c07270..0000000 --- a/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml +++ /dev/null @@ -1,1376 +0,0 @@ -// use lib -// use demo - -Dashboard demo_ecommerce_dashboard_amyra_copy { - title: 'Ecommerce Dashboard - Amyra' - - block hd1: TextBlock { - content: @md - demo;; - } - block hd2: TextBlock { - content: @md
-

Ecommerce Dashboard

-
;; - } - block hd3: TextBlock { - content: @md

;; - theme { - background { - bg_image: 'linear-gradient(97deg, #051527 20%, #071945 80%)' - } - } - } - block t2: TextBlock { - content: @md
-

-This dashboard tracks the KPIs of all managers for their respective teams. This will also be presented in our monthly presentation to our board and investors. -

- -
;; - } - block v1: VizBlock { - label: ' KPI Overview' - viz: MetricSheet { - dataset: demo_ecommerce - filter { - field: ref('dim_dates', 'date_key') - operator: 'matches' - value: '12 months ago to last month end' - } - date_field: VizFieldFull { - ref: ref('dim_dates', 'date_key') - transformation: 'datetrunc month' - format { - type: 'date' - } - } - rows: [ - MetricHeading { - label: '🎯Orders' - settings { - background_color: '#255DD4' - text_color: '#FFFFFF' - } - }, - MetricSeries { - field: VizFieldFull { - ref: ref('ecommerce_orders', 'total_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - } - }, - MetricSeries { - field: VizFieldFull { - ref: ref('ecommerce_orders', 'cancelled_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - } - }, - MetricSeries { - field: VizFieldFull { - ref: ref('ecommerce_orders', 'refunded_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - } - }, - MetricSeries { - field: VizFieldFull { - ref: ref('ecommerce_orders', 'delivered_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - } - }, - MetricHeading { - label: '💰 Revenue' - settings { - background_color: '#255DD4' - text_color: '#FFFFFF' - } - }, - MetricSeries { - field: VizFieldFull { - ref: ref('order_master', 'nmv') - format { - type: 'number' - pattern: '[$$]#,###0.00' - } - } - }, - MetricSeries { - field: VizFieldFull { - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '[$$]#,###0.00' - } - } - }, - MetricSeries { - field: VizFieldFull { - ref: ref('order_master', 'aov') - format { - type: 'number' - pattern: 'inherited' - } - } - } - ] - settings { - max_column: 3 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - settings { - hide_label: true - } - } - block v2: VizBlock { - label: 'GMV' - viz: MetricKpi { - dataset: demo_ecommerce - // calculation f_2fb1cc3 { - // label: 'GMT last year' - // formula: @aml order_master.gmv * 0.87;; - // calc_type: 'measure' - // data_type: 'number' - // } - filter { - field: ref('order_master', 'order_created_at') - operator: 'matches' - value: '2023' - } - value: VizFieldFull { - label: 'Gross Merchandise Value' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '[$$]#,###' - } - } - compare_value: VizPopSettings { - field: ref('order_master', 'order_created_at') - duration: 1 - granularity: 'year' - } - } - settings { - hide_label: true - } - } - block v2_dup_dup: VizBlock { - label: 'Top selling product category' - viz: PieChart { - dataset: demo_ecommerce - filter { - field: r(order_master.order_created_at) - operator: 'matches' - value: '2023' - } - legend: VizFieldFull { - ref: r(map_categories.parent_category) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - label: ' ' - ref: r(order_master.gmv) - format { - type: 'number' - pattern: '[$$]#,###' - } - } - settings { - point { - value: 'Clothes' - color: '#255DD4' - } - point { - value: 'Groceries' - color: '#18A59E' - } - point { - value: 'Skin Care' - color: '#F2B602' - } - point { - value: 'Home Furniture' - color: '#AF7DED' - } - point { - value: 'Mobiles & Tablets' - color: '#A50E43' - } - point { - value: 'Home Entertainment' - color: '#07326C' - } - } - } - settings { - display_as_donut: true - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v6: VizBlock { - label: 'Top selling products' - viz: DataTable { - dataset: demo_ecommerce - calculation f_28374b6 { - label: 'Product Image' - formula: @aml concat('');; - calc_type: 'dimension' - data_type: 'text' - } - filter { - field: ref('order_master', 'order_created_at') - operator: 'matches' - value: '2023' - } - fields: [ - VizFieldFull { - label: 'Product Name' - ref: ref('ecommerce_products', 'product_google_link') - format { - type: 'html' - } - uname: 'ecommerce_products_product_google_link' - }, - VizFieldFull { - ref: 'f_28374b6' - format { - type: 'html' - } - uname: 'f_28374b6_text' - }, - VizFieldFull { - ref: ref('order_master', 'discount') - aggregation: 'avg' - format { - type: 'number' - pattern: '#,###%' - } - }, - VizFieldFull { - label: 'Quantity Sold' - ref: ref('order_master', 'order_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - label: 'GMV' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '[$$]#,###' - } - } - ] - settings { - pagination_size: 100 - row_height: 'multiple_lines' - sorts: [ - SortSetting { - field_index: 4 - direction: 'desc' - } - ] - conditional_formats: [ - ConditionalFormat { - ref: ref('order_master', 'gmv') - format: ScaleFormat { - min { - value: 0 - color: '#E9EFFB' - } - max { - value: 100000 - color: '#255DD4' - } - } - }, - ConditionalFormat { - ref: ref('order_master', 'order_count') - format: ScaleFormat { - min { - value: 0 - color: '#FFFFFF' - } - max { - value: 600 - color: '#47B881' - } - } - } - ] - column_width { - manual_widths: [ - ColumnWidth { - key: 'ecommerce_products_product_google_link' - width: 145 - }, - ColumnWidth { - key: 'f_28374b6_text' - width: 99 - } - ] - } - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v7: VizBlock { - label: 'Cohort Retention' - viz: RetentionHeatmap { - dataset: demo_ecommerce - filter { - field: ref('user_cohort_retention', 'cohort_month') - operator: 'matches' - value: '2023' - } - cohort: VizFieldFull { - label: 'Cohort Month' - ref: ref('user_cohort_retention', 'cohort_month') - transformation: 'datetrunc month' - format { - type: 'date' - } - } - cohort_size: VizFieldFull { - ref: ref('user_cohort_retention', 'cohort_size') - format { - type: 'number' - pattern: 'inherited' - } - } - cohort_duration: VizFieldFull { - ref: ref('user_cohort_retention', 'relative_month_disp') - format { - type: 'text' - } - } - cohort_value: VizFieldFull { - ref: ref('user_cohort_retention', 'active_users_count') - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - block v8: VizBlock { - label: 'Users vs Orders Growth' - viz: CombinationChart { - dataset: demo_ecommerce - x_axis: VizFieldFull { - ref: ref('ecommerce_users', 'sign_up_date') - transformation: 'datetrunc quarter' - format { - type: 'date' - } - } - y_axis { - series { - mark_type: 'column' - field: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#18A59E' - } - } - } - y_axis { - settings { - alignment: 'right' - } - series { - mark_type: 'line' - field: VizFieldFull { - ref: ref('order_master', 'delivered_orders_count') - format { - type: 'number' - } - } - settings { - color: '#255DD4' - line_interpolation: 'smooth' - } - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v10: VizBlock { - label: 'Total Users compared with Target Users' - viz: MetricKpi { - dataset: demo_ecommerce - calculation f_d80427a { - label: 'Target Users' - formula: @aml ecommerce_users.users_signed_up_count * 1.38;; - calc_type: 'measure' - data_type: 'number' - } - value: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: 'f_d80427a' - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - display_mode: 'progress' - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v12: VizBlock { - label: 'Daily GMV vs. 7-day Moving Average' - viz: CombinationChart { - dataset: demo_ecommerce - filter { - field: ref('order_master', 'order_created_at') - operator: 'matches' - value: '2023' - } - x_axis: VizFieldFull { - ref: ref('order_master', 'order_created_at') - transformation: 'datetrunc day' - format { - type: 'date' - pattern: 'LLL dd, yyyy' - } - } - y_axis { - series { - mark_type: 'line' - field: VizFieldFull { - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '#,###' - } - } - settings { - color: '#D1EDEC' - line_interpolation: 'smooth' - } - } - series { - mark_type: 'line' - field: VizFieldFull { - label: '7-day MovAvg of GMV' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '#,###' - } - analytic: MovingCalculationField { - type: 'avg' - order: 'row' - range { - previous: 7 - next: 0 - } - null_if_not_enough_values: true - } - } - settings { - color: '#18A59E' - line_interpolation: 'smooth' - } - } - } - settings { - legend_label: 'right' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - description: @md # Description -abc;; - } - block f1: FilterBlock { - label: 'Country' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce - field: ref('ecommerce_countries', 'name') - } - default { - operator: 'is' - value: [] - } - settings { - hide_label: true - input_type: 'nullable-single' - drillthrough: Drillthrough { - enabled: true - sources: [ - AutoDrillthroughSource { - } - ] - } - } - } - block t5: TextBlock { - content: @md

Overview

;; - } - block t6: TextBlock { - content: @md

Regional Analysis

;; - } - block t8: TextBlock { - content: @md

User Analysis

;; - } - block t9: TextBlock { - content: @md

Filter by Country

;; - } - block t10: TextBlock { - content: @md - - ;; - } - block t11: TextBlock { - content: @md - - ;; - } - block t12: TextBlock { - content: @md - - ;; - } - block v13: VizBlock { - label: 'GMV by Country' - viz: BarChart { - dataset: demo_ecommerce - legend: VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - } - y_axis { - settings { - axis_max: 12000000 - show_data_label_by: 'value' - } - series { - field: VizFieldFull { - label: ' ' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '#,###' - } - } - settings { - color: '#255DD4' - point { - value: 'India' - color: '#AF7DED' - } - point { - value: 'France' - color: '#18A59E' - } - point { - value: 'Germany' - color: '#07326C' - } - point { - value: 'Vietnam' - color: '#07326C' - } - point { - value: 'Australia' - color: '#255DD4' - } - point { - value: 'Indonesia' - color: '#A50E43' - } - point { - value: 'Singapore' - color: '#F2B602' - } - point { - value: 'South Korea' - color: '#E27712' - } - point { - value: 'United States' - color: '#18A59E' - } - point { - value: 'United Kingdom' - color: '#255DD4' - } - } - } - } - settings { - legend_label: 'left' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block t26: TextBlock { - content: @md

;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block t28: TextBlock { - content: @md

Filter by Age Group

;; - } - block f2: FilterBlock { - label: 'Age Group' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce - field: ref('ecommerce_users', 'age_group') - } - default { - operator: 'is' - value: [] - } - settings { - hide_label: true - input_type: 'nullable-single' - drillthrough: Drillthrough { - enabled: true - sources: [ - AutoDrillthroughSource { - } - ] - } - } - } - block f3: FilterBlock { - label: 'City' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce - field: ref('ecommerce_cities', 'name') - } - default { - operator: 'is' - value: [] - } - settings { - hide_label: true - input_type: 'nullable-single' - drillthrough: Drillthrough { - enabled: true - sources: [ - AutoDrillthroughSource { - } - ] - } - } - } - block t32: TextBlock { - content: @md

Filter by City

;; - } - block v15: VizBlock { - label: 'Average Order Value over time' - viz: CombinationChart { - dataset: demo_ecommerce - filter { - field: ref('order_master', 'order_created_at') - operator: 'matches' - value: '2023' - } - x_axis: VizFieldFull { - ref: ref('order_master', 'order_created_at') - transformation: 'datetrunc week' - format { - type: 'date' - pattern: 'wwww' - } - } - y_axis { - series { - mark_type: 'line' - field: VizFieldFull { - ref: ref('order_master', 'aov') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#18A59E' - } - } - } - settings { - pop { - field: ref('order_master', 'order_created_at') - duration: 1 - granularity: 'year' - show_growth_rate: true - } - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v16: VizBlock { - label: 'Sales Funnel' - viz: ConversionFunnel { - dataset: demo_ecommerce_users - breakdown_by: VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - } - values: [ - VizFieldFull { - ref: ref('ecommerce_users', 'users_signed_up_count') - format { - type: 'number' - } - }, - VizFieldFull { - label: 'Users Purchased' - ref: ref('user_facts_aggr', 'buyers_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - label: 'Users Repeated Purchased' - ref: ref('user_facts_aggr', 'repeated_buyers_count') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - circle_color: '#18A59E' - columns_color: '#255DD4' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block t38: TextBlock { - content: @md

;; - theme { - background { - bg_image: 'linear-gradient(97deg, #051527 20%, #071945 80%)' - } - } - } - block t39: TextBlock { - content: @md - - demo - ;; - } - block t40: TextBlock { - content: @md - - - - -;; - } - // block t46: background_gray() - block t47: TextBlock { - content: @md
- - - - - - - - - -
;; - } - block t49: TextBlock { - content: @md
;; - } - block t51: TextBlock { - content: @md
- - - - - - - - - -
;; - } - block t52: TextBlock { - content: @md
;; - } - block t53: TextBlock { - content: @md
;; - } - block t55: TextBlock { - content: @md

;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block t56: TextBlock { - content: @md

;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block v17: VizBlock { - label: 'Total Users and Delivered Orders Count by Quarter Sign Up Date' - viz: PivotTable { - dataset: demo_ecommerce - filter { - field: ref('ecommerce_users', 'age_group') - operator: 'is_not' - value: '3. From 40 to 49' - } - rows: [ - VizFieldFull { - ref: ref('ecommerce_countries', 'continent_name') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - } - ] - columns: [ - VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: ref('order_master', 'revenue') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'order_count') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - frozen_columns: 0 - } - } - } - block v18: VizBlock { - label: 'Customer Info and Buying Behavior' - viz: DataTable { - dataset: demo_ecommerce - fields: [ - VizFieldFull { - ref: ref('ecommerce_users', 'full_name') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - uname: 'ecommerce_countries_name' - }, - VizFieldFull { - ref: ref('order_master', 'order_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_products', 'total_products') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'cancelled_order_ratio') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_cancelled_order_ratio' - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - frozen_columns: 0 - column_styles: [ - ColumnStyle { - key: 'ecommerce_countries_name' - width: 216 - }, - ColumnStyle { - key: 'custom_cancelled_order_ratio' - width: 180 - } - ] - } - } - } - block p1: PopBlock { - label: 'Compare with Period' - } - block v19: VizBlock { - label: 'Total Users and Total Users by Age Demographic and Gender' - viz: ColumnChart { - dataset: demo_ecommerce - theme { - - } - x_axis: VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - } - legend: VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#07326C' - point { - value: 'Male' - color: '#FB8761' - } - point { - value: 'Female' - color: '#64628c' - } - } - } - series { - field: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - break_by_legend: false - } - } - } - settings { - x_axis_show_null_datetime: true - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block f_users_gender: FilterBlock { - label: 'Users Gender' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce - field: r(ecommerce_users.gender) - } - default { - operator: 'is' - value: [] - } - } - view: CanvasLayout { - label: 'View 1' - width: 1540 - height: 4460 - grid_size: 20 - block hd1 { - position: pos(1320, 20, 180, 60) - } - block hd2 { - position: pos(180, 360, 640, 60) - } - block hd3 { - position: pos(0, 0, 1540, 200) - layer: -1 - } - block t2 { - position: pos(40, 100, 660, 60) - } - block v1 { - position: pos(60, 800, 1420, 380) - } - block v2 { - position: pos(80, 460, 300, 140) - } - block v2_dup_dup { - position: pos(440, 2300, 380, 500) - } - block v6 { - position: pos(840, 2300, 680, 500) - } - block v7 { - position: pos(60, 3380, 1440, 440) - } - block v8 { - position: pos(380, 2960, 560, 400) - } - block v10 { - position: pos(80, 600, 320, 140) - } - block v12 { - position: pos(480, 440, 1000, 300) - layer: -1 - } - block f1 { - position: pos(80, 3020, 260, 40) - } - block t5 { - position: pos(40, 320, 1460, 80) - } - block t6 { - position: pos(40, 1300, 1460, 80) - } - block t8 { - position: pos(60, 2860, 1460, 80) - } - block t9 { - position: pos(80, 2980, 260, 40) - } - block t10 { - position: pos(920, 100, 180, 60) - } - block t11 { - position: pos(1120, 100, 180, 60) - } - block t12 { - position: pos(1320, 100, 180, 60) - } - block v13 { - position: pos(40, 1380, 720, 460) - } - block t26 { - position: pos(60, 2960, 300, 120) - layer: -2 - } - block t28 { - position: pos(80, 3260, 260, 40) - } - block f2 { - position: pos(80, 3300, 260, 40) - } - block f3 { - position: pos(80, 3160, 260, 40) - } - block t32 { - position: pos(80, 3120, 260, 40) - layer: 1 - } - block v15 { - position: pos(960, 2960, 560, 400) - } - block v16 { - position: pos(780, 1380, 720, 460) - } - block t38 { - position: pos(0, 4400, 1540, 180) - layer: -1 - } - block t39 { - position: pos(60, 3860, 200, 80) - } - block t40 { - position: pos(1120, 4440, 400, 120) - } - block t47 { - position: pos(1420, 1240, 80, 100) - layer: 1 - } - block t49 { - position: pos(40, 780, 1460, 420) - layer: -2 - } - block t51 { - position: pos(1440, 2820, 80, 100) - layer: 1 - } - block t52 { - position: pos(460, 420, 1040, 340) - layer: -2 - } - block t53 { - position: pos(40, 420, 400, 340) - layer: -2 - } - block t55 { - position: pos(60, 3100, 300, 120) - layer: -1 - } - block t56 { - position: pos(60, 3240, 300, 120) - layer: -1 - } - block v17 { - position: pos(40, 1860, 1480, 420) - } - block v18 { - position: pos(60, 3820, 1480, 500) - } - block p1 { - position: pos(1300, 2960, 220, 60) - layer: 2 - } - block v19 { - position: pos(40, 2300, 380, 500) - layer: 3 - } - block f_users_gender { - position: pos(1160, 220, 300, 80) - layer: -1 - } - } - settings { - timezone: 'America/Los_Angeles' - cache_duration: 10 - } - interactions: [ - FilterInteraction { - from: 'f1' - to: [ - CustomMapping { - block: 'f_users_gender' - disabled: true - } - ] - }, - FilterInteraction { - from: 'f2' - to: [ - CustomMapping { - block: 'f_users_gender' - disabled: true - } - ] - }, - FilterInteraction { - from: 'f3' - to: [ - CustomMapping { - block: 'f_users_gender' - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_users_gender' - to: [ - CustomMapping { - block: [ - 'f1', - 'f2', - 'f3' - ] - disabled: true - } - ] - }, - PopInteraction { - from: 'p1' - to: [ - CustomMapping { - block: 'v15' - field: r(order_master.order_created_at) - } - ] - } - ] -} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce.thang.dataset.aml b/team-folders/Thang/ecommerce.thang.dataset.aml deleted file mode 100644 index 770b430..0000000 --- a/team-folders/Thang/ecommerce.thang.dataset.aml +++ /dev/null @@ -1,69 +0,0 @@ -Dataset ecommerce { - label: 'ecommerce' - description: '' - data_source_name: 'movies_lens' - models: [ - ecommerce_orders2, - ecommerce_users2 - ] - relationships: [ - relationship(ecommerce_orders2.user_id > ecommerce_users2.id, true) - ] - metric avg_delivered_orders_per_user { - label: "Avg Delivered Orders Per User" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2.completed_orders_count - / ecommerce_users2.total_users;; - } - metric high_value_users { - label: "High value users" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2 -| group(ecommerce_users2.id) -| filter( - count(ecommerce_orders2.id) - | where(ecommerce_orders2.status == 'delivered') - >= 20 - ) -| count();; - format: "" - } - metric medium_value_user { - label: "Medium Value User" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2 -| filter(ecommerce_orders2.status == 'delivered') -| group(ecommerce_users2.id) -| filter(count(ecommerce_orders2.id) >= 5 and count(ecommerce_orders2.id) <= 19) -| count() -;; - } - metric low_value_user { - label: "Low Value User" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2 -| group(ecommerce_users2.id) -| filter( - count(ecommerce_orders2.id) - | where(ecommerce_orders2.status == 'delivered') - <= 2 - ) -| count();; - } - dimension dimension_0df1960 { - label: "Concat field" - type: "text" - hidden: false - description: "" - definition: @aql concat(cast(ecommerce_orders2.id, 'text'), " ", ecommerce_orders2.status);; - model: ecommerce_orders2 - } -} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_dashboard_thang.page.aml b/team-folders/Thang/ecommerce_dashboard_thang.page.aml deleted file mode 100644 index 7f690f0..0000000 --- a/team-folders/Thang/ecommerce_dashboard_thang.page.aml +++ /dev/null @@ -1,751 +0,0 @@ -Dashboard ecommerce_dashboard_thang { - title: 'Ecommerce. Customer Order Behavior Overview. Thang' - description: '' - owner: 'thang.lk@holistics.io' - block title: TextBlock { - content: @md Customer Order Behavior Overview;; - } - block v_noyg: VizBlock { - label: 'Order created in Dec 2022' - viz: DataTable { - dataset: ecommerce - filter { - field: r(ecommerce_orders2.created_at) - operator: 'matches' - value: 'dec 2022' - } - fields: [ - VizFieldFull { - ref: r(ecommerce_orders2.created_at) - format { - type: 'datetime' - } - }, - VizFieldFull { - ref: r(ecommerce_users2.full_name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_users2.email) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_xita: VizBlock { - label: 'Number of orders place by each user' - viz: DataTable { - dataset: ecommerce - fields: [ - VizFieldFull { - ref: r(ecommerce_users2.full_name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_orders2.all_orders_count) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_up3p: VizBlock { - label: 'Top customer by successful orders' - viz: DataTable { - dataset: ecommerce - fields: [ - VizFieldFull { - ref: r(ecommerce_users2.full_name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_users2.email) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_orders2.delivered_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_delivered_orders_count_1' - }, - VizFieldFull { - ref: r(ecommerce_orders2.all_orders_count) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - sorts: [ - SortSetting { - key: 'custom_delivered_orders_count_1' - direction: 'desc' - } - ] - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_o1kl: VizBlock { - label: 'Low value user → onboarding, trust, education' - viz: DataTable { - dataset: ecommerce - filter { - field: r(ecommerce_orders2.delivered_orders_count) - operator: 'less_than' - value: '2' - } - fields: [ - VizFieldFull { - ref: r(ecommerce_users2.full_name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_users2.email) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_orders2.delivered_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_delivered_orders_count_1' - }, - VizFieldFull { - ref: r(ecommerce_orders2.all_orders_count) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - sorts: [ - SortSetting { - key: 'custom_delivered_orders_count_1' - direction: 'desc' - } - ] - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_5iy6: VizBlock { - label: 'Which Age Groups Complete More Orders?' - description: 'Each dot represents an age group' - viz: ScatterChart { - dataset: ecommerce - filter { - field: r(ecommerce_users2.age_group) - operator: 'is' - value: '3. From 30 to 39' - } - x_col: VizFieldFull { - ref: r(ecommerce_orders2.delivered_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - y_col: VizFieldFull { - ref: r(ecommerce_users2.total_users) - format { - type: 'number' - pattern: 'inherited' - } - } - group_col: VizFieldFull { - ref: r(ecommerce_users2.age_group) - format { - type: 'text' - } - } - settings { - row_limit: 5000 - } - } - } - block v_inr6: VizBlock { - label: 'Total Delivered Orders' - viz: DataTable { - dataset: ecommerce - fields: [ - VizFieldFull { - label: 'Total Delivered Orders' - ref: r(ecommerce_orders2.delivered_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_570z: VizBlock { - label: 'Avg Delivered Orders Per User' - viz: MetricKpi { - dataset: ecommerce - value: VizFieldFull { - ref: r(ecommerce.avg_delivered_orders_per_user) - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_ch4j: VizBlock { - label: 'High value users' - viz: DataTable { - dataset: ecommerce - filter { - field: r(ecommerce_orders2.delivered_orders_count) - operator: 'greater_than' - value: '20' - } - fields: [ - VizFieldFull { - ref: r(ecommerce_users2.full_name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_orders2.delivered_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_delivered_orders_count_1' - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_k1c5: VizBlock { - label: 'User Segmentation by Order' - viz: BarChart { - dataset: ecommerce - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce.low_value_user) - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color_palette: 0 - } - } - series { - field: VizFieldFull { - ref: r(ecommerce.medium_value_user) - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color_palette: 0 - } - } - series { - field: VizFieldFull { - ref: r(ecommerce.high_value_users) - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color_palette: 0 - } - } - } - settings { - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_1fcq: VizBlock { - label: 'Sign Up Date and Last Name' - viz: DataTable { - dataset: ecommerce - fields: [ - VizFieldFull { - ref: r(ecommerce_users2.sign_up_date) - format { - type: 'date' - } - }, - VizFieldFull { - ref: r(ecommerce_users2.last_name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block f_orders_status: FilterBlock { - label: 'Orders Status' - type: 'field' - source: FieldFilterSource { - dataset: ecommerce - field: r(ecommerce_orders2.status) - } - default { - operator: 'is' - value: 'delivered' - } - settings { - drillthrough: Drillthrough { - enabled: true - sources: [ - CustomDrillthroughSource { - sources: [ - '_0_ecommerce_dashboard_30' - ] - } - ] - } - } - } - block p_period_comparison: PopBlock { - label: 'Period Comparison' - default { - type: 'relative' - duration: 1 - granularity: 'year' - } - } - block d_date_drill: DateDrillBlock { - label: 'Date Drill' - } - block f_orders_id: FilterBlock { - label: 'Orders Id' - type: 'field' - source: FieldFilterSource { - dataset: ecommerce - field: r(ecommerce_orders2.id) - } - default { - operator: 'is' - value: [] - } - settings { - drillthrough: Drillthrough { - enabled: true - sources: [ - AutoDrillthroughSource { - } - ] - } - } - } - block f_users_gender: FilterBlock { - label: 'Users Gender' - type: 'field' - source: FieldFilterSource { - dataset: ecommerce - field: r(ecommerce_users2.gender) - } - default { - operator: 'is' - value: 'm' - } - settings { - input_type: 'multiple' - } - } - block f_orders_status_bnp2: FilterBlock { - label: 'Orders Status' - type: 'field' - source: FieldFilterSource { - dataset: ecommerce - field: r(ecommerce_orders2.status) - } - default { - operator: 'is' - value: [] - } - } - - view: TabLayout { - label: 'View 1' - tab view_1: CanvasLayout { - label: 'Tab 1' - width: 1300 - height: 3470 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - block v_noyg { - position: pos(660, 1360, 620, 420) - layer: 1 - } - block v_xita { - position: pos(20, 1360, 620, 420) - layer: 2 - } - block v_up3p { - position: pos(660, 920, 620, 420) - layer: 4 - } - block v_o1kl { - position: pos(20, 1800, 620, 420) - layer: 6 - } - block v_5iy6 { - position: pos(20, 480, 620, 420) - layer: 8 - } - block v_inr6 { - position: pos(20, 310, 620, 160) - layer: 10 - } - block v_570z { - position: pos(660, 300, 620, 160) - layer: 11 - } - block v_ch4j { - position: pos(20, 920, 620, 420) - layer: 6 - } - block v_k1c5 { - position: pos(660, 480, 620, 420) - layer: 12 - } - block v_1fcq { - position: pos(660, 1800, 620, 420) - layer: 13 - } - block f_orders_status { - position: pos(40, 210, 300, 80) - layer: 12 - } - block p_period_comparison { - position: pos(400, 190, 300, 80) - layer: 12 - } - block d_date_drill { - position: pos(740, 190, 300, 80) - layer: 11 - } - block f_orders_id { - position: pos(1060, 190, 300, 80) - layer: 12 - } - block f_users_gender { - position: pos(600, 100, 300, 80) - layer: 12 - } - block f_orders_status_bnp2 { - position: pos(410, 660, 300, 80) - layer: 12 - } - mobile { - mode: 'auto' - } - } - } - interactions: [ - FilterInteraction { - from: 'v_noyg' - to: [ - CustomMapping { - block: [ - 'v_5iy6', - 'v_inr6', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_xita' - to: [ - CustomMapping { - block: [ - 'v_5iy6', - 'v_inr6', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_up3p' - to: [ - CustomMapping { - block: [ - 'v_5iy6', - 'v_inr6', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_o1kl' - to: [ - CustomMapping { - block: [ - 'v_5iy6', - 'v_inr6', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_5iy6' - to: [ - CustomMapping { - block: [ - 'v_noyg', - 'v_xita', - 'v_up3p', - 'v_o1kl', - 'v_inr6', - 'v_ch4j', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_inr6' - to: [ - CustomMapping { - block: [ - 'v_noyg', - 'v_xita', - 'v_up3p', - 'v_o1kl', - 'v_5iy6', - 'v_ch4j', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_570z' - to: [ - CustomMapping { - block: 'v_k1c5' - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ch4j' - to: [ - CustomMapping { - block: [ - 'v_5iy6', - 'v_inr6', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_k1c5' - to: [ - CustomMapping { - block: [ - 'v_noyg', - 'v_xita', - 'v_up3p', - 'v_o1kl', - 'v_5iy6', - 'v_inr6', - 'v_570z', - 'v_ch4j' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_orders_status' - to: [ - CustomMapping { - block: [ - 'f_orders_id', - 'f_users_gender', - 'f_orders_status_bnp2' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_orders_id' - to: [ - CustomMapping { - block: [ - 'f_orders_status', - 'f_users_gender', - 'f_orders_status_bnp2' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_users_gender' - to: [ - CustomMapping { - block: [ - 'f_orders_status', - 'f_orders_id', - 'f_orders_status_bnp2' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_orders_status_bnp2' - to: [ - CustomMapping { - block: [ - 'f_orders_status', - 'f_orders_id', - 'f_users_gender' - ] - disabled: true - } - ] - }, - PopInteraction { - from: 'p_period_comparison' - to: [ - CustomMapping { - block: [ - 'v_noyg', - 'v_xita', - 'v_up3p', - 'v_o1kl', - 'v_inr6', - 'v_570z', - 'v_ch4j', - 'v_k1c5' - ] - field: r(ecommerce_orders2.created_at) - }, - CustomMapping { - block: 'v_1fcq' - field: r(ecommerce_users2.sign_up_date) - } - ] - }, - DateDrillInteraction { - from: 'd_date_drill' - to: [ - CustomMapping { - block: 'v_noyg' - field: r(ecommerce_orders2.created_at) - }, - CustomMapping { - block: 'v_1fcq' - field: r(ecommerce_users2.sign_up_date) - } - ] - } - ] - theme: H.themes.classic -} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_orders.model.aml b/team-folders/Thang/ecommerce_orders.model.aml deleted file mode 100644 index eaa5840..0000000 --- a/team-folders/Thang/ecommerce_orders.model.aml +++ /dev/null @@ -1,60 +0,0 @@ -Model ecommerce_orders2 { - type: 'table' - label: 'Orders' - description: '' - data_source_name: 'demodb' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension status { - label: 'Status' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.status }};; - } - dimension created_at { - label: 'Created At' - type: 'datetime' - hidden: false - definition: @sql {{ #SOURCE.created_at }};; - } - dimension user_id { - label: 'User Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.user_id }};; - } - dimension discount { - label: 'Discount' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.discount }};; - } - dimension delivery_attempts { - label: 'Delivery Attempts' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.delivery_attempts }};; - } - - owner: 'thang.lk@holistics.io' - table_name: '"ecommerce"."orders"' - measure all_orders_count { - label: "All Orders Count" - type: "text" - description: "Total Orders" - definition: @sql count({{id}});; - aggregation_type: "custom" - } - measure delivered_orders_count { - label: "Delivered Orders Count" - type: "text" - description: "" - hidden: false - definition: @sql COUNT(CASE WHEN {{ status }} = 'delivered' THEN {{ id }} ELSE NULL END);; - aggregation_type: "custom" - } -} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_users.model.aml b/team-folders/Thang/ecommerce_users.model.aml deleted file mode 100644 index a88b472..0000000 --- a/team-folders/Thang/ecommerce_users.model.aml +++ /dev/null @@ -1,94 +0,0 @@ -Model ecommerce_users2 { - type: 'table' - label: 'Users' - description: '' - data_source_name: 'demodb' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension sign_up_date { - label: 'Sign Up Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.sign_up_date }};; - } - dimension sign_up_at { - label: 'Sign Up At' - type: 'datetime' - hidden: false - definition: @sql {{ #SOURCE.sign_up_at }};; - } - dimension first_name { - label: 'First Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.first_name }};; - } - dimension last_name { - label: 'Last Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.last_name }};; - } - dimension email { - label: 'Email' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.email }};; - } - dimension birth_date { - label: 'Birth Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.birth_date }};; - } - dimension gender { - label: 'Gender' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.gender }};; - } - dimension city_id { - label: 'City Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.city_id }};; - } - dimension full_name { - label: 'Full Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.full_name }};; - } - dimension age { - label: "Age" - type: "number" - description: "" - definition: @sql date_part('year', current_date) - date_part('year', {{ birth_date }});; - } - dimension age_group { - label: "Age Group" - type: "text" - description: "" - definition: @sql case - when {{ age }} < 20 then '1. Under 20' - when {{ age }} >= 20 and {{ age }} < 30 then '2. From 20 to 29' - when {{ age }} >= 30 and {{ age }} < 40 then '3. From 30 to 39' - when {{ age }} >= 40 then '4. 40 and up' -end;; - } - - owner: 'thang.lk@holistics.io' - table_name: '"ecommerce"."users"' - measure total_users { - label: "Total users" - type: "number" - description: "" - hidden: false - definition: @aql count(ecommerce_users2.id);; - aggregation_type: "custom" - } -} \ No newline at end of file From 9c51f0d66d46fdcdb6cadf4949656009bb9ee326 Mon Sep 17 00:00:00 2001 From: Thang Date: Wed, 21 Jan 2026 10:42:10 +0000 Subject: [PATCH 10/28] Restore to version "Add default write schema 'pokemon' to 'project_settings' for data import" (#31ad1f) --- Hieu/dim_date_hieu.model.aml | 147 - Hieu/hieu_haha_meme.dataset.aml | 12 - Hieu/hieu_test.dataset.aml | 33 - Hieu/holidays.model.aml | 22 - Hieu/orders.model.aml | 45 - Hieu/test_hieui.model.aml | 61 - Hieu/users.model.aml | 34 - abc_test.page.aml | 22 - canvas.page.aml | 36131 ---------------- ...Value] Reusable Dashboard Visuals.page.aml | 22 +- ...[Demo] Ecommerce Overview - Funky.page.aml | 76 +- .../dashboards/demo_dashboard_2025.page.aml | 532 +- .../_3_customer_demographics.page.aml | 8 +- .../dashboards/embed_demo_sales.page.aml | 144 +- .../datasets/demo_ecommerce.dataset.aml | 25 +- .../demo_ecommerce_version_2.dataset.aml | 473 +- .../demo_ecommerce_version_base.dataset.aml | 134 - demo ecommerce/ecommerce_metrics.aml | 260 - .../embed/ecommerce_portal.embed.aml | 1 - .../2. Query Models/order_master.model.aml | 25 +- demo ecommerce/reusable components/theme.aml | 6 - demo ecommerce/zArchive/untitled_5.page.aml | 85 + ecommerce_orders.model.aml | 45 - ecommerce_sales.model.aml | 52 - hoa_test.page.aml | 22 - .../modules/prod/prod_ecommerce.dataset.aml | 6 - .../test/ecommerce_test_modules.dataset.aml | 17 - modules/models/hub/customers/cities.model.aml | 27 - .../models/hub/customers/countries.model.aml | 27 - modules/models/hub/customers/users.model.aml | 85 - .../hub/transaction/order_items.model.aml | 27 - .../models/hub/transaction/orders.model.aml | 59 - .../models/hub/transaction/products.model.aml | 45 - phuong_test_custom_styling.page.aml | 65 - settings/ai/context.aml | 8 - settings/project_settings.aml | 8 +- .../Amyra/demo_ecommerce_amyra.page.aml | 6 +- .../Amyra/ecommerce_dashboard_new.page.aml | 56 + team-folders/Bao/column_width.page.aml | 289 + team-folders/Dat/bug_cross_filter.page.aml | 151 + .../Minh/ecommerce (test themes).page.aml | 71 +- .../Nam/Dashboards/Sale overview.page.aml | 12 +- team-folders/TanNguyen/test_tn.dataset.aml | 14 - team-folders/Vux/vux-test.page.aml | 238 - .../Onboarding Dashboard.page.aml | 1 - .../Vy's Dashboard/VyHuynh_Abernathy.page.aml | 276 +- .../Dynamic Dim/dynamic_dim_model.model.aml | 25 +- .../dynamic_field_selection.page.aml | 60 - .../khai/datasets/khai_ecommerce.dataset.aml | 60 +- .../dynamic_dim_ecommerce_dashboard.page.aml | 349 +- team-folders/khai/khai_test.page.aml | 828 +- .../khai/models/param_model.model.aml | 12 - ...sales_manager_ecommerce_dashboard.page.aml | 93 - .../dynamic_datasouce_test.page.aml | 2 +- .../dashboards/tai_cohort_retention.page.aml | 388 - .../dashboards/tai_test_new_block.page.aml | 108 + .../tai/test_extend/tai_ecom.page.aml | 1796 - .../test_extend/tai_ecom_external.page.aml | 43 - .../tri.dvm/dashboards/tri-test.page.aml | 36 +- .../tri.dvm/dashboards/untitled_9.page.aml | 28 +- .../datasets/bhx_demo_ecommerce.dataset.aml | 588 +- .../bhx_ecommerce_categories.model.aml | 1 - .../bhx_ecommerce_countries.model.aml | 7 - .../bhx_ecommerce_orders.model.aml | 124 +- .../bhx_ecommerce_users.model.aml | 8 +- thong/pii_ecommerce.dataset.aml | 26 - thong/pii_users.model.aml | 75 - toan-test/test_sale.page.aml | 55 - untitled_5.page.aml | 24 - untitled_8.page.aml | 55 + version.aml | 2 +- 71 files changed, 2423 insertions(+), 42275 deletions(-) delete mode 100644 Hieu/dim_date_hieu.model.aml delete mode 100644 Hieu/hieu_haha_meme.dataset.aml delete mode 100644 Hieu/hieu_test.dataset.aml delete mode 100644 Hieu/holidays.model.aml delete mode 100644 Hieu/orders.model.aml delete mode 100644 Hieu/test_hieui.model.aml delete mode 100644 Hieu/users.model.aml delete mode 100644 abc_test.page.aml delete mode 100644 canvas.page.aml delete mode 100644 demo ecommerce/datasets/demo_ecommerce_version_base.dataset.aml delete mode 100644 demo ecommerce/ecommerce_metrics.aml create mode 100644 demo ecommerce/zArchive/untitled_5.page.aml delete mode 100644 ecommerce_orders.model.aml delete mode 100644 ecommerce_sales.model.aml delete mode 100644 hoa_test.page.aml delete mode 100644 modules/datasets/modules/prod/prod_ecommerce.dataset.aml delete mode 100644 modules/datasets/modules/test/ecommerce_test_modules.dataset.aml delete mode 100644 modules/models/hub/customers/cities.model.aml delete mode 100644 modules/models/hub/customers/countries.model.aml delete mode 100644 modules/models/hub/customers/users.model.aml delete mode 100644 modules/models/hub/transaction/order_items.model.aml delete mode 100644 modules/models/hub/transaction/orders.model.aml delete mode 100644 modules/models/hub/transaction/products.model.aml delete mode 100644 phuong_test_custom_styling.page.aml delete mode 100644 settings/ai/context.aml create mode 100644 team-folders/Amyra/ecommerce_dashboard_new.page.aml create mode 100644 team-folders/Bao/column_width.page.aml create mode 100644 team-folders/Dat/bug_cross_filter.page.aml delete mode 100644 team-folders/TanNguyen/test_tn.dataset.aml delete mode 100644 team-folders/Vux/vux-test.page.aml delete mode 100644 team-folders/khai/sales_manager_ecommerce_dashboard.page.aml delete mode 100644 team-folders/tai/dashboards/tai_cohort_retention.page.aml create mode 100644 team-folders/tai/dashboards/tai_test_new_block.page.aml delete mode 100644 team-folders/tai/test_extend/tai_ecom.page.aml delete mode 100644 team-folders/tai/test_extend/tai_ecom_external.page.aml rename test_new.page.aml => team-folders/tri.dvm/dashboards/untitled_9.page.aml (59%) delete mode 100644 thong/pii_ecommerce.dataset.aml delete mode 100644 thong/pii_users.model.aml delete mode 100644 toan-test/test_sale.page.aml delete mode 100644 untitled_5.page.aml create mode 100644 untitled_8.page.aml diff --git a/Hieu/dim_date_hieu.model.aml b/Hieu/dim_date_hieu.model.aml deleted file mode 100644 index dd01a71..0000000 --- a/Hieu/dim_date_hieu.model.aml +++ /dev/null @@ -1,147 +0,0 @@ -Model dim_date_hieu { - type: 'query' - label: 'Dim Dates' - description: '' - data_source_name: 'demodb' - dimension date_key { - label: 'Date Key' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.date_key }};; - } - dimension day_of_week { - label: 'Day Of Week' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.day_of_week }};; - } - dimension day_of_month { - label: 'Day Of Month' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.day_of_month }};; - } - dimension day_of_year { - label: 'Day Of Year' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.day_of_year }};; - } - dimension weekday_name { - label: 'Weekday Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.weekday_name }};; - } - dimension weekday_name_abbr { - label: 'Weekday Name Abbr.' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.weekday_name_abbr }};; - } - dimension week_number { - label: 'Week Number' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.week_number }};; - } - dimension week_number_iso { - label: 'Week Number ISO' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.week_number_iso }};; - } - dimension year_week_iso { - label: 'Year Week ISO' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.year_week_iso }};; - } - dimension month_name { - label: 'Month Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.month_name }};; - } - dimension month_name_abbr { - label: 'Month Name Abbr.' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.month_name_abbr }};; - } - dimension month_number { - label: 'Month Number' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.month_number }};; - } - dimension year_month { - label: 'Year Month' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.year_month }};; - } - dimension quarter { - label: 'Quarter' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.quarter }};; - } - dimension year_quarter { - label: 'Year Quarter' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.year_quarter }};; - } - dimension year { - label: 'Year' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.year }};; - } - - owner: 'ha.pham+demo4@holistics.io' - query: @sql - SELECT - date_key::date - , to_char(date_key, 'ID') as day_of_week - , to_char(date_key, 'DD') as day_of_month - , to_char(date_key, 'DDD') as day_of_year - , to_char(date_key, 'Day') as weekday_name - , to_char(date_key, 'Dy') as weekday_name_abbr - , to_char(date_key, 'WW') as week_number - , to_char(date_key, 'IW') as week_number_iso - , to_char(date_key, 'YYYYIW') as year_week_iso - , to_char(date_key, 'Month') as month_name - , to_char(date_key, 'Mon') as month_name_abbr - , to_char(date_key, 'MM') as month_number - , to_char(date_key, 'YYYYMM') as year_month - , to_char(date_key, 'Q') as quarter - , to_char(date_key, 'YYYY') || 'Q' || to_char(date_key, 'Q') as year_quarter - , to_char(date_key, 'YYYY') as year - FROM generate_series ('2013-01-01' :: date, current_date ,'1 day' :: interval) date_key;; - models: [ - ] - - param time_grain_choice { - label: 'Time Grain Choice' - type: 'date' - allowed_values: ['Day', 'Week', 'Quarter'] - } - - dimension time_grain_selector { - label: 'Time Grain Selector' - type: 'date' - - definition: @aql case( - when: 'Day' in dim_dates.time_grain_choice - , then: dim_dates.day_of_year - - , when: 'Week' in dim_dates.time_grain_choice - , then: dim_dates.year_week_iso - - , when: 'Quarter' in dim_dates.time_grain_choice - , then: dim_dates.year_quarter - ) ;; - } -} \ No newline at end of file diff --git a/Hieu/hieu_haha_meme.dataset.aml b/Hieu/hieu_haha_meme.dataset.aml deleted file mode 100644 index 9d42aa7..0000000 --- a/Hieu/hieu_haha_meme.dataset.aml +++ /dev/null @@ -1,12 +0,0 @@ -Dataset hieu_haha_meme { - label: 'hieu_haha_meme' - description: '' - data_source_name: 'movies_lens' - models: [ - orderskk, - users_kk - ] - relationships: [ - relationship(orderskk.user_id > users_kk.id, true) - ] -} \ No newline at end of file diff --git a/Hieu/hieu_test.dataset.aml b/Hieu/hieu_test.dataset.aml deleted file mode 100644 index a5dcaf8..0000000 --- a/Hieu/hieu_test.dataset.aml +++ /dev/null @@ -1,33 +0,0 @@ -Dataset hieu_test { - label: 'hieu_test' - description: '' - data_source_name: 'movies_lens' - models: [ - holidays, - dim_date_hieu - ] - relationships: [] - metric date1 { - label: "Date 1" - type: "date" - hidden: false - description: "" - definition: @aql min(date_trunc(dim_date_hieu.date_key, 'day')) -| where(dim_date_hieu.date_key == @(9-Oct-2025) );; - } - metric date2 { - label: "Date 2" - type: "date" - hidden: false - description: "" - definition: @aql min(date_trunc(dim_date_hieu.date_key, 'day')) -| where(dim_date_hieu.date_key == @(14-Oct-2025) );; - } - metric business_days { - label: "Business Days" - type: "number" - hidden: false - description: "" - definition: @aql cast(2.4, 'int');; - } -} \ No newline at end of file diff --git a/Hieu/holidays.model.aml b/Hieu/holidays.model.aml deleted file mode 100644 index 85a3951..0000000 --- a/Hieu/holidays.model.aml +++ /dev/null @@ -1,22 +0,0 @@ -Model holidays { - type: 'query' - label: 'Holidays' - description: '' - data_source_name: 'movies_lens' - dimension date { - label: 'Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.date }};; - } - - owner: 'hieu.nht@holistics.io' - query: @sql - SELECT DATE '2025-01-06' AS date - UNION ALL SELECT DATE '2025-01-19' - UNION ALL SELECT DATE '2025-01-30' - UNION ALL SELECT DATE '2025-02-08' - UNION ALL SELECT DATE '2025-02-24';;; - models: [ - ] -} diff --git a/Hieu/orders.model.aml b/Hieu/orders.model.aml deleted file mode 100644 index b32f0a3..0000000 --- a/Hieu/orders.model.aml +++ /dev/null @@ -1,45 +0,0 @@ -Model orderskk { - type: 'query' - label: 'Orders' - description: '' - data_source_name: 'movies_lens' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension user_id { - label: 'User Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.user_id }};; - } - dimension tenant_id { - label: 'tenant_id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.tenant_id }};; - } - - param param_tenant_id { - label: 'param tenant_id' - type: 'number' - } - - owner: 'hieu.nht@holistics.io' - query: @sql - with haha as( - SELECT 1 as id, 1 as user_id, 1 as tenant_id - UNION - select 2 as id, null as user_id, 1 as tenant_id - UNION - select 3 as id, 3 as user_id, 2 as tenant_id - ) - select * - from haha - where {% filter(param_tenant_id) %} tenant_id {% end %} - ;; - models: [ - ] -} diff --git a/Hieu/test_hieui.model.aml b/Hieu/test_hieui.model.aml deleted file mode 100644 index fa08bed..0000000 --- a/Hieu/test_hieui.model.aml +++ /dev/null @@ -1,61 +0,0 @@ -Model test_hieui { - type: 'query' - label: 'Test Hieui' - description: '' - data_source_name: 'movies_lens' - dimension user_id { - label: 'User Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.user_id }};; - } - dimension on_date { - label: 'On Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.on_date }};; - } - dimension balance { - label: 'Balance' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.balance }};; - } - dimension d1 { - label: "D 1" - type: "number" - description: "" - hidden: false - definition: @aql max(test_hieui.balance) | dimensionalize(test_hieui.user_id, test_hieui.on_date);; - primary_key: false - } - - owner: 'hieu.nht@holistics.io' - query: @sql - select 1 as user_id, cast('2025-01-01' as date) as on_date, 10 as balance - union all - select 1 as user_id, cast('2025-01-02' as date) as on_date, 20 as balance - union all - select 2 as user_id, cast('2025-01-01' as date) as on_date, 5 as balance - union all - select 2 as user_id, cast('2025-01-02' as date) as on_date, 10 as balance;; - models: [ - ] - measure metric_5f8d711 { - label: "Untitled Metric" - type: "number" - description: "" - definition: @aql sum(test_hieui.d1);; - aggregation_type: "custom" - } - measure metric_43f0da2 { - label: "Untitled Metric" - type: "number" - description: "" - definition: @aql test_hieui -| group(test_hieui.user_id, test_hieui.on_date) -| select(test_hieui.user_id, test_hieui.on_date, c: max(test_hieui.balance)) -| sum(c);; - aggregation_type: "custom" - } -} \ No newline at end of file diff --git a/Hieu/users.model.aml b/Hieu/users.model.aml deleted file mode 100644 index 8da9b2d..0000000 --- a/Hieu/users.model.aml +++ /dev/null @@ -1,34 +0,0 @@ -Model users_kk { - type: 'query' - label: 'Users' - description: '' - data_source_name: 'movies_lens' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension name { - label: 'Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.name }};; - } - dimension tenant_id { - label: 'tenant_id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.tenant_id }};; - } - - owner: 'hieu.nht@holistics.io' - query: @sql - select 1 as id, 'hieu' as NAME, 1 as tenant_id - union - select 2 as id, 'haha' as NAME, 1 as tenant_id - UNION - select 3 as id, 'meme' as NAME, 2 as tenant_id;; - models: [ - ] -} diff --git a/abc_test.page.aml b/abc_test.page.aml deleted file mode 100644 index dee5325..0000000 --- a/abc_test.page.aml +++ /dev/null @@ -1,22 +0,0 @@ -Dashboard abc_test { - title: 'abc-test' - owner: 'thinh.nt+explorer@holistics.io' - block title: TextBlock { - content: @md # Your title goes here ;; - } - interactions: [] - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 800 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - mobile { - mode: 'auto' - } - } - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/canvas.page.aml b/canvas.page.aml deleted file mode 100644 index c842e71..0000000 --- a/canvas.page.aml +++ /dev/null @@ -1,36131 +0,0 @@ -@tag('Status/Archived') -Dashboard canvas { - title: 'canvas' - owner: 'toan.lt@holistics.io' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v_i0ma: VizBlock { - label: 'Product ID, Category Id, and Product Name' - viz: DataTable { - dataset: demo_ecommerce_version_2 - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ycpf: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_4fv0: VizBlock { - label: 'Count of Product ID compared with Count of Created At' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_rzdz: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_jdvh: VizBlock { - label: 'Sum of Price by Month Created At and Product Name' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_xdx1: VizBlock { - label: 'Sum of Price by Month Created At and Product Name' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_62r3: VizBlock { - label: 'Sum of Price by Month Created At and Product Name' - viz: BarChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_gb0d: VizBlock { - label: 'Sum of Price by Month Created At and Product Name' - viz: CombinationChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_isx8: VizBlock { - label: 'Sum of Price by Product Name' - viz: PieChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_6dfd: VizBlock { - label: 'Count of Product ID by Product Name' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_lt6d: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_y3wy: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_cg3l: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_bai5: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ta38: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block t_c252: TextBlock { - content: @md # Your title goes here ;; - } - block v_yn61: VizBlock { - label: 'Product ID, Category Id, and Product Name copy' - viz: DataTable { - dataset: demo_ecommerce_version_2 - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_wu9m: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_5u94: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_mwu0: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_6ahf: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_nj19: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_lj6q: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: BarChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_xz9l: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: CombinationChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_98bf: VizBlock { - label: 'Sum of Price by Product Name copy' - viz: PieChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_dnd8: VizBlock { - label: 'Count of Product ID by Product Name copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_lm64: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_654e: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_dg1n: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_e1qp: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ekez: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block t_mnwz: TextBlock { - content: @md # Your title goes here ;; - } - block v_tpey: VizBlock { - label: 'Product ID, Category Id, and Product Name copy' - viz: DataTable { - dataset: demo_ecommerce_version_2 - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_d7nd: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_r283: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_b7ob: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_nj55: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_5zma: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_843t: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: BarChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_wv9m: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: CombinationChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_0l9k: VizBlock { - label: 'Sum of Price by Product Name copy' - viz: PieChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_cxlf: VizBlock { - label: 'Count of Product ID by Product Name copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_xsuq: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_gbac: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_hm7f: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ybr9: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_hdei: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block t_6jpe: TextBlock { - content: @md # Your title goes here ;; - } - block v_h7to: VizBlock { - label: 'Product ID, Category Id, and Product Name copy' - viz: DataTable { - dataset: demo_ecommerce_version_2 - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_h00z: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_h9db: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_imc6: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_lnjq: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_i318: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_66ds: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: BarChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_le30: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: CombinationChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_1rkv: VizBlock { - label: 'Sum of Price by Product Name copy' - viz: PieChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_agqg: VizBlock { - label: 'Count of Product ID by Product Name copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_7lt0: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_9ga9: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_nowu: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_bro7: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_yrr6: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block t_ysoe: TextBlock { - content: @md # Your title goes here ;; - } - block v_pxny: VizBlock { - label: 'Product ID, Category Id, and Product Name copy' - viz: DataTable { - dataset: demo_ecommerce_version_2 - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_qe13: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_2nyq: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_bj9k: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_w4pw: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_cxqp: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_e3li: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: BarChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_1qjt: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: CombinationChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_fiz0: VizBlock { - label: 'Sum of Price by Product Name copy' - viz: PieChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_paj9: VizBlock { - label: 'Count of Product ID by Product Name copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_73kf: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_izhc: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_95r0: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_37pu: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_fpdh: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block t_6x7f: TextBlock { - content: @md # Your title goes here ;; - } - block v_dz0g: VizBlock { - label: 'Product ID, Category Id, and Product Name copy' - viz: DataTable { - dataset: demo_ecommerce_version_2 - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_1gxd: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_nbq9: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_9jqs: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_y58x: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_8k8m: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_7q99: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: BarChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_njzg: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: CombinationChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_camr: VizBlock { - label: 'Sum of Price by Product Name copy' - viz: PieChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_e5r8: VizBlock { - label: 'Count of Product ID by Product Name copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_v67d: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_yv3o: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_hj34: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_xdpd: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_8pn5: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block t_setm: TextBlock { - content: @md # Your title goes here ;; - } - block v_93kd: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_5m7o: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: BarChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_06fa: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_t3v1: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ok53: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_mkos: VizBlock { - label: 'Sum of Price by Product Name copy' - viz: PieChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_6gh4: VizBlock { - label: 'Product ID, Category Id, and Product Name copy' - viz: DataTable { - dataset: demo_ecommerce_version_2 - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_xlxx: VizBlock { - label: 'Count of Product ID by Product Name copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_v72z: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_zxuz: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_jm6e: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: CombinationChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_f3fn: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_scf3: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_iwhf: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_fblv: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block t_5ue9: TextBlock { - content: @md # Your title goes here ;; - } - block v_4740: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_0kfu: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: BarChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_vgy2: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_1nco: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_oi09: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_1tc8: VizBlock { - label: 'Sum of Price by Product Name copy' - viz: PieChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ipw6: VizBlock { - label: 'Product ID, Category Id, and Product Name copy' - viz: DataTable { - dataset: demo_ecommerce_version_2 - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_vl10: VizBlock { - label: 'Count of Product ID by Product Name copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_tlo7: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_88wd: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_igi2: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: CombinationChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_4d2p: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_n3pj: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_muku: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_2yxg: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block t_s8mi: TextBlock { - content: @md # Your title goes here ;; - } - block v_tsgl: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ubkl: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: BarChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_lb4h: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_bsa8: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ld2h: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_be87: VizBlock { - label: 'Sum of Price by Product Name copy' - viz: PieChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_a2bd: VizBlock { - label: 'Product ID, Category Id, and Product Name copy' - viz: DataTable { - dataset: demo_ecommerce_version_2 - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_irke: VizBlock { - label: 'Count of Product ID by Product Name copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_w31z: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ako8: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_jw3p: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: CombinationChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_crb3: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_y2zd: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_mq2h: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_daa5: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block t_jfgq: TextBlock { - content: @md # Your title goes here ;; - } - block v_rm3q: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_1vij: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: BarChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_sdav: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_cui6: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_9a2p: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_71d3: VizBlock { - label: 'Sum of Price by Product Name copy' - viz: PieChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_m14b: VizBlock { - label: 'Product ID, Category Id, and Product Name copy' - viz: DataTable { - dataset: demo_ecommerce_version_2 - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_j2f3: VizBlock { - label: 'Count of Product ID by Product Name copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_imwv: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ze2r: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_34f4: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: CombinationChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_toh9: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_14kc: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ye8r: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ld4l: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_md40: VizBlock { - label: 'Count of Product ID by Product Name copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_jvy8: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ujd5: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_y7o9: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_dj33: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_oxlo: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_88lu: VizBlock { - label: 'Count of Product ID by Product Name copy copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_tqcy: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_qlbw: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_xq5p: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_r1ih: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_dl22: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_th5m: VizBlock { - label: 'Count of Product ID by Product Name copy copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_3ez3: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_sxn0: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_95e6: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_baam: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_5glj: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_sqij: VizBlock { - label: 'Count of Product ID by Product Name copy copy' - viz: PyramidChart { - dataset: demo_ecommerce_version_2 - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_fwhk: VizBlock { - label: 'Count of Merchant Id by Month Created At and Product Name copy copy copy' - viz: PivotTable { - dataset: demo_ecommerce_version_2 - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_pnf5: VizBlock { - label: 'Count of Product ID compared with Count of Created At copy copy copy' - viz: MetricKpi { - dataset: demo_ecommerce_version_2 - value: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_kjix: VizBlock { - label: 'Sum of Cost by Month Created At and Product Name copy copy copy' - viz: AreaChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.cost) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_l9pr: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy copy' - viz: LineChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_skwk: VizBlock { - label: 'Sum of Price by Month Created At and Product Name copy copy copy' - viz: ColumnChart { - dataset: demo_ecommerce_version_2 - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - legend: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - interactions: [ - FilterInteraction { - from: 'v_i0ma' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ycpf' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_4fv0' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_rzdz' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_jdvh' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_xdx1' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_62r3' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_gb0d' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_isx8' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_6dfd' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_lt6d' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_y3wy' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_cg3l' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_bai5' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ta38' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_yn61' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_wu9m' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_5u94' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_mwu0' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_6ahf' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_nj19' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_lj6q' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_xz9l' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_98bf' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_dnd8' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_lm64' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_654e' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_dg1n' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_e1qp' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ekez' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_tpey' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_d7nd' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_r283' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_b7ob' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_nj55' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_5zma' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_843t' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_wv9m' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_0l9k' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_cxlf' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_xsuq' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_gbac' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_hm7f' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ybr9' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_hdei' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_h7to' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_h00z' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_h9db' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_imc6' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_lnjq' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_i318' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_66ds' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_le30' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_1rkv' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_agqg' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_7lt0' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_9ga9' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_nowu' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_bro7' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_yrr6' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_pxny' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_qe13' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_2nyq' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_bj9k' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_w4pw' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_cxqp' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_e3li' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_1qjt' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_fiz0' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_paj9' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_73kf' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_izhc' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_95r0' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_37pu' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_fpdh' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_dz0g' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_1gxd' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_nbq9' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_9jqs' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_y58x' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_8k8m' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_7q99' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_njzg' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_camr' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_e5r8' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_v67d' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_yv3o' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_hj34' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_xdpd' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_8pn5' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_93kd' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_5m7o' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_06fa' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_t3v1' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ok53' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_mkos' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_6gh4' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_xlxx' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_v72z' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_zxuz' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_jm6e' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_f3fn' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_scf3' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_iwhf' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_fblv' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_4740' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_0kfu' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_vgy2' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_1nco' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_oi09' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_1tc8' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ipw6' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_vl10' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_tlo7' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_88wd' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_igi2' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_4d2p' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_n3pj' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_muku' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_2yxg' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_tsgl' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ubkl' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_lb4h' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_bsa8' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ld2h' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_be87' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_a2bd' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_irke' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_w31z' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ako8' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_jw3p' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_crb3' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_y2zd' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_mq2h' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_daa5' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_rm3q' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_1vij' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_sdav' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_cui6' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_9a2p' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_71d3' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_m14b' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_j2f3' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_imwv' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ze2r' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_34f4' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_toh9' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_14kc' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ye8r' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ld4l' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_md40' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_jvy8' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ujd5' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_y7o9' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_dj33' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_oxlo' - to: [ - CustomMapping { - block: [ - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_88lu' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_tqcy' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_qlbw' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_xq5p' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_r1ih' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_dl22' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_th5m' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_3ez3' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_sxn0' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_95e6' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_baam' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_5glj' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_h7to', - 'v_h00z', - 'v_h9db', - 'v_imc6', - 'v_lnjq', - 'v_i318', - 'v_66ds', - 'v_le30', - 'v_1rkv', - 'v_agqg', - 'v_7lt0', - 'v_9ga9', - 'v_nowu', - 'v_bro7', - 'v_yrr6', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_sqij', - 'v_fwhk', - 'v_pnf5', - 'v_kjix', - 'v_l9pr', - 'v_skwk' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_sqij' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_fwhk' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_pnf5' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_kjix' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_l9pr' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_skwk' - to: [ - CustomMapping { - block: [ - 'v_i0ma', - 'v_ycpf', - 'v_4fv0', - 'v_rzdz', - 'v_jdvh', - 'v_xdx1', - 'v_62r3', - 'v_gb0d', - 'v_isx8', - 'v_6dfd', - 'v_lt6d', - 'v_y3wy', - 'v_cg3l', - 'v_bai5', - 'v_ta38', - 'v_yn61', - 'v_wu9m', - 'v_5u94', - 'v_mwu0', - 'v_6ahf', - 'v_nj19', - 'v_lj6q', - 'v_xz9l', - 'v_98bf', - 'v_dnd8', - 'v_lm64', - 'v_654e', - 'v_dg1n', - 'v_e1qp', - 'v_ekez', - 'v_tpey', - 'v_d7nd', - 'v_r283', - 'v_b7ob', - 'v_nj55', - 'v_5zma', - 'v_843t', - 'v_wv9m', - 'v_0l9k', - 'v_cxlf', - 'v_xsuq', - 'v_gbac', - 'v_hm7f', - 'v_ybr9', - 'v_hdei', - 'v_pxny', - 'v_qe13', - 'v_2nyq', - 'v_bj9k', - 'v_w4pw', - 'v_cxqp', - 'v_e3li', - 'v_1qjt', - 'v_fiz0', - 'v_paj9', - 'v_73kf', - 'v_izhc', - 'v_95r0', - 'v_37pu', - 'v_fpdh', - 'v_dz0g', - 'v_1gxd', - 'v_nbq9', - 'v_9jqs', - 'v_y58x', - 'v_8k8m', - 'v_7q99', - 'v_njzg', - 'v_camr', - 'v_e5r8', - 'v_v67d', - 'v_yv3o', - 'v_hj34', - 'v_xdpd', - 'v_8pn5', - 'v_93kd', - 'v_5m7o', - 'v_06fa', - 'v_t3v1', - 'v_ok53', - 'v_mkos', - 'v_6gh4', - 'v_xlxx', - 'v_v72z', - 'v_zxuz', - 'v_jm6e', - 'v_f3fn', - 'v_scf3', - 'v_iwhf', - 'v_fblv', - 'v_4740', - 'v_0kfu', - 'v_vgy2', - 'v_1nco', - 'v_oi09', - 'v_1tc8', - 'v_ipw6', - 'v_vl10', - 'v_tlo7', - 'v_88wd', - 'v_igi2', - 'v_4d2p', - 'v_n3pj', - 'v_muku', - 'v_2yxg', - 'v_tsgl', - 'v_ubkl', - 'v_lb4h', - 'v_bsa8', - 'v_ld2h', - 'v_be87', - 'v_a2bd', - 'v_irke', - 'v_w31z', - 'v_ako8', - 'v_jw3p', - 'v_crb3', - 'v_y2zd', - 'v_mq2h', - 'v_daa5', - 'v_rm3q', - 'v_1vij', - 'v_sdav', - 'v_cui6', - 'v_9a2p', - 'v_71d3', - 'v_m14b', - 'v_j2f3', - 'v_imwv', - 'v_ze2r', - 'v_34f4', - 'v_toh9', - 'v_14kc', - 'v_ye8r', - 'v_ld4l', - 'v_md40', - 'v_jvy8', - 'v_ujd5', - 'v_y7o9', - 'v_dj33', - 'v_oxlo', - 'v_88lu', - 'v_tqcy', - 'v_qlbw', - 'v_xq5p', - 'v_r1ih', - 'v_dl22', - 'v_th5m', - 'v_3ez3', - 'v_sxn0', - 'v_95e6', - 'v_baam', - 'v_5glj' - ] - disabled: true - } - ] - } - ] - view: TabLayout { - label: 'View 1' - tab view_1: CanvasLayout { - label: 'Tab 1' - width: 1320 - height: 2100 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - block v_4fv0 { - position: pos(940, 80, 340, 240) - } - block v_62r3 { - position: pos(20, 640, 380, 280) - } - block v_6dfd { - position: pos(20, 960, 380, 240) - } - block v_bai5 { - position: pos(940, 1240, 340, 260) - } - block v_cg3l { - position: pos(440, 1240, 440, 260) - } - block v_gb0d { - position: pos(440, 640, 440, 280) - } - block v_i0ma { - position: pos(20, 80, 380, 240) - } - block v_isx8 { - position: pos(940, 640, 340, 280) - } - block v_jdvh { - position: pos(440, 360, 440, 260) - } - block v_lt6d { - position: pos(440, 960, 440, 240) - } - block v_rzdz { - position: pos(20, 360, 380, 260) - } - block v_ta38 { - position: pos(20, 1240, 380, 260) - } - block v_xdx1 { - position: pos(940, 360, 340, 260) - } - block v_y3wy { - position: pos(940, 960, 340, 240) - } - block v_ycpf { - position: pos(440, 80, 440, 240) - } - block v_dj33 { - position: pos(940, 1800, 340, 260) - } - block v_jvy8 { - position: pos(440, 1520, 440, 240) - } - block v_md40 { - position: pos(20, 1520, 380, 240) - } - block v_oxlo { - position: pos(20, 1800, 380, 260) - } - block v_ujd5 { - position: pos(940, 1520, 340, 240) - } - block v_y7o9 { - position: pos(440, 1800, 440, 260) - } - mobile { - mode: 'auto' - } - } - tab tab_48wh: CanvasLayout { - label: 'Tab 2' - width: 1300 - height: 2120 - grid_size: 20 - auto_expand_vertically: true - block t_c252 { - position: pos(20, 20, 1260, 60) - } - block v_5u94 { - position: pos(940, 80, 340, 240) - } - block v_654e { - position: pos(940, 960, 340, 240) - } - block v_6ahf { - position: pos(440, 360, 440, 260) - } - block v_98bf { - position: pos(940, 640, 340, 280) - } - block v_dg1n { - position: pos(440, 1240, 440, 260) - } - block v_dnd8 { - position: pos(20, 960, 380, 260) - } - block v_e1qp { - position: pos(940, 1240, 340, 260) - } - block v_ekez { - position: pos(20, 1260, 380, 260) - } - block v_lj6q { - position: pos(20, 640, 380, 280) - } - block v_lm64 { - position: pos(440, 960, 440, 240) - } - block v_mwu0 { - position: pos(20, 360, 380, 260) - } - block v_nj19 { - position: pos(940, 360, 340, 260) - } - block v_wu9m { - position: pos(440, 80, 440, 240) - } - block v_xz9l { - position: pos(440, 640, 440, 280) - } - block v_yn61 { - position: pos(20, 80, 380, 240) - } - block v_88lu { - position: pos(20, 1560, 380, 240) - } - block v_dl22 { - position: pos(940, 1840, 340, 260) - } - block v_qlbw { - position: pos(940, 1560, 340, 240) - } - block v_r1ih { - position: pos(440, 1840, 440, 260) - } - block v_tqcy { - position: pos(440, 1560, 440, 240) - } - block v_xq5p { - position: pos(20, 1840, 380, 260) - } - mobile { - mode: 'auto' - } - } - tab tab_kujb: CanvasLayout { - label: 'Tab 3' - width: 1300 - height: 2120 - grid_size: 20 - auto_expand_vertically: true - block t_mnwz { - position: pos(20, 20, 1260, 60) - } - block v_0l9k { - position: pos(940, 640, 340, 280) - } - block v_5zma { - position: pos(940, 360, 340, 260) - } - block v_843t { - position: pos(20, 640, 380, 280) - } - block v_b7ob { - position: pos(20, 360, 380, 260) - } - block v_cxlf { - position: pos(20, 960, 380, 260) - } - block v_d7nd { - position: pos(440, 80, 440, 240) - } - block v_gbac { - position: pos(940, 960, 340, 240) - } - block v_hdei { - position: pos(20, 1240, 380, 260) - } - block v_hm7f { - position: pos(440, 1240, 440, 260) - } - block v_nj55 { - position: pos(440, 360, 440, 260) - } - block v_r283 { - position: pos(940, 80, 340, 240) - } - block v_tpey { - position: pos(20, 80, 380, 240) - } - block v_wv9m { - position: pos(440, 640, 440, 280) - } - block v_xsuq { - position: pos(440, 960, 440, 240) - } - block v_ybr9 { - position: pos(940, 1240, 340, 260) - } - block v_3ez3 { - position: pos(440, 1560, 440, 240) - } - block v_5glj { - position: pos(940, 1840, 340, 260) - } - block v_95e6 { - position: pos(20, 1840, 380, 260) - } - block v_baam { - position: pos(440, 1840, 440, 260) - } - block v_sxn0 { - position: pos(940, 1560, 340, 240) - } - block v_th5m { - position: pos(20, 1560, 380, 240) - } - mobile { - mode: 'auto' - } - } - tab tab_s2yk: CanvasLayout { - label: 'Tab 4' - width: 1300 - height: 2100 - grid_size: 20 - auto_expand_vertically: true - block t_6jpe { - position: pos(20, 20, 1260, 60) - } - block v_1rkv { - position: pos(940, 640, 340, 280) - } - block v_66ds { - position: pos(20, 640, 380, 280) - } - block v_7lt0 { - position: pos(440, 960, 440, 240) - } - block v_9ga9 { - position: pos(940, 960, 340, 240) - } - block v_agqg { - position: pos(20, 960, 380, 260) - } - block v_bro7 { - position: pos(940, 1240, 340, 260) - } - block v_h00z { - position: pos(440, 80, 440, 240) - } - block v_h7to { - position: pos(20, 80, 380, 240) - } - block v_h9db { - position: pos(940, 80, 340, 240) - } - block v_i318 { - position: pos(940, 360, 340, 260) - } - block v_imc6 { - position: pos(20, 360, 380, 260) - } - block v_le30 { - position: pos(440, 640, 440, 280) - } - block v_lnjq { - position: pos(440, 360, 440, 260) - } - block v_nowu { - position: pos(440, 1240, 440, 260) - } - block v_yrr6 { - position: pos(20, 1260, 380, 260) - } - block v_fwhk { - position: pos(440, 1540, 440, 240) - } - block v_kjix { - position: pos(20, 1820, 380, 260) - } - block v_l9pr { - position: pos(440, 1820, 440, 260) - } - block v_pnf5 { - position: pos(940, 1540, 340, 240) - } - block v_skwk { - position: pos(940, 1820, 340, 260) - } - block v_sqij { - position: pos(20, 1540, 380, 240) - } - mobile { - mode: 'auto' - } - } - tab tab_wggi: CanvasLayout { - label: 'Tab 5' - width: 1300 - height: 1540 - grid_size: 20 - auto_expand_vertically: true - block t_ysoe { - position: pos(20, 20, 1260, 60) - } - block v_1qjt { - position: pos(440, 640, 440, 280) - } - block v_2nyq { - position: pos(940, 80, 340, 240) - } - block v_37pu { - position: pos(940, 1240, 340, 260) - } - block v_73kf { - position: pos(440, 960, 440, 240) - } - block v_95r0 { - position: pos(440, 1240, 440, 260) - } - block v_bj9k { - position: pos(20, 360, 380, 260) - } - block v_cxqp { - position: pos(940, 360, 340, 260) - } - block v_e3li { - position: pos(20, 640, 380, 280) - } - block v_fiz0 { - position: pos(940, 640, 340, 280) - } - block v_fpdh { - position: pos(20, 1260, 380, 260) - } - block v_izhc { - position: pos(940, 960, 340, 240) - } - block v_paj9 { - position: pos(20, 960, 380, 260) - } - block v_pxny { - position: pos(20, 80, 380, 240) - } - block v_qe13 { - position: pos(440, 80, 440, 240) - } - block v_w4pw { - position: pos(440, 360, 440, 260) - } - mobile { - mode: 'auto' - } - } - tab tab_d71n: CanvasLayout { - label: 'Tab 6' - width: 1300 - height: 1540 - grid_size: 20 - auto_expand_vertically: true - block t_6x7f { - position: pos(20, 20, 1260, 60) - } - block v_1gxd { - position: pos(440, 80, 440, 240) - } - block v_7q99 { - position: pos(20, 640, 380, 280) - } - block v_8k8m { - position: pos(940, 360, 340, 260) - } - block v_8pn5 { - position: pos(20, 1260, 380, 260) - } - block v_9jqs { - position: pos(20, 360, 380, 260) - } - block v_camr { - position: pos(940, 640, 340, 280) - } - block v_dz0g { - position: pos(20, 80, 380, 240) - } - block v_e5r8 { - position: pos(20, 960, 380, 260) - } - block v_hj34 { - position: pos(440, 1240, 440, 260) - } - block v_nbq9 { - position: pos(940, 80, 340, 240) - } - block v_njzg { - position: pos(440, 640, 440, 280) - } - block v_v67d { - position: pos(440, 960, 440, 240) - } - block v_xdpd { - position: pos(940, 1240, 340, 260) - } - block v_y58x { - position: pos(440, 360, 440, 260) - } - block v_yv3o { - position: pos(940, 960, 340, 240) - } - mobile { - mode: 'auto' - } - } - tab tab_l421: CanvasLayout { - label: 'Tab 7' - width: 1300 - height: 1540 - grid_size: 20 - auto_expand_vertically: true - block t_setm { - position: pos(20, 20, 1260, 60) - } - block v_06fa { - position: pos(940, 360, 340, 260) - } - block v_5m7o { - position: pos(20, 640, 380, 280) - } - block v_6gh4 { - position: pos(20, 80, 380, 240) - } - block v_93kd { - position: pos(440, 80, 440, 240) - } - block v_f3fn { - position: pos(440, 960, 440, 240) - } - block v_fblv { - position: pos(940, 960, 340, 240) - } - block v_iwhf { - position: pos(440, 360, 440, 260) - } - block v_jm6e { - position: pos(440, 640, 440, 280) - } - block v_mkos { - position: pos(940, 640, 340, 280) - } - block v_ok53 { - position: pos(20, 360, 380, 260) - } - block v_scf3 { - position: pos(940, 1240, 340, 260) - } - block v_t3v1 { - position: pos(20, 1260, 380, 260) - } - block v_v72z { - position: pos(440, 1240, 440, 260) - } - block v_xlxx { - position: pos(20, 960, 380, 260) - } - block v_zxuz { - position: pos(940, 80, 340, 240) - } - mobile { - mode: 'auto' - } - } - tab tab_lxv4: CanvasLayout { - label: 'Tab 8' - width: 1300 - height: 1540 - grid_size: 20 - auto_expand_vertically: true - block t_5ue9 { - position: pos(20, 20, 1260, 60) - } - block v_0kfu { - position: pos(20, 640, 380, 280) - } - block v_1nco { - position: pos(20, 1260, 380, 260) - } - block v_1tc8 { - position: pos(940, 640, 340, 280) - } - block v_2yxg { - position: pos(940, 960, 340, 240) - } - block v_4740 { - position: pos(440, 80, 440, 240) - } - block v_4d2p { - position: pos(440, 960, 440, 240) - } - block v_88wd { - position: pos(940, 80, 340, 240) - } - block v_igi2 { - position: pos(440, 640, 440, 280) - } - block v_ipw6 { - position: pos(20, 80, 380, 240) - } - block v_muku { - position: pos(440, 360, 440, 260) - } - block v_n3pj { - position: pos(940, 1240, 340, 260) - } - block v_oi09 { - position: pos(20, 360, 380, 260) - } - block v_tlo7 { - position: pos(440, 1240, 440, 260) - } - block v_vgy2 { - position: pos(940, 360, 340, 260) - } - block v_vl10 { - position: pos(20, 960, 380, 260) - } - mobile { - mode: 'auto' - } - } - tab tab_syf1: CanvasLayout { - label: 'Tab 9' - width: 1300 - height: 1540 - grid_size: 20 - auto_expand_vertically: true - block t_s8mi { - position: pos(20, 20, 1260, 60) - } - block v_a2bd { - position: pos(20, 80, 380, 240) - } - block v_ako8 { - position: pos(940, 80, 340, 240) - } - block v_be87 { - position: pos(940, 640, 340, 280) - } - block v_bsa8 { - position: pos(20, 1260, 380, 260) - } - block v_crb3 { - position: pos(440, 960, 440, 240) - } - block v_daa5 { - position: pos(940, 960, 340, 240) - } - block v_irke { - position: pos(20, 960, 380, 260) - } - block v_jw3p { - position: pos(440, 640, 440, 280) - } - block v_lb4h { - position: pos(940, 360, 340, 260) - } - block v_ld2h { - position: pos(20, 360, 380, 260) - } - block v_mq2h { - position: pos(440, 360, 440, 260) - } - block v_tsgl { - position: pos(440, 80, 440, 240) - } - block v_ubkl { - position: pos(20, 640, 380, 280) - } - block v_w31z { - position: pos(440, 1240, 440, 260) - } - block v_y2zd { - position: pos(940, 1240, 340, 260) - } - mobile { - mode: 'auto' - } - } - tab tab_bsfc: CanvasLayout { - label: 'Tab 10' - width: 1300 - height: 1540 - grid_size: 20 - auto_expand_vertically: true - block t_jfgq { - position: pos(20, 20, 1260, 60) - } - block v_14kc { - position: pos(940, 1240, 340, 260) - } - block v_1vij { - position: pos(20, 640, 380, 280) - } - block v_34f4 { - position: pos(440, 640, 440, 280) - } - block v_71d3 { - position: pos(940, 640, 340, 280) - } - block v_9a2p { - position: pos(20, 360, 380, 260) - } - block v_cui6 { - position: pos(20, 1260, 380, 260) - } - block v_imwv { - position: pos(440, 1240, 440, 260) - } - block v_j2f3 { - position: pos(20, 960, 380, 260) - } - block v_ld4l { - position: pos(940, 960, 340, 240) - } - block v_m14b { - position: pos(20, 80, 380, 240) - } - block v_rm3q { - position: pos(440, 80, 440, 240) - } - block v_sdav { - position: pos(940, 360, 340, 260) - } - block v_toh9 { - position: pos(440, 960, 440, 240) - } - block v_ye8r { - position: pos(440, 360, 440, 260) - } - block v_ze2r { - position: pos(940, 80, 340, 240) - } - mobile { - mode: 'auto' - } - } - } - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/demo (specific use-case)/[Value] Reusable Dashboard Visuals.page.aml b/demo (specific use-case)/[Value] Reusable Dashboard Visuals.page.aml index 1ded068..5402992 100644 --- a/demo (specific use-case)/[Value] Reusable Dashboard Visuals.page.aml +++ b/demo (specific use-case)/[Value] Reusable Dashboard Visuals.page.aml @@ -14,7 +14,7 @@ const heightPosPieRevenue = 950 const heightPosBarRevenue = 1350 const count_orders = ref('ecommerce_orders', 'total_orders_count') -const revenue_this = ref('order_master', 'revenue') +const revenue = ref('order_master', 'revenue') Func get_bar(metric: FieldRef, country: String, y_axis_label: String) { @@ -206,17 +206,17 @@ Dashboard demo_func_ecommerce { block v9: get_bar(count_orders, 'India', '# of Orders') block v10: get_bar(count_orders, 'Singapore', '# of Orders') - block v11: get_pie(revenue_this, 'Vietnam') - block v12: get_pie(revenue_this, 'Germany') - block v13: get_pie(revenue_this, 'France') - block v14: get_pie(revenue_this, 'India') - block v15: get_pie(revenue_this, 'Singapore') + block v11: get_pie(revenue, 'Vietnam') + block v12: get_pie(revenue, 'Germany') + block v13: get_pie(revenue, 'France') + block v14: get_pie(revenue, 'India') + block v15: get_pie(revenue, 'Singapore') - block v16: get_bar(revenue_this, 'Vietnam', 'Revenue $') - block v17: get_bar(revenue_this, 'Germany', 'Revenue $') - block v18: get_bar(revenue_this, 'France', 'Revenue $') - block v19: get_bar(revenue_this, 'India', 'Revenue $') - block v20: get_bar(revenue_this, 'Singapore', 'Revenue $') + block v16: get_bar(revenue, 'Vietnam', 'Revenue $') + block v17: get_bar(revenue, 'Germany', 'Revenue $') + block v18: get_bar(revenue, 'France', 'Revenue $') + block v19: get_bar(revenue, 'India', 'Revenue $') + block v20: get_bar(revenue, 'Singapore', 'Revenue $') settings { timezone: 'America/Los_Angeles' cache_duration: 1440 diff --git a/demo ecommerce/dashboards/[Demo] Ecommerce Overview - Funky.page.aml b/demo ecommerce/dashboards/[Demo] Ecommerce Overview - Funky.page.aml index 3579407..6c84363 100644 --- a/demo ecommerce/dashboards/[Demo] Ecommerce Overview - Funky.page.aml +++ b/demo ecommerce/dashboards/[Demo] Ecommerce Overview - Funky.page.aml @@ -1,5 +1,19 @@ Dashboard demo_ecommerce_overview_funky { title: '[Demo] Ecommerce Overview - Funky' + + + block user_country: FilterBlock { + label: 'Country' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: ref('ecommerce_countries', 'name') + } + default { + operator: 'is' + value: [] + } + } block user_gender: FilterBlock { label: 'User Gender' type: 'field' @@ -24,7 +38,9 @@ Dashboard demo_ecommerce_overview_funky { value: [] } } + block v123: age_demographic + block v1: VizBlock { label: 'GMV' viz: MetricKpi { @@ -675,13 +691,52 @@ display: block; content: @md

Regional Analysis

;; } interactions: [ + FilterInteraction { + from: 'user_country' + to: [ + CustomMapping { + block: [ + 'v1', + 'v10' + ] + disabled: true + }, + CustomMapping { + block: 'v3' + field: ref('ecommerce_countries', 'name') + } + ] + }, + FilterInteraction { + from: 'user_country' + to: [ + CustomMapping { + block: [ + 'user_gender', + 'age_demographic' + ] + disabled: true + } + ] + }, FilterInteraction { from: 'user_gender' to: [ CustomMapping { block: [ 'v7', - 'v8', + 'v8' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'user_gender' + to: [ + CustomMapping { + block: [ + 'user_country', 'age_demographic' ] disabled: true @@ -694,8 +749,7 @@ display: block; CustomMapping { block: [ 'v7', - 'v8', - 'user_gender' + 'v8' ] disabled: true }, @@ -704,6 +758,18 @@ display: block; field: ref('ecommerce_users', 'age_group') } ] + }, + FilterInteraction { + from: 'age_demographic' + to: [ + CustomMapping { + block: [ + 'user_country', + 'user_gender' + ] + disabled: true + } + ] } ] view: CanvasLayout { @@ -793,6 +859,10 @@ display: block; position: pos(640, 30, 270, 100) layer: 1 } + block user_country { + position: pos(20, 800, 520, 100) + layer: 1 + } block age_demographic { position: pos(920, 30, 280, 100) layer: 1 diff --git a/demo ecommerce/dashboards/demo_dashboard_2025.page.aml b/demo ecommerce/dashboards/demo_dashboard_2025.page.aml index 7e79576..fee8ea3 100644 --- a/demo ecommerce/dashboards/demo_dashboard_2025.page.aml +++ b/demo ecommerce/dashboards/demo_dashboard_2025.page.aml @@ -1151,6 +1151,51 @@ Use the **[Drill Down]** or **[View Underlying Data]** features to explore break } } } + block v57: VizBlock { + label: 'Any Metrics by Product Category' + viz: BarChart { + dataset: demo_ecommerce_version_2 + theme { + + } + x_axis: VizFieldFull { + ref: ref('map_categories', 'parent_category') + format { + type: 'text' + } + } + legend: VizFieldFull { + ref: ref('map_categories', 'category') + format { + type: 'text' + } + } + y_axis { + settings { + show_data_label_by: 'value' + stack_series_by: 'value' + } + series { + field: VizFieldFull { + ref: 'dynamic_metric_currency' + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + settings { + row_limit: 5000 + legend_label: 'hidden' + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } block v58: VizBlock { label: 'Cohort Report by Product' viz: RetentionHeatmap { @@ -1657,6 +1702,10 @@ Uncover trends by comparing current performance against a previous period. position: pos(40, 1760, 1100, 580) layer: 13 } + block v57 { + position: pos(360, 540, 800, 340) + layer: 3 + } block v58 { position: pos(40, 1280, 1100, 460) layer: 6 @@ -1758,6 +1807,241 @@ Uncover trends by comparing current performance against a previous period. } } interactions: [ + FilterInteraction { + from: 'v20' + to: [ + CustomMapping { + block: [ + 'v34', + 'v37', + 'v43', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v21' + to: [ + CustomMapping { + block: [ + 'v34', + 'v37', + 'v43', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v22' + to: [ + CustomMapping { + block: [ + 'v34', + 'v37', + 'v43', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v25' + to: [ + CustomMapping { + block: [ + 'v34', + 'v37', + 'v43', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v27' + to: [ + CustomMapping { + block: [ + 'v34', + 'v37', + 'v43', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v28' + to: [ + CustomMapping { + block: [ + 'v34', + 'v37', + 'v43', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v29' + to: [ + CustomMapping { + block: [ + 'v34', + 'v37', + 'v43', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v30' + to: [ + CustomMapping { + block: [ + 'v34', + 'v37', + 'v43', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v31' + to: [ + CustomMapping { + block: [ + 'v34', + 'v37', + 'v43', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v34' + to: [ + CustomMapping { + block: [ + 'v20', + 'v21', + 'v22', + 'v25', + 'v27', + 'v28', + 'v29', + 'v30', + 'v31', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v37' + to: [ + CustomMapping { + block: [ + 'v20', + 'v21', + 'v22', + 'v25', + 'v27', + 'v28', + 'v29', + 'v30', + 'v31', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f2' + to: [ + CustomMapping { + block: [ + 'v20', + 'v21', + 'v22', + 'v25', + 'v27', + 'v28', + 'v29', + 'v30', + 'v31', + 'v34', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, FilterInteraction { from: 'f2' to: [ @@ -1771,6 +2055,56 @@ Uncover trends by comparing current performance against a previous period. } ] }, + FilterInteraction { + from: 'v43' + to: [ + CustomMapping { + block: [ + 'v20', + 'v21', + 'v22', + 'v25', + 'v27', + 'v28', + 'v29', + 'v30', + 'v31', + 'v44', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f4' + to: [ + CustomMapping { + block: [ + 'v20', + 'v21', + 'v22', + 'v25', + 'v27', + 'v28', + 'v29', + 'v30', + 'v31', + 'v34', + 'v37', + 'v43', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, FilterInteraction { from: 'f4' to: [ @@ -1784,6 +2118,119 @@ Uncover trends by comparing current performance against a previous period. } ] }, + FilterInteraction { + from: 'v44' + to: [ + CustomMapping { + block: [ + 'v20', + 'v21', + 'v22', + 'v25', + 'v27', + 'v28', + 'v29', + 'v30', + 'v31', + 'v34', + 'v37', + 'v43', + 'v52', + 'v53', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v52a' + to: [ + CustomMapping { + block: [ + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v53a' + to: [ + CustomMapping { + block: [ + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v52' + to: [ + CustomMapping { + block: [ + 'v20', + 'v21', + 'v22', + 'v25', + 'v27', + 'v28', + 'v29', + 'v30', + 'v31', + 'v34', + 'v37', + 'v43', + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v53' + to: [ + CustomMapping { + block: [ + 'v57', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v57' + to: [ + CustomMapping { + block: [ + 'v20', + 'v21', + 'v22', + 'v25', + 'v27', + 'v28', + 'v29', + 'v30', + 'v31', + 'v34', + 'v37', + 'v43', + 'v44', + 'v52a', + 'v53a', + 'v52', + 'v53' + ] + disabled: true + } + ] + }, FilterInteraction { from: 'v58' to: [ @@ -1833,7 +2280,17 @@ Uncover trends by comparing current performance against a previous period. 'v53a', 'v52', 'v53', - 'v58', + 'v58' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f10' + to: [ + CustomMapping { + block: [ 'f2', 'f4', 'f11', @@ -1843,6 +2300,34 @@ Uncover trends by comparing current performance against a previous period. } ] }, + FilterInteraction { + from: 'f11' + to: [ + CustomMapping { + block: [ + 'v20', + 'v21', + 'v22', + 'v25', + 'v27', + 'v28', + 'v29', + 'v30', + 'v31', + 'v34', + 'v37', + 'v43', + 'v44', + 'v52a', + 'v53a', + 'v52', + 'v53', + 'v57' + ] + disabled: true + } + ] + }, FilterInteraction { from: 'f11' to: [ @@ -1857,6 +2342,34 @@ Uncover trends by comparing current performance against a previous period. } ] }, + FilterInteraction { + from: 'f12' + to: [ + CustomMapping { + block: [ + 'v20', + 'v21', + 'v22', + 'v25', + 'v27', + 'v28', + 'v29', + 'v30', + 'v31', + 'v34', + 'v37', + 'v43', + 'v44', + 'v52a', + 'v53a', + 'v52', + 'v53', + 'v57' + ] + disabled: true + } + ] + }, FilterInteraction { from: 'f12' to: [ @@ -1876,7 +2389,7 @@ Uncover trends by comparing current performance against a previous period. to: [ CustomMapping { block: 'v37' - field: r(ecommerce_users.sign_up_at) + field: ref('ecommerce_users', 'sign_up_at') } ] }, @@ -1889,7 +2402,20 @@ Uncover trends by comparing current performance against a previous period. 'v52a', 'v53' ] - field: r(ecommerce_orders.created_at) + field: ref('ecommerce_orders', 'created_at') + } + ] + }, + FilterInteraction { + from: 'f9' + to: [ + CustomMapping { + block: 'v58' + field: ref('ecommerce_users', 'cohort_month') + }, + CustomMapping { + block: 'v57' + field: ref('ecommerce_orders', 'created_at') } ] } diff --git a/demo ecommerce/dashboards/drill_dashboards/_3_customer_demographics.page.aml b/demo ecommerce/dashboards/drill_dashboards/_3_customer_demographics.page.aml index cad5b98..3c6bf53 100644 --- a/demo ecommerce/dashboards/drill_dashboards/_3_customer_demographics.page.aml +++ b/demo ecommerce/dashboards/drill_dashboards/_3_customer_demographics.page.aml @@ -5,11 +5,11 @@ Dashboard _3_customer_demographics { type: 'field' source: FieldFilterSource { dataset: demo_ecommerce - field: r(ecommerce_cities.name) + field: ref('ecommerce_cities', 'name') } default { operator: 'is' - value: 'Berlin' + value: [] } settings { drillthrough: Drillthrough { @@ -47,11 +47,11 @@ Dashboard _3_customer_demographics { type: 'field' source: FieldFilterSource { dataset: demo_ecommerce - field: r(ecommerce_countries.name) + field: ref('ecommerce_countries', 'name') } default { operator: 'is' - value: 'Australia' + value: [] } settings { drillthrough: Drillthrough { diff --git a/demo ecommerce/dashboards/embed_demo_sales.page.aml b/demo ecommerce/dashboards/embed_demo_sales.page.aml index a9e481d..0dc63a6 100644 --- a/demo ecommerce/dashboards/embed_demo_sales.page.aml +++ b/demo ecommerce/dashboards/embed_demo_sales.page.aml @@ -134,7 +134,7 @@ Dashboard embed_demo_landing_page_2 { pattern: 'inherited' } } - + ] settings { show_row_number: true @@ -261,23 +261,52 @@ ecommerce_users.sign_up_date calc_type: 'measure' data_type: 'number' } - filter { - field: r(order_master.last_order_value) - operator: 'is' - value: '1' + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'sign_up_date') + transformation: 'datetrunc quarter' + format { + type: 'date' + } } - settings { - x_axis_show_null_datetime: true - pop { - field: r(ecommerce_users.sign_up_date) - value: RelativePopValue { - duration: 3 - granularity: 'month' + y_axis { + series { + mark_type: 'column' + field { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#005A32FF' } } - aggregate_awareness { - enabled: true - debug_comments: true + } + y_axis { + settings { + alignment: 'right' + } + series { + mark_type: 'line' + field { + ref: 'f_3f16a1c' + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#41ab5d' + line_interpolation: 'smooth' + } + } + } + settings { + pop { + field: ref('ecommerce_users', 'sign_up_date') + duration: 3 + granularity: 'month' } } } @@ -396,7 +425,7 @@ ecommerce_users.sign_up_date type: 'field' source: FieldFilterSource { dataset: demo_ecommerce - field: r(ecommerce_products.name) + field: ref('ecommerce_products', 'name') } default { operator: 'is' @@ -404,7 +433,7 @@ ecommerce_users.sign_up_date } settings { drillthrough: Drillthrough { - enabled: false + enabled: true sources: [ AutoDrillthroughSource { } @@ -541,22 +570,10 @@ ecommerce_users.sign_up_date granularity: 'year' } } - block f_order_master_last_order_value: FilterBlock { - label: 'Order Master Last Order Value' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce - field: r(order_master.last_order_value) - } - default { - operator: 'is' - value: [] - } - } view: CanvasLayout { label: 'View 1' width: 1420 - height: 1520 + height: 1530 block f1 { position: pos(-320, 10, 300, 80) } @@ -570,22 +587,22 @@ ecommerce_users.sign_up_date position: pos(-20, 100, 1480, 20) } block t2 { - position: pos(750, 330, 650, 40) + position: pos(750, 340, 650, 40) } block t5 { position: pos(30, 10, 170, 90) } block t9 { - position: pos(40, 330, 650, 40) + position: pos(40, 340, 650, 40) } block v1 { position: pos(360, 20, 360, 60) } block v2 { - position: pos(750, 770, 650, 240) + position: pos(750, 780, 650, 240) } block v3 { - position: pos(40, 770, 650, 240) + position: pos(40, 780, 650, 240) } block v4 { position: pos(40, 140, 240, 140) @@ -600,7 +617,7 @@ ecommerce_users.sign_up_date position: pos(1160, 140, 240, 140) } block v8 { - position: pos(40, 380, 650, 370) + position: pos(40, 390, 650, 370) } block t10 { position: pos(300, 120, 10, 180) @@ -616,24 +633,24 @@ ecommerce_users.sign_up_date position: pos(1140, 120, 10, 180) } block t14 { - position: pos(20, 310, 690, 720) + position: pos(20, 320, 690, 720) layer: -2 } block t15 { - position: pos(730, 310, 690, 720) + position: pos(730, 320, 690, 720) layer: -2 } block v11 { - position: pos(750, 380, 650, 370) + position: pos(750, 390, 650, 370) } block v12 { position: pos(320, 140, 240, 140) } block v13 { - position: pos(730, 1040, 680, 450) + position: pos(730, 1050, 680, 450) } block v14 { - position: pos(10, 1040, 700, 450) + position: pos(10, 1050, 700, 450) } block box1 { position: pos(20, 120, 1400, 180) @@ -643,45 +660,18 @@ ecommerce_users.sign_up_date position: pos(230, 30, 10, 40) } block d1 { - position: pos(520, 320, 170, 100) + position: pos(520, 330, 170, 100) } block p1 { - position: pos(1190, 320, 210, 80) - } - block f_order_master_last_order_value { - position: pos(400, 580, 300, 80) + position: pos(1190, 330, 210, 80) } } interactions: [ - FilterInteraction { - from: 'f1' - to: [ - CustomMapping { - block: 'f_order_master_last_order_value' - disabled: true - } - ] - }, FilterInteraction { from: 'f3' to: [ CustomMapping { - block: [ - 'f1', - 'f_order_master_last_order_value' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_order_master_last_order_value' - to: [ - CustomMapping { - block: [ - 'f1', - 'f3' - ] + block: 'f1' disabled: true } ] @@ -696,7 +686,7 @@ ecommerce_users.sign_up_date 'v8', 'v12' ] - field: r(ecommerce_users.sign_up_date) + field: ref('ecommerce_users', 'sign_up_date') }, CustomMapping { block: [ @@ -704,11 +694,11 @@ ecommerce_users.sign_up_date 'v6', 'v7' ] - field: r(order_master.order_created_at) + field: ref('order_master', 'order_created_at') }, CustomMapping { block: 'v11' - field: r(dim_dates.date_key) + field: ref('dim_dates', 'date_key') } ] }, @@ -717,11 +707,11 @@ ecommerce_users.sign_up_date to: [ CustomMapping { block: 'v8' - field: r(ecommerce_users.sign_up_date) + field: ref('ecommerce_users', 'sign_up_date') }, CustomMapping { block: 'v11' - field: r(dim_dates.date_key) + field: ref('dim_dates', 'date_key') } ] }, @@ -730,11 +720,11 @@ ecommerce_users.sign_up_date to: [ CustomMapping { block: 'v11' - field: r(dim_dates.date_key) + field: ref('dim_dates', 'date_key') }, CustomMapping { block: 'v8' - field: r(ecommerce_users.sign_up_date) + field: ref('ecommerce_users', 'sign_up_date') } ] } diff --git a/demo ecommerce/datasets/demo_ecommerce.dataset.aml b/demo ecommerce/datasets/demo_ecommerce.dataset.aml index 81072e4..d2df59c 100644 --- a/demo ecommerce/datasets/demo_ecommerce.dataset.aml +++ b/demo ecommerce/datasets/demo_ecommerce.dataset.aml @@ -254,24 +254,22 @@ pre_aggregates: { label: "Total Orders" type: "number" hidden: false - description: "Total number of order after `01-2025`" + description: "" definition: @aql count(ecommerce_orders.id);; - format: "#,###" } metric total_orders_across_all { label: "Total Orders Across All" type: "number" hidden: false - description: "Counts the total number of orders across all records in the ecommerce_orders table, ignoring any grouping or filtering by dimensions" + description: "" definition: @aql count(ecommerce_orders.id) | of_all(ecommerce_orders);; } metric percent_of_total { label: "Percent Of Total" type: "number" hidden: false - description: "Calculates the percentage of total orders represented by the current context, by dividing the total number of orders by the total number of orders across all records" + description: "" definition: @aql total_orders * 1.0 / total_orders_across_all;; - format: "#,###0.0\%" } // metric abc { // label: "Abc" @@ -291,38 +289,27 @@ pre_aggregates: { label: "Running Total" type: "number" hidden: false - description: "Calculates the cumulative sum of total orders over time, grouped by year based on the ecommerce_orders.created_at field." + description: "" definition: @aql running_total(total_orders, ecommerce_orders.created_at | year());; } metric dynamic_metric { label: 'Dynamic Metric' type: 'number' - description: "Depending on the selection, this metric outputs total users, total products, total orders, percent of total, average order value, or revenue" definition: @aql case( when: 'total users' in param_model_nam.metric_selections , then: ecommerce_users.total_users - , when: 'total products' in param_model_nam.metric_selections - , then: ecommerce_products.total_products - , when: 'total orders' in param_model_nam.metric_selections , then: total_orders - , when: 'pot' in param_model_nam.metric_selections - , then: percent_of_total - - , when: 'aov' in param_model_nam.metric_selections - , then: order_master.aov - - , when: 'revenue' in param_model_nam.metric_selections - , then: order_master.revenue + , when: 'total products' in param_model_nam.metric_selections + , then: ecommerce_products.total_products ) ;; } - dimension breakdown_dim { label: 'Dynamic Breakdown Dimension' type: 'text' diff --git a/demo ecommerce/datasets/demo_ecommerce_version_2.dataset.aml b/demo ecommerce/datasets/demo_ecommerce_version_2.dataset.aml index 644182b..070a1be 100644 --- a/demo ecommerce/datasets/demo_ecommerce_version_2.dataset.aml +++ b/demo ecommerce/datasets/demo_ecommerce_version_2.dataset.aml @@ -1,110 +1,363 @@ -@tag('1️⃣ Trust/Endorsed') - -const orders_detail = [ - r(ecommerce_orders.id), - r(ecommerce_orders.status), - r(ecommerce_orders.created_at), - r(ecommerce_orders.discount), - r(ecommerce_orders.delivery_attempts), -] - -const users_detail = [ - r(ecommerce_users.id), - r(ecommerce_users.full_name), - r(ecommerce_users.gender), - r(ecommerce_users.email), - r(ecommerce_cities.name), -] - -const products_detail = [ - r(ecommerce_products.id), - r(ecommerce_products.name), - r(ecommerce_products.price), -] - - -Dataset demo_ecommerce_version_2 = demo_ecommerce_version_base -.extend(volumn_metric) -.extend(users_metric) -.extend(revenue_metrics) -.extend(order_value_metric) -.extend({ - context { - analysis { - underlying_data { - metric total_orders { - view order_records { - label: 'Order records' - fields: orders_detail - } - - view user_records { - label: 'User records' - fields: users_detail - } - - view product_records { - label: 'Product records' - fields: products_detail - } - } - - metric gmv { - view order_records { - label: 'Order records' - fields: orders_detail - } - - view user_records { - label: 'User records' - fields: users_detail - } - } - - metric aov { - view order_value_details { - label: 'Order value details' - fields: [ - r(ecommerce_order_items.order_id), - r(ecommerce_order_items.product_id), - r(ecommerce_order_items.quantity), - r(ecommerce_products.price), - ] - } - - view aov_by_users { - label: 'AOV by users' - fields: users_detail - } - } - } - - breakdown { - group locations { - label: 'Locations' - fields: [ - r(ecommerce_countries.continent_name), - r(ecommerce_countries.name), - r(ecommerce_cities.name), - ] - } - - group product_categories { - label: 'Product categories' - fields: [ - r(map_categories.category), - r(ecommerce_products.name), - ] - } - - group user_demographics { - label: 'User demographics' - fields: [ - r(ecommerce_users.gender), - r(ecommerce_users.age), - ] - } - } - } - } -}) \ No newline at end of file +Dataset demo_ecommerce_version_2 { + label: '[Demo] Ecommerce Official (2025)' + description: 'New dataset starting 2025' + data_source_name: 'demodb' + models: [ + ecommerce_products, + ecommerce_merchants, + ecommerce_countries, + ecommerce_orders, + ecommerce_users, + ecommerce_order_items, + ecommerce_cities, + map_categories, + param_model_demo, + dim_dates, + ecommerce_product_images + ] + relationships: [ + relationship(ecommerce_order_items.order_id > ecommerce_orders.id, true), + relationship(ecommerce_orders.user_id > ecommerce_users.id, true), + relationship(ecommerce_users.city_id > ecommerce_cities.id, true), + relationship(ecommerce_cities.country_code > ecommerce_countries.code, true), + relationship(ecommerce_order_items.product_id > ecommerce_products.id, true), + relationship(ecommerce_products.id - ecommerce_product_images.product_id, true), + relationship(ecommerce_products.merchant_id > ecommerce_merchants.id, true), + relationship(ecommerce_products_map_categories, true), + relationship(ecommerce_orders_dim_dates, true), + ] + + dimension cohort_month { + model: ecommerce_users + label: "Cohort Month" + type: 'date' + definition: @aql min(ecommerce_orders.created_at | month()) | dimensionalize(ecommerce_users.id);; + } + + dimension month_number { + model: ecommerce_orders + label: 'Month Number' + type: 'number' + definition: @aql date_diff('month', ecommerce_users.cohort_month, (ecommerce_orders.created_at | month())) ;; + } + + dimension cohort_size { + model: ecommerce_orders + label: 'Cohort Size' + type: 'number' + definition: @aql count_distinct(order_master.user_id) | exact_grains(order_master.cohort_month) ;; + } + + dimension total_orders_all_time { + model: ecommerce_users + label: 'Total Orders (Users)' + type: 'number' + definition: @aql total_orders | dimensionalize(ecommerce_users.id);; + } + + dimension is_buyer { + model: ecommerce_users + label: 'Is Buyer' + type: 'truefalse' + definition: @aql ecommerce_users.total_orders_all_time > 0;; + } + + dimension is_repeated_buyer { + model: ecommerce_users + label: 'Is Repeated Buyer' + type: 'truefalse' + definition: @aql ecommerce_users.total_orders_all_time > 1;; + } + + dimension product_performance_analysis { + model: ecommerce_products + label: 'Product Performance Analysis' + type: 'text' + definition: @aql concat( + 'https://claude.ai/new?q=write+an_analysis+for+', + ecommerce_products.name, + '.+The+GMV+for+this+product+is+', + cast(gmv, 'text'), + '+and+the+AOV+for+this+product+is+', + cast(aov, 'text'), + ) + ;; + } + + dimension product_image { + model: ecommerce_product_images + label: 'Product Image' + type: 'text' + definition: @aql concat('') ;; + } + + dimension breakdown_dim { + label: 'Dynamic Breakdown Dimension' + description: 'The dimension will be automatically switched among Country, Age Group, Order Status. By default, it will be Country' + type: 'text' + model: ecommerce_orders + definition: @aql case( + when: 'Country Names' in param_model_demo.dim_selections + , then: ecommerce_countries.name + + , when: 'Age Demographic' in param_model_demo.dim_selections + , then: ecommerce_users.age_group + + , when: 'Order Status' in param_model_demo.dim_selections + , then: ecommerce_orders.status + + , else: ecommerce_countries.name + ) ;; + } + + metric total_users { + label: 'Total Users' + type: 'number' + description: "Total number of users" + definition: @aql count(ecommerce_users.id) ;; + } + + metric total_orders { + label: "Total Orders" + type: "number" + hidden: false + description: "" + definition: @aql count(ecommerce_orders.id);; + } + + metric gmv { + label: "GMV - Gross Merchandise Value" + type: "number" + hidden: false + description: "GMV - Gross Merchandise Value: Total value of all orders before discount." + definition: @aql ecommerce_order_items | sum(ecommerce_order_items.quantity * ecommerce_products.price);; + format: "[\$\$]#,###0" + } + + metric total_discount { + label: "Total Discount" + type: "number" + hidden: false + description: "Total Discount: Total discount value of all orders." + definition: @aql gmv - revenue;; + format: "[\$\$]#,###0" + } + + metric nmv { + label: "NMV - Net Merchandise Value (Post-Discount & Fulfillment)" + type: "number" + hidden: false + description: "Fulfilled order value after discount. Excludes cancelled/refunded orders.\n\nRepresents the total paid value of fulfilled orders, excluding cancelled and refunded orders, and adjusted for any discounts applied.\n\nThis reflects what customers actually paid for successfully completed transactions, and serves as the revenue base before applying commission." + definition: @aql (ecommerce_order_items | sum(ecommerce_order_items.quantity * ecommerce_products.price * (1 - ecommerce_orders.discount))) | where(ecommerce_orders.status not in ['cancelled', 'refunded']);; + format: "[\$\$]#,###0" + } + + metric revenue { + label: "Total Revenue (Platform)" + type: "number" + hidden: false + description: "Represents the total revenue earned by the platform based on fulfilled order value (NMV), multiplied by a commission rate.\nAs of May 2025, this demo assumes a 50% commission margin.\nFormula: revenue = NMV × revenue_commission" + definition: @aql nmv * revenue_commission;; + format: "[\$\$]#,###0" + } + + metric aov { + label: "AOV - Average Order Value" + type: "number" + description: "AOV - Average Order Value: Average value per order (GMV / number of orders)." + hidden: false + definition: @aql gmv / total_orders;; + format: "[\$\$]#,###0" + } + + metric total_orders_across_all { + label: "Total Orders Across All" + type: "number" + hidden: false + description: "" + definition: @aql total_orders | of_all(ecommerce_orders);; + } + + metric percent_of_total { + label: "Percent Of Total Orders" + type: "number" + hidden: false + description: "" + definition: @aql total_orders * 1.0 / total_orders_across_all;; + format: "#,###0.00%" + } + + metric total_delivered_orders { + label: "Total Delivered Orders" + type: "number" + hidden: false + description: "" + definition: @aql total_orders | where(ecommerce_orders.status is 'delivered');; + } + + metric total_refunded_orders { + label: "Total Refunded Orders" + type: "number" + hidden: false + description: "" + definition: @aql total_orders | where(ecommerce_orders.status is 'refunded');; + } + + metric total_cancelled_orders { + label: "Total Cancelled Orders" + type: "number" + hidden: false + description: "" + definition: @aql total_orders | where(ecommerce_orders.status is 'cancelled');; + } + + metric cancelled_orders_ratio { + label: "Cancelled Order Ratio" + type: "number" + hidden: false + description: "Percentage of orders that were cancelled - Total number of cancelled orders/Total numbers of orders" + definition: @aql total_cancelled_orders / total_orders;; + format: "#,###0.00%" + } + + metric cancelled_value { + label: "Cancelled Value" + type: "number" + hidden: false + description: "Total Value of Cancelled Orders" + definition: @aql gmv | where(ecommerce_orders.status is 'cancelled');; + format: "[\$\$]#,###0" + } + + metric cancelled_value_ratio { + label: "Cancelled Value Ratio" + type: "number" + hidden: false + description: "Percentage of order values that were cancelled - Total value of cancelled orders/Total revenue" + definition: @aql cancelled_value / gmv;; + format: "#,###0.00%" + } + + metric delivered_value { + label: "Delivered Value" + type: "number" + hidden: false + description: "Total Value of Delivered Orders" + definition: @aql gmv | where(ecommerce_orders.status is 'delivered');; + format: "[\$\$]#,###0" + } + + metric refunded_value { + label: "Refunded Value" + type: "number" + hidden: false + description: "Total Value of Refunded Orders" + definition: @aql gmv | where(ecommerce_orders.status is 'refunded');; + format: "[\$\$]#,###0" + } + + + metric retention { + label: 'Cohort Retention' + type: 'number' + definition: @aql (total_users * 1.0) / (total_users | of_all(ecommerce_orders.month_number)) ;; + format: "#,###0.00%" + } + + metric total_buyers { + label: "Total Buyers" + type: "number" + hidden: false + description: "" + definition: @aql count(ecommerce_users.id) | where(ecommerce_users.is_buyer is true);; + } + + metric total_repeated_buyers { + label: "Total Repeated Buyers" + type: "number" + hidden: false + description: "" + definition: @aql count(ecommerce_users.id) | where(ecommerce_users.is_repeated_buyer is true);; + } + + + metric running_total { + label: "Running Total Orders" + type: "number" + hidden: false + description: "" + definition: @aql running_total(total_orders, ecommerce_orders.created_at | year());; + } + + metric dynamic_metric { + label: 'Dynamic Metric (no format)' + type: 'number' + description: 'This dynamic metric doesnt take the format into considering, theyre all in their raw form' + definition: @aql + case( + + when: 'total users' in param_model_demo.metric_selections + , then: ecommerce_users.total_users + + , when: 'total orders' in param_model_demo.metric_selections + , then: total_orders + + , when: 'platform revenue' in param_model_demo.metric_selections + , then: revenue + + , when: 'GMV' in param_model_demo.metric_selections + , then: gmv + + , when: 'NMV' in param_model_demo.metric_selections + , then: nmv + + , when: 'AOV' in param_model_demo.metric_selections + , then: aov + + ) + ;; + } + + metric dynamic_metric_currency { + label: 'Dynamic Metric (Currency)' + type: 'number' + description: 'Only contains list of metrics with currency (Revenue, GMV, NMV, AOV)' + definition: @aql + case( + when: 'platform revenue' in param_model_demo.metric_selections_currency + , then: revenue + + , when: 'GMV' in param_model_demo.metric_selections_currency + , then: gmv + + , when: 'NMV' in param_model_demo.metric_selections_currency + , then: nmv + + , when: 'AOV' in param_model_demo.metric_selections_currency + , then: aov + + ) + ;; + format: "[\$\$]#,###0" + } + + metric revenue_commission { + label: "Revenue Commission Rate (Demo from May 2025)" + type: "number" + hidden: false + description: "Commission margin (%) our platform earns on NMV transactions. Set to 50% as of May 2025 for demonstration purposes. Used in revenue calculation: revenue = NMV × commission_rate." + definition: @aql 0.5;; + format: "#,###%" + } + + metric running_total_orders { + label: "Running Total Orders" + type: "number" + hidden: false + description: "Cumulative total of orders over time, aggregated by year to show growth trends." + definition: @aql running_total(total_orders, ecommerce_orders.created_at | year());; + } + + + owner: 'vincent@holistics.io' +} \ No newline at end of file diff --git a/demo ecommerce/datasets/demo_ecommerce_version_base.dataset.aml b/demo ecommerce/datasets/demo_ecommerce_version_base.dataset.aml deleted file mode 100644 index b51c0f0..0000000 --- a/demo ecommerce/datasets/demo_ecommerce_version_base.dataset.aml +++ /dev/null @@ -1,134 +0,0 @@ -Dataset demo_ecommerce_version_base { - label: '[Demo] Ecommerce (Base)' - description: 'New dataset base' - data_source_name: 'demodb' - models: [ - ecommerce_products, - ecommerce_merchants, - ecommerce_countries, - ecommerce_orders, - ecommerce_users, - ecommerce_order_items, - ecommerce_cities, - map_categories, - param_model_demo, - dim_dates - ] - relationships: [ - relationship(ecommerce_order_items.order_id > ecommerce_orders.id, true), - relationship(ecommerce_orders.user_id > ecommerce_users.id, true), - relationship(ecommerce_users.city_id > ecommerce_cities.id, true), - relationship(ecommerce_cities.country_code > ecommerce_countries.code, true), - relationship(ecommerce_order_items.product_id > ecommerce_products.id, true), - // relationship(ecommerce_products.id - ecommerce_product_images.product_id, true), - relationship(ecommerce_products.merchant_id > ecommerce_merchants.id, true), - relationship(ecommerce_products_map_categories, true), - relationship(ecommerce_orders_dim_dates, true), - relationship(ecommerce_users.sign_up_date > dim_dates.date_key, false) - , - relationship(ecommerce_merchants.city_id > ecommerce_cities.id, false) - ] - - permission vendor_access { - field: ref('ecommerce_merchants', 'id') - operator: 'matches_user_attribute' - value: 'vendor_id' - } - - permission country_access { - field: ref('ecommerce_countries', 'code') - operator: 'matches_user_attribute' - value: 'country' - } - - permission city_access { - field: ref('ecommerce_cities', 'name') - operator: 'matches_user_attribute' - value: 'city' - } - - dimension cohort_month { - model: ecommerce_users - label: "Cohort Month" - type: 'date' - definition: @aql min(ecommerce_orders.created_at | month()) | dimensionalize(ecommerce_users.id);; - } - - dimension month_number { - model: ecommerce_orders - label: 'Month Number' - type: 'number' - definition: @aql date_diff('month', ecommerce_users.cohort_month, (ecommerce_orders.created_at | month())) ;; - } - - dimension cohort_size { - model: ecommerce_orders - label: 'Cohort Size' - type: 'number' - definition: @aql count_distinct(ecommerce_orders.user_id) | exact_grains(ecommerce_users.cohort_month) ;; - } - - dimension total_orders_all_time { - model: ecommerce_users - label: 'Total Orders (Users)' - type: 'number' - definition: @aql total_orders | dimensionalize(ecommerce_users.id);; - } - - dimension is_buyer { - model: ecommerce_users - label: 'Is Buyer' - type: 'truefalse' - definition: @aql ecommerce_users.total_orders_all_time > 0;; - } - - dimension is_repeated_buyer { - model: ecommerce_users - label: 'Is Repeated Buyer' - type: 'truefalse' - definition: @aql ecommerce_users.total_orders_all_time > 1;; - } - - dimension product_performance_analysis { - model: ecommerce_products - label: 'Product Performance Analysis' - type: 'text' - definition: @aql concat( - 'https://claude.ai/new?q=write+an_analysis+for+', - ecommerce_products.name, - '.+The+GMV+for+this+product+is+', - cast(gmv, 'text'), - '+and+the+AOV+for+this+product+is+', - cast(aov, 'text'), - ) - ;; - } - - dimension product_image { - model: ecommerce_product_images - label: 'Product Image' - type: 'text' - definition: @aql concat('') ;; - } - - dimension breakdown_dim { - label: 'Dynamic Breakdown Dimension' - description: 'The dimension will be automatically switched among Country, Age Group, Order Status. By default, it will be Country' - type: 'text' - model: ecommerce_orders - definition: @aql case( - when: 'Country Names' in param_model_demo.dim_selections - , then: ecommerce_countries.name - - , when: 'Age Demographic' in param_model_demo.dim_selections - , then: ecommerce_users.age_group - - , when: 'Order Status' in param_model_demo.dim_selections - , then: ecommerce_orders.status - - , else: ecommerce_countries.name - ) ;; - } - - owner: 'vincent@holistics.io' -} \ No newline at end of file diff --git a/demo ecommerce/ecommerce_metrics.aml b/demo ecommerce/ecommerce_metrics.aml deleted file mode 100644 index dbaf11d..0000000 --- a/demo ecommerce/ecommerce_metrics.aml +++ /dev/null @@ -1,260 +0,0 @@ -Metric total_users { - label: 'Total Users' - type: 'number' - description: "Total number of users" - definition: @aql count(ecommerce_users.id) ;; -} -Metric total_orders { - label: "Total Orders" - type: "number" - hidden: false - description: "Total number of orders placed across the platform, regardless of status." - definition: @aql count(ecommerce_orders.id);; -} - -Metric gmv { - label: "GMV (Gross Merchandise Value)" - type: "number" - hidden: false - description: "GMV - Gross Merchandise Value: Total value of all orders before discount." - definition: @aql ecommerce_order_items | sum(ecommerce_order_items.quantity * ecommerce_products.price);; - format: "[\$\$]#,###0" -} - -Metric total_discount { - label: "Total Discount" - type: "number" - hidden: false - description: "Total Discount: Total discount value of all orders." - definition: @aql gmv - revenue;; - format: "[\$\$]#,###0" -} - -Metric nmv { - label: "NMV (Net Merchandise Value)" - type: "number" - hidden: false - description: "* Fulfilled order value after discount. Excludes cancelled/refunded orders.
* Represents the total paid value of fulfilled orders, excluding cancelled and refunded orders, and adjusted for any discounts applied.
* This reflects what customers actually paid for successfully completed transactions, and serves as the revenue base before applying commission." - definition: @aql (ecommerce_order_items | sum(ecommerce_order_items.quantity * ecommerce_products.price * (1 - ecommerce_orders.discount))) | where(ecommerce_orders.status not in ['cancelled', 'refunded']);; - format: "[\$\$]#,###0" -} - -Metric revenue { - label: "Total Revenue" - type: "number" - hidden: false - description: "Represents the total revenue earned by the platform based on fulfilled order value (NMV), multiplied by a commission rate.
As of May 2025, this demo assumes a 50% commission margin. Formula: `revenue = NMV × revenue_commission`" - definition: @aql nmv * revenue_commission;; - format: "[\$\$]#,###0" -} - -Metric aov { - label: "AOV (Average Order Value)" - type: "number" - description: "AOV - Average Order Value: Average value per order (GMV / number of orders)." - hidden: false - definition: @aql gmv / total_orders;; - format: "[\$\$]#,###0" -} -Metric total_orders_across_all { - label: "Total Orders Across All" - type: "number" - hidden: false - description: "Total number of orders across all selected dimensions. Used as the denominator for ratio Metrics like percent_of_total." - definition: @aql total_orders | of_all(ecommerce_orders);; -} -Metric percent_of_total { - label: "Percent Of Total Orders" - type: "number" - hidden: false - description: "Percentage of orders contributed by the current slice of data compared to the total orders across all segments." - definition: @aql total_orders * 1.0 / total_orders_across_all;; - format: "#,###0.00%" -} -Metric total_delivered_orders { - label: "Total Delivered Orders" - type: "number" - hidden: false - description: "Count of all orders that were successfully delivered." - definition: @aql total_orders | where(ecommerce_orders.status is 'delivered');; -} -Metric total_refunded_orders { - label: "Total Refunded Orders" - type: "number" - hidden: false - description: "Count of all orders that were refunded after fulfillment." - definition: @aql total_orders | where(ecommerce_orders.status is 'refunded');; -} -Metric total_cancelled_orders { - label: "Total Cancelled Orders" - type: "number" - hidden: false - description: "Count of orders that were cancelled before fulfillment." - definition: @aql total_orders | where(ecommerce_orders.status is 'cancelled');; -} - -Metric cancelled_order_ratio { - label: "Cancelled Order Ratio" - type: "number" - hidden: false - description: "Percentage of orders that were cancelled - Total number of cancelled orders/Total numbers of orders" - definition: @aql total_cancelled_orders / total_orders;; - format: "#,###0.00%" -} - -Metric cancelled_value { - label: "Cancelled Value" - type: "number" - hidden: false - description: "Total Value of Cancelled Orders" - definition: @aql gmv | where(ecommerce_orders.status is 'cancelled');; - format: "[\$\$]#,###0" -} - -Metric cancelled_value_ratio { - label: "Cancelled Value Ratio" - type: "number" - hidden: false - description: "Percentage of order values that were cancelled - Total value of cancelled orders/Total revenue" - definition: @aql cancelled_value / gmv;; - format: "#,###0.00%" -} - -Metric delivered_value { - label: "Delivered Value" - type: "number" - hidden: false - description: "Total Value of Delivered Orders" - definition: @aql gmv | where(ecommerce_orders.status is 'delivered');; - format: "[\$\$]#,###0" -} - -Metric refunded_value { - label: "Refunded Value" - type: "number" - hidden: false - description: "Total Value of Refunded Orders" - definition: @aql gmv | where(ecommerce_orders.status is 'refunded');; - format: "[\$\$]#,###0" -} -Metric retention { - label: 'Cohort Retention' - type: 'number' - hidden: false - description: "Cohort retention rate calculated as the percentage of users in a cohort who placed an order in a given month. *Formula*: current period total_users / cohort\'s total_users." - definition: @aql (total_users * 1.0) / (total_users | of_all(ecommerce_orders.month_number)) ;; - format: "#,###0.00%" -} -Metric total_buyers { - label: "Total Buyers" - type: "number" - hidden: false - description: "Total number of unique users who made at least one purchase." - definition: @aql count(ecommerce_users.id) | where(ecommerce_users.is_buyer is true);; -} -Metric total_repeated_buyers { - label: "Total Repeated Buyers" - type: "number" - hidden: false - description: "Total number of users who made more than one purchase." - definition: @aql count(ecommerce_users.id) | where(ecommerce_users.is_repeated_buyer is true);; -} -Metric running_total_orders { - label: "Running Total Orders" - type: "number" - hidden: false - description: "Cumulative total of orders over time, aggregated by year to show growth trends." - definition: @aql running_total(total_orders, ecommerce_orders.created_at | year());; -} - -Metric dynamic_metric { - label: 'Dynamic Metric (no format)' - type: 'number' - description: 'This dynamic Metric doesnt take the format into considering, theyre all in their raw form' - definition: @aql - case( - - when: 'total users' in param_model_demo.Metric_selections - , then: ecommerce_users.total_users - - , when: 'total orders' in param_model_demo.Metric_selections - , then: total_orders - - , when: 'platform revenue' in param_model_demo.Metric_selections - , then: revenue - - , when: 'GMV' in param_model_demo.Metric_selections - , then: gmv - - , when: 'NMV' in param_model_demo.Metric_selections - , then: nmv - - , when: 'AOV' in param_model_demo.Metric_selections - , then: aov - - ) - ;; -} - -Metric dynamic_metric_currency { - label: 'Dynamic Metric (Currency)' - type: 'number' - description: 'Only contains list of Metrics with currency (Revenue, GMV, NMV, AOV)' - definition: @aql - case( - when: 'platform revenue' in param_model_demo.Metric_selections_currency - , then: revenue - - , when: 'GMV' in param_model_demo.Metric_selections_currency - , then: gmv - - , when: 'NMV' in param_model_demo.Metric_selections_currency - , then: nmv - - , when: 'AOV' in param_model_demo.Metric_selections_currency - , then: aov - - ) - ;; - format: "[\$\$]#,###0" -} - -Metric revenue_commission { - label: "Revenue Commission Rate (Demo from May 2025)" - type: "number" - hidden: false - description: "Commission margin (%) our platform earns on NMV transactions. Set to 50% as of May 2025 for demonstration purposes. Used in revenue calculation: revenue = NMV × commission_rate." - definition: @aql 0.5;; - format: "#,###%" -} - -PartialDataset volumn_metric { - metric total_orders: total_orders - metric total_delivered_orders: total_delivered_orders - metric total_cancelled_orders: total_cancelled_orders - metric total_refunded_orders: total_refunded_orders - metric running_total_orders: running_total_orders - metric total_orders_across_all: total_orders_across_all -} - -PartialDataset users_metric { - metric total_users: total_users - metric total_buyers: total_buyers - metric total_repeated_buyers: total_repeated_buyers - metric retention: retention -} - -PartialDataset revenue_metrics { - metric gmv: gmv - metric nmv: nmv - metric revenue: revenue - metric aov: aov - metric total_discount: total_discount - metric revenue_commission: revenue_commission -} - -PartialDataset order_value_metric { - metric delivered_value: delivered_value - metric cancelled_value: cancelled_value - metric refunded_value: refunded_value -} \ No newline at end of file diff --git a/demo ecommerce/embed/ecommerce_portal.embed.aml b/demo ecommerce/embed/ecommerce_portal.embed.aml index 4252564..4714b48 100644 --- a/demo ecommerce/embed/ecommerce_portal.embed.aml +++ b/demo ecommerce/embed/ecommerce_portal.embed.aml @@ -6,7 +6,6 @@ EmbedPortal ecommerce_portal { _2_category_breakdown, _3_customer_demographics, _4_product_x_merchant_drill_down, - // dataset demo_ecommerce ], } \ No newline at end of file diff --git a/demo ecommerce/models/2. Query Models/order_master.model.aml b/demo ecommerce/models/2. Query Models/order_master.model.aml index 6e8d555..f22cb61 100644 --- a/demo ecommerce/models/2. Query Models/order_master.model.aml +++ b/demo ecommerce/models/2. Query Models/order_master.model.aml @@ -106,23 +106,12 @@ Model order_master { hidden: false definition: @sql {{ #SOURCE.product_id }};; } -dimension price { - label: 'Price' - type: 'number' - hidden: false - description: ''' - The standard unit price breakdown. - - | Tier Name | Min Price | Max Price | Discount % | Support Level | - | :--- | :---: | :---: | :---: | :--- | - | **Basic** | $0 | $50 | 0% | Email Only | - | **Pro** | $51 | $200 | 5% | Priority Email | - | **Team** | $201 | $500 | 10% | Chat + Email | - | **Corp** | $501 | $1000 | 15% | Dedicated Rep | - | **Ent.** | $1001+ | N/A | Negotiable | 24/7 Phone | - ''' - definition: @sql {{ #SOURCE.price }};; -} + dimension price { + label: 'Price' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.price }};; + } dimension merchant_id { label: 'Merchant Id' type: 'number' @@ -395,3 +384,5 @@ dimension price { ] } } + +order_master.dim_selector \ No newline at end of file diff --git a/demo ecommerce/reusable components/theme.aml b/demo ecommerce/reusable components/theme.aml index 3d0a3dc..d3dc3ad 100644 --- a/demo ecommerce/reusable components/theme.aml +++ b/demo ecommerce/reusable components/theme.aml @@ -103,12 +103,6 @@ PageTheme ticketing_concert_theme { } PageTheme fashion { - custom_css: @css - /* Change heatmap cell background color */ - .dac-retention-heatmap-cell { - background-color: #FFA500 !important; - } - ;; background { bg_color: "#FFE8D1" // Light pink bg_image: "" // You'd need to replace this with an actual image URL diff --git a/demo ecommerce/zArchive/untitled_5.page.aml b/demo ecommerce/zArchive/untitled_5.page.aml new file mode 100644 index 0000000..53957a3 --- /dev/null +++ b/demo ecommerce/zArchive/untitled_5.page.aml @@ -0,0 +1,85 @@ +Dashboard untitled_5 { + title: 'Untitled 5' + description: '''''' + view: TabLayout { + label: 'View 1' + tab tab2: CanvasLayout { + label: 'Untitled' + height: 800 + grid_size: 20 + mobile { + mode: 'auto' + } + block t1 { + position: pos(120, 160, 700, 180) + layer: 1 + } + block v1 { + position: pos(20, 20, 400, 300) + layer: 2 + } + default_zoom: 1 + } + tab tab3: CanvasLayout { + label: 'Untitled' + height: 800 + grid_size: 20 + mobile { + mode: 'auto' + } + default_zoom: 1 + } + tab tab4: CanvasLayout { + label: 'hello' + height: 800 + grid_size: 20 + mobile { + mode: 'auto' + } + default_zoom: 1 + } + } + + theme: H.themes.classic + block t1: TextBlock { + content: @md

QUnit is by calling one of the object that are embedded in JavaScript, and faster JavaScript program could also used with its elegant, well documented, and functional programming using JS, HTML pages Modernizr is a popular browsers without plug-ins. Test-Driven Development.

+ +;; + } + block v1: VizBlock { + label: 'Test' + viz: DataTable { + dataset: demo_ecommerce + theme { + + } + fields: [ + VizFieldFull { + ref: 'percent_of_total' + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: 'running_total' + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } +} \ No newline at end of file diff --git a/ecommerce_orders.model.aml b/ecommerce_orders.model.aml deleted file mode 100644 index f4e299d..0000000 --- a/ecommerce_orders.model.aml +++ /dev/null @@ -1,45 +0,0 @@ -Model ecommerce_orders3 { - type: 'table' - label: 'Orders' - description: '' - data_source_name: 'demodb' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension status { - label: 'Status' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.status }};; - } - dimension created_at { - label: 'Created At' - type: 'datetime' - hidden: false - definition: @sql {{ #SOURCE.created_at }};; - } - dimension user_id { - label: 'User Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.user_id }};; - } - dimension discount { - label: 'Discount' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.discount }};; - } - dimension delivery_attempts { - label: 'Delivery Attempts' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.delivery_attempts }};; - } - - owner: 'thang.lk@holistics.io' - table_name: '"ecommerce"."orders"' -} diff --git a/ecommerce_sales.model.aml b/ecommerce_sales.model.aml deleted file mode 100644 index 562e816..0000000 --- a/ecommerce_sales.model.aml +++ /dev/null @@ -1,52 +0,0 @@ -Model ecommerce_sales { - type: 'table' - label: 'Sales' - description: '' - data_source_name: 'demodb' - dimension order_id { - label: 'Order Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.order_id }};; - primary_key: true - } - dimension order_created_date { - label: 'Order Created Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.order_created_date }};; - } - dimension delivered_date { - label: 'Delivered Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.delivered_date }};; - } - dimension cancelled_date { - label: 'Cancelled Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.cancelled_date }};; - } - dimension refunded_date { - label: 'Refunded Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.refunded_date }};; - } - dimension user_id { - label: 'User Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.user_id }};; - } - dimension discount { - label: 'Discount' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.discount }};; - } - - owner: 'thang.lk@holistics.io' - table_name: '"ecommerce"."sales"' -} diff --git a/hoa_test.page.aml b/hoa_test.page.aml deleted file mode 100644 index 22c214a..0000000 --- a/hoa_test.page.aml +++ /dev/null @@ -1,22 +0,0 @@ -Dashboard hoa_test { - title: 'hoa test' - owner: 'hoa.huynh@holistics.io' - block title: TextBlock { - content: @md # Your title goes here ;; - } - interactions: [] - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 800 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - mobile { - mode: 'auto' - } - } - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/modules/datasets/modules/prod/prod_ecommerce.dataset.aml b/modules/datasets/modules/prod/prod_ecommerce.dataset.aml deleted file mode 100644 index 8cc9e1a..0000000 --- a/modules/datasets/modules/prod/prod_ecommerce.dataset.aml +++ /dev/null @@ -1,6 +0,0 @@ -use datasets.test {ecommerce_test_modules} -use models {users, cities, countries, orders, order_items, products} - -Dataset prod_ecommerce = ecommerce_test_modules.extend({ - label: 'Prod Ecommerce (Module)' -}) \ No newline at end of file diff --git a/modules/datasets/modules/test/ecommerce_test_modules.dataset.aml b/modules/datasets/modules/test/ecommerce_test_modules.dataset.aml deleted file mode 100644 index 38fd2d2..0000000 --- a/modules/datasets/modules/test/ecommerce_test_modules.dataset.aml +++ /dev/null @@ -1,17 +0,0 @@ -use models {users, cities, countries} - -Dataset ecommerce_test_modules { - label: 'ecommerce_test_modules', - description: '' - data_source_name: 'demodb' - models: [ - orders, - order_items, - products, - users, - cities, - countries - ] - relationships: [] - -} \ No newline at end of file diff --git a/modules/models/hub/customers/cities.model.aml b/modules/models/hub/customers/cities.model.aml deleted file mode 100644 index 821a882..0000000 --- a/modules/models/hub/customers/cities.model.aml +++ /dev/null @@ -1,27 +0,0 @@ -Model cities { - type: 'table' - label: 'Cities' - description: '' - data_source_name: 'demodb' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension name { - label: 'Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.name }};; - } - dimension country_code { - label: 'Country Code' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.country_code }};; - } - - owner: 'khai.to+demo4@holistics.io' - table_name: '"ecommerce"."cities"' -} diff --git a/modules/models/hub/customers/countries.model.aml b/modules/models/hub/customers/countries.model.aml deleted file mode 100644 index 1a1aa0f..0000000 --- a/modules/models/hub/customers/countries.model.aml +++ /dev/null @@ -1,27 +0,0 @@ -Model countries { - type: 'table' - label: 'Countries' - description: '' - data_source_name: 'demodb' - dimension code { - label: 'Code' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.code }};; - } - dimension name { - label: 'Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.name }};; - } - dimension continent_name { - label: 'Continent Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.continent_name }};; - } - - owner: 'khai.to+demo4@holistics.io' - table_name: '"ecommerce"."countries"' -} diff --git a/modules/models/hub/customers/users.model.aml b/modules/models/hub/customers/users.model.aml deleted file mode 100644 index 630e7ed..0000000 --- a/modules/models/hub/customers/users.model.aml +++ /dev/null @@ -1,85 +0,0 @@ -Model users { - type: 'table' - label: 'Users' - description: '' - data_source_name: 'demodb' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - primary_key: true - } - dimension sign_up_date { - label: 'Sign Up Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.sign_up_date }};; - } - dimension sign_up_at { - label: 'Sign Up At' - type: 'datetime' - hidden: false - definition: @sql {{ #SOURCE.sign_up_at }};; - } - dimension first_name { - label: 'First Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.first_name }};; - } - dimension last_name { - label: 'Last Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.last_name }};; - } - dimension email { - label: 'Email' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.email }};; - } - dimension birth_date { - label: 'Birth Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.birth_date }};; - } - dimension gender { - label: 'Gender' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.gender }};; - } - dimension city_id { - label: 'City Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.city_id }};; - } - dimension full_name { - label: 'Full Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.full_name }};; - } - - dimension email_pii { - label: 'Email Pii' - description: 'The email for the user. [sensitive data may be restricted]' - type: 'text' - hidden: false - definition: @aql - case( - when: - in('some_email@test.com', H.current_user.h_email), - then: users.email, - else: '(redacted)' - ) - ;; - } - - owner: 'khai.to+demo4@holistics.io' - table_name: '"ecommerce"."users"' -} \ No newline at end of file diff --git a/modules/models/hub/transaction/order_items.model.aml b/modules/models/hub/transaction/order_items.model.aml deleted file mode 100644 index ea805da..0000000 --- a/modules/models/hub/transaction/order_items.model.aml +++ /dev/null @@ -1,27 +0,0 @@ -Model order_items { - type: 'table' - label: 'Order Items' - description: '' - data_source_name: 'demodb' - dimension order_id { - label: 'Order Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.order_id }};; - } - dimension product_id { - label: 'Product Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.product_id }};; - } - dimension quantity { - label: 'Quantity' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.quantity }};; - } - - owner: 'khai.to+demo4@holistics.io' - table_name: '"ecommerce"."order_items"' -} diff --git a/modules/models/hub/transaction/orders.model.aml b/modules/models/hub/transaction/orders.model.aml deleted file mode 100644 index a1ad0df..0000000 --- a/modules/models/hub/transaction/orders.model.aml +++ /dev/null @@ -1,59 +0,0 @@ -Model orders { - type: 'table' - label: 'Orders' - description: '' - data_source_name: 'demodb' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension status { - label: 'Status' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.status }};; - } - dimension created_at { - label: 'Created At' - type: 'datetime' - hidden: false - definition: @sql {{ #SOURCE.created_at }};; - } - dimension user_id { - label: 'User Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.user_id }};; - } - dimension discount { - label: 'Discount' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.discount }};; - } - dimension delivery_attempts { - label: 'Delivery Attempts' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.delivery_attempts }};; - } - dimension created_date { - label: "Created Date" - type: "date" - description: "" - hidden: false - definition: @sql {{ created_at }}::date;; - } - - measure total_orders { - label: 'Total Orders' - type: 'number' - definition: @sql {{id}} ;; - aggregation_type: 'count' - } - - owner: 'khai.to+demo4@holistics.io' - table_name: '"ecommerce"."orders"' -} \ No newline at end of file diff --git a/modules/models/hub/transaction/products.model.aml b/modules/models/hub/transaction/products.model.aml deleted file mode 100644 index e3cd641..0000000 --- a/modules/models/hub/transaction/products.model.aml +++ /dev/null @@ -1,45 +0,0 @@ -Model products { - type: 'table' - label: 'Products' - description: '' - data_source_name: 'demodb' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension category_id { - label: 'Category Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.category_id }};; - } - dimension name { - label: 'Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.name }};; - } - dimension merchant_id { - label: 'Merchant Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.merchant_id }};; - } - dimension price { - label: 'Price' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.price }};; - } - dimension created_at { - label: 'Created At' - type: 'datetime' - hidden: false - definition: @sql {{ #SOURCE.created_at }};; - } - - owner: 'khai.to+demo4@holistics.io' - table_name: '"ecommerce"."products"' -} diff --git a/phuong_test_custom_styling.page.aml b/phuong_test_custom_styling.page.aml deleted file mode 100644 index b39bd93..0000000 --- a/phuong_test_custom_styling.page.aml +++ /dev/null @@ -1,65 +0,0 @@ -Dashboard phuong_test_custom_styling { - title: 'Phuong test custom styling' - owner: 'phuong.nl@holistics.io' - block v_mc9l: VizBlock { - label: 'Active Users Count by Month Cohort Month, Cohort Size, and Relative Month Disp' - - viz: RetentionHeatmap { - dataset: demo_ecommerce - filter { - field: r(user_cohort_retention.cohort_month) - operator: 'matches' - value: '2023' - } - cohort: VizFieldFull { - ref: r(user_cohort_retention.cohort_month) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - cohort_size: VizFieldFull { - ref: r(user_cohort_retention.cohort_size) - format { - type: 'number' - pattern: 'inherited' - } - } - cohort_duration: VizFieldFull { - ref: r(user_cohort_retention.relative_month_disp) - format { - type: 'text' - } - } - cohort_value: VizFieldFull { - ref: r(user_cohort_retention.active_users_count) - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - interactions: [] - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 800 - grid_size: 20 - auto_expand_vertically: true - block v_mc9l { - position: pos(40, 80, 1200, 640) - } - mobile { - mode: 'auto' - } - } - theme: fashion -} \ No newline at end of file diff --git a/settings/ai/context.aml b/settings/ai/context.aml deleted file mode 100644 index b675666..0000000 --- a/settings/ai/context.aml +++ /dev/null @@ -1,8 +0,0 @@ -const ai_context = @md -## Background -- I'm ${H.current_user.h_name} (${H.current_user.h_role} role). -- Our business is ... - -## Preferences -- Be concise... -;;; diff --git a/settings/project_settings.aml b/settings/project_settings.aml index f7f34c7..c373d27 100644 --- a/settings/project_settings.aml +++ b/settings/project_settings.aml @@ -1,9 +1,9 @@ ProjectSettings project_settings { - + + // DEFAULT WRITE SCHEMA FOR ALL DB + // Only to define the default schema. Users can still change schema when importing. data_import { - // DEFAULT WRITE SCHEMA FOR ALL DB - // Only specifies the default option. Users can still change schema when importing. - default_write_schema: 'public_persisted' + default_write_schema: 'pokemon' } } \ No newline at end of file diff --git a/team-folders/Amyra/demo_ecommerce_amyra.page.aml b/team-folders/Amyra/demo_ecommerce_amyra.page.aml index dbe8a2a..7b486a8 100644 --- a/team-folders/Amyra/demo_ecommerce_amyra.page.aml +++ b/team-folders/Amyra/demo_ecommerce_amyra.page.aml @@ -174,12 +174,12 @@ This dashboard tracks the KPIs of all managers for their respective teams. This viz: PieChart { dataset: demo_ecommerce filter { - field: r(order_master.order_created_at) + field: ref('order_master', 'order_created_at') operator: 'matches' value: '2023' } legend: VizFieldFull { - ref: r(map_categories.parent_category) + ref: ref('map_categories', 'parent_category') format { type: 'text' } @@ -187,7 +187,7 @@ This dashboard tracks the KPIs of all managers for their respective teams. This series { field: VizFieldFull { label: ' ' - ref: r(order_master.gmv) + ref: ref('order_master', 'gmv') format { type: 'number' pattern: '[$$]#,###' diff --git a/team-folders/Amyra/ecommerce_dashboard_new.page.aml b/team-folders/Amyra/ecommerce_dashboard_new.page.aml new file mode 100644 index 0000000..2b111b2 --- /dev/null +++ b/team-folders/Amyra/ecommerce_dashboard_new.page.aml @@ -0,0 +1,56 @@ +Dashboard ecommerce_dashboard_new { + title: 'Ecommerce Dashboard New' + description: '' + block title: TextBlock { + content: @md # Your title goes here ;; + } + block v1: VizBlock { + label: 'Total Orders Count by Name' + viz: ColumnChart { + dataset: simple_dataset + x_axis: VizFieldFull { + ref: ref('ecommerce_categories', 'name') + format { + type: 'text' + } + } + y_axis { + series { + field: VizFieldFull { + ref: ref('ecommerce_orders', 'total_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + + view: CanvasLayout { + label: 'View 1' + height: 840 + grid_size: 20 + block title { + position: pos(20, 20, 1160, 60) + } + block v1 { + position: pos(20, 100, 400, 300) + layer: 1 + } + mobile { + mode: 'auto' + } + } + + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/team-folders/Bao/column_width.page.aml b/team-folders/Bao/column_width.page.aml new file mode 100644 index 0000000..15bd3ba --- /dev/null +++ b/team-folders/Bao/column_width.page.aml @@ -0,0 +1,289 @@ +Dashboard column_width { + title: 'Column Width' + description: '''''' + + view: CanvasLayout { + label: 'View 1' + height: 1880 + grid_size: 20 + block v1 { + position: pos(0, 0, 1200, 260) + } + block v2 { + position: pos(0, 260, 1200, 280) + } + block v3 { + position: pos(0, 560, 1120, 1300) + layer: 1 + } + } + + theme: H.themes.classic + block v1: VizBlock { + label: 'avc' + viz: DataTable { + dataset: global_temps + theme { + + } + fields: [ + VizFieldFull { + ref: ref('persisted_global_temps', 'year') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'persisted_global_temps_year' + }, + VizFieldFull { + ref: ref('persisted_global_temps', 'jan') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'persisted_global_temps_jan' + }, + VizFieldFull { + ref: ref('persisted_global_temps', 'apr') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'persisted_global_temps_apr' + }, + VizFieldFull { + ref: ref('persisted_global_temps', 'may') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'persisted_global_temps_may' + }, + VizFieldFull { + ref: ref('persisted_global_temps', 'jul') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'persisted_global_temps_jul' + }, + VizFieldFull { + ref: ref('persisted_global_temps', 'oct') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + conditional_formats: [ + ConditionalFormat { + key: 'persisted_global_temps_year' + format: SingleFormat { + condition { + operator: 'less_than' + value: 1900 + } + text_color: '#BF0E08' + background_color: '#FAD2D1' + apply_to_row: true + } + }, + ConditionalFormat { + key: 'persisted_global_temps_year' + format: SingleFormat { + condition { + operator: 'greater_than_equal' + value: 1900 + } + text_color: '#328159' + background_color: '#B5E3CD' + apply_to_row: true + } + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + column_styles: [ + ColumnStyle { + key: 'persisted_global_temps_apr' + width: 119 + }, + ColumnStyle { + key: 'persisted_global_temps_jan' + width: 164 + }, + ColumnStyle { + key: 'persisted_global_temps_jul' + width: 169 + }, + ColumnStyle { + key: 'persisted_global_temps_may' + width: 186 + }, + ColumnStyle { + key: 'persisted_global_temps_year' + width: 163 + } + ] + } + } + } + block v2: VizBlock { + label: 'abc' + viz: PivotTable { + dataset: global_temps + rows: [ + VizFieldFull { + ref: ref('persisted_global_temps', 'year') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'persisted_global_temps_year' + } + ] + columns: [ + VizFieldFull { + ref: ref('persisted_global_temps', 'jun') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + values: [ + VizFieldFull { + ref: ref('persisted_global_temps', 'son') + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + uname: 'sum_son' + } + ] + settings { + show_row_total: true + show_column_total: true + row_limit: 5000 + column_width { + manual_widths: [ + ColumnWidth { + key: 'sum_son' + width: 155 + }, + ColumnWidth { + key: 'persisted_global_temps_year' + width: 133 + } + ] + } + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v3: VizBlock { + label: 'wabc' + viz: DataTable { + dataset: demo_ecommerce_internal_training + theme { + + } + fields: [ + VizFieldFull { + ref: ref('ecommerce_orders', 'id') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'ecommerce_orders_id' + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'status') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'created_at') + format { + type: 'datetime' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'discount') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'delivery_attempts') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'created_date') + format { + type: 'date' + } + } + ] + settings { + show_row_number: true + conditional_formats: [ + ConditionalFormat { + key: 'ecommerce_orders_id' + format: SingleFormat { + condition { + operator: 'less_than' + value: 1000 + } + text_color: '#BF0E08' + background_color: '#FAD2D1' + apply_to_row: true + } + }, + ConditionalFormat { + key: 'ecommerce_orders_id' + format: SingleFormat { + condition { + operator: 'greater_than_equal' + value: 1000 + } + text_color: '#9C5C1C' + background_color: '#F0CFAD' + apply_to_row: true + } + }, + ConditionalFormat { + key: 'ecommerce_orders_id' + format: SingleFormat { + condition { + operator: 'greater_than_equal' + value: 1500 + } + text_color: '#328159' + background_color: '#B5E3CD' + apply_to_row: true + } + } + ] + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } +} \ No newline at end of file diff --git a/team-folders/Dat/bug_cross_filter.page.aml b/team-folders/Dat/bug_cross_filter.page.aml new file mode 100644 index 0000000..42350e8 --- /dev/null +++ b/team-folders/Dat/bug_cross_filter.page.aml @@ -0,0 +1,151 @@ +Dashboard bug_cross_filter { + title: 'Bug Cross Filter' + description: '' + block title: TextBlock { + content: @md # Your title goes here ;; + } + block v1: VizBlock { + label: 'Untitled Metric by Year Created At' + viz: BarChart { + dataset: demo_ecommerce + calculation metric_ebe90dc { + label: 'Untitled Metric' + formula: @aql 3;; + calc_type: 'measure' + data_type: 'number' + } + x_axis: VizFieldFull { + ref: ref('ecommerce_orders', 'created_at') + transformation: 'datetrunc year' + format { + type: 'date' + pattern: 'yyyy' + } + } + y_axis { + series { + field: VizFieldFull { + ref: 'metric_ebe90dc' + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v2: VizBlock { + label: 'Untitled Metric by Year Created At' + viz: ColumnChart { + dataset: demo_ecommerce + calculation metric_ebe90dc { + label: 'Untitled Metric' + formula: @aql 3;; + calc_type: 'measure' + data_type: 'number' + } + x_axis: VizFieldFull { + ref: ref('ecommerce_orders', 'created_at') + transformation: 'datetrunc year' + format { + type: 'date' + pattern: 'yyyy' + } + } + y_axis { + series { + field: VizFieldFull { + ref: 'metric_ebe90dc' + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v3: VizBlock { + label: 'Untitled Metric by Year Created At' + viz: PieChart { + dataset: demo_ecommerce + calculation metric_ebe90dc { + label: 'Untitled Metric' + formula: @aql 3;; + calc_type: 'measure' + data_type: 'number' + } + legend: VizFieldFull { + ref: ref('ecommerce_orders', 'created_at') + transformation: 'datetrunc year' + format { + type: 'date' + pattern: 'yyyy' + } + } + series { + field: VizFieldFull { + ref: 'metric_ebe90dc' + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color_palette: 0 + } + } + settings { + row_limit: 5000 + data_label_position: 'none' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + + view: CanvasLayout { + label: 'View 1' + height: 840 + grid_size: 20 + block title { + position: pos(20, 20, 1160, 60) + } + block v1 { + position: pos(20, 100, 440, 340) + layer: 1 + } + block v2 { + position: pos(600, 100, 560, 420) + layer: 1 + } + block v3 { + position: pos(40, 520, 560, 420) + layer: 1 + } + mobile { + mode: 'auto' + } + } + + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/team-folders/Minh/ecommerce (test themes).page.aml b/team-folders/Minh/ecommerce (test themes).page.aml index ded2c47..f2ae1fa 100644 --- a/team-folders/Minh/ecommerce (test themes).page.aml +++ b/team-folders/Minh/ecommerce (test themes).page.aml @@ -1,7 +1,13 @@ Dashboard ecommerce_cua_minh { title: 'Ecommerce Dashboard' description: '''''' - theme: H.themes.midnight + theme: H.themes.classic.extend( + { + canvas { + + } + } + ) block css: TextBlock { content: @md - - - - -;; - } - // block t46: background_gray() - block t47: TextBlock { - content: @md
- - - - - - - - - -
;; - } - block t49: TextBlock { - content: @md
;; - } - block t51: TextBlock { - content: @md
- - - - - - - - - -
;; - } - block t52: TextBlock { - content: @md
;; - } - block t53: TextBlock { - content: @md
;; - } - block t54: TextBlock { - content: @md To embed external content;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block filter_by_city_wrapper: TextBlock { - content: @md

;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block filter_by_age_group_wrapper: TextBlock { - content: @md

;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block v17: VizBlock { - label: 'Total Users and Delivered Orders Count by Quarter Sign Up Date' - viz: PivotTable { - dataset: demo_ecommerce - filter { - field: ref('ecommerce_users', 'age_group') - operator: 'is_not' - value: '3. From 40 to 49' - } - rows: [ - VizFieldFull { - ref: ref('ecommerce_countries', 'continent_name') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - } - ] - columns: [ - VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: ref('order_master', 'revenue') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'order_count') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - frozen_columns: 0 - } - } - } - block v18: VizBlock { - label: 'Customer Info and Buying Behavior' - viz: DataTable { - dataset: demo_ecommerce - fields: [ - VizFieldFull { - ref: ref('ecommerce_users', 'full_name') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - uname: 'ecommerce_countries_name' - }, - VizFieldFull { - ref: ref('order_master', 'order_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_products', 'total_products') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'cancelled_order_ratio') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_cancelled_order_ratio' - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - frozen_columns: 0 - column_styles: [ - ColumnStyle { - key: 'ecommerce_countries_name' - width: 216 - }, - ColumnStyle { - key: 'custom_cancelled_order_ratio' - width: 180 - } - ] - } - } - } - block p1: PopBlock { - label: 'Compare with Period' - } - block v19: VizBlock { - label: 'Total Users and Total Users by Age Demographic and Gender' - viz: ColumnChart { - dataset: demo_ecommerce - theme { - - } - x_axis: VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - } - legend: VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#07326C' - point { - value: 'Male' - color: '#FB8761' - } - point { - value: 'Female' - color: '#64628c' - } - } - } - series { - field: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - break_by_legend: false - } - } - } - settings { - x_axis_show_null_datetime: true - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v20: VizBlock { - label: ' KPI Overview' - viz: PivotTable { - dataset: demo_ecommerce - filter { - field: ref('dim_dates', 'date_key') - operator: 'matches' - value: '12 months ago to last month end' - } - columns: [ - VizFieldFull { - ref: ref('dim_dates', 'date_key') - transformation: 'datetrunc year' - format { - type: 'date' - pattern: 'yyyy' - } - } - ] - values: [ - VizFieldFull { - ref: ref('ecommerce_orders', 'total_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_total_orders_count' - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'cancelled_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'refunded_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'delivered_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'nmv') - format { - type: 'number' - pattern: '[$$]#,###0.00' - } - }, - VizFieldFull { - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '[$$]#,###0.00' - } - }, - VizFieldFull { - ref: ref('order_master', 'aov') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - aggregate_awareness { - enabled: true - debug_comments: true - } - value_labels_position { - placement: 'rows' - } - column_styles: [ - ColumnStyle { - key: 'custom_total_orders_count' - width: 322 - } - ] - } - } - settings { - hide_label: true - } - } - block v21: VizBlock { - label: ' KPI Overview' - viz: PivotTable { - dataset: demo_ecommerce - filter { - field: ref('dim_dates', 'date_key') - operator: 'matches' - value: 'last 1 years to today' - } - columns: [ - VizFieldFull { - ref: ref('dim_dates', 'date_key') - transformation: 'datetrunc year' - format { - type: 'date' - pattern: 'yyyy' - } - } - ] - values: [ - VizFieldFull { - label: '%∆ Total Orders Count (prev. 1y)' - ref: ref('ecommerce_orders', 'total_orders_count') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_total_orders_count' - }, - VizFieldFull { - label: '%∆ Cancelled Orders Count (prev. 1y)' - ref: ref('ecommerce_orders', 'cancelled_orders_count') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_cancelled_orders_count' - }, - VizFieldFull { - label: '%∆ Refunded Orders Count (prev. 1y)' - ref: ref('ecommerce_orders', 'refunded_orders_count') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_refunded_orders_count' - }, - VizFieldFull { - label: '%∆ Delivered Orders Count (prev. 1y)' - ref: ref('ecommerce_orders', 'delivered_orders_count') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_delivered_orders_count' - }, - VizFieldFull { - label: '%∆ Nmv (prev. 1y)' - ref: ref('order_master', 'nmv') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_nmv' - }, - VizFieldFull { - label: '%∆ Gmv (prev. 1y)' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_gmv' - }, - VizFieldFull { - label: '%∆ Aov (prev. 1y)' - ref: ref('order_master', 'aov') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_aov' - } - ] - settings { - conditional_formats: [ - ConditionalFormat { - key: 'custom_total_orders_count' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_total_orders_count' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_total_orders_count' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_cancelled_orders_count' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_cancelled_orders_count' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_cancelled_orders_count' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_refunded_orders_count' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_refunded_orders_count' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_refunded_orders_count' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_delivered_orders_count' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_delivered_orders_count' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_delivered_orders_count' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_nmv' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_nmv' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_nmv' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_gmv' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_gmv' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_gmv' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_aov' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_aov' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_aov' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - } - ] - aggregate_awareness { - enabled: true - debug_comments: true - } - value_labels_position { - placement: 'rows' - } - column_styles: [ - ColumnStyle { - key: 'custom_total_orders_count' - width: 328 - } - ] - } - } - settings { - hide_label: true - } - } - view: CanvasLayout { - label: 'View 1' - width: 1540 - height: 4460 - grid_size: 20 - block hd1 { - position: pos(1320, 20, 180, 50) - } - block hd2 { - position: pos(40, 20, 640, 60) - } - block hd3 { - position: pos(0, 0, 1540, 200) - layer: -1 - } - block t2 { - position: pos(40, 100, 660, 50) - } - block v1 { - position: pos(60, 700, 760, 380) - } - block v2 { - position: pos(80, 360, 300, 140) - } - block v2_dup_dup { - position: pos(440, 2200, 380, 500) - } - block v6 { - position: pos(840, 2200, 680, 500) - } - block v7 { - position: pos(60, 3280, 1440, 430) - } - block users_vs_orders_growth { - position: pos(380, 2860, 560, 400) - } - block v10 { - position: pos(80, 500, 320, 140) - } - block v12 { - position: pos(480, 340, 1000, 300) - layer: -1 - } - block filter_by_country { - position: pos(80, 2920, 260, 40) - } - block t5 { - position: pos(40, 220, 1460, 80) - } - block t6 { - position: pos(40, 1190, 1460, 80) - } - block t8 { - position: pos(60, 2760, 1460, 80) - } - block filter_by_country_text { - position: pos(80, 2880, 260, 40) - } - block t10 { - position: pos(920, 100, 180, 50) - } - block t11 { - position: pos(1120, 100, 180, 50) - } - block t12 { - position: pos(1320, 100, 180, 50) - } - block v13 { - position: pos(40, 1280, 720, 460) - } - block filter_by_country_wrapper { - position: pos(60, 2860, 300, 120) - layer: -2 - } - block filter_by_age_group_text { - position: pos(80, 3160, 260, 40) - } - block filter_by_age_group { - position: pos(80, 3200, 260, 40) - } - block filter_by_city { - position: pos(80, 3060, 260, 40) - } - block filter_by_city_text { - position: pos(80, 3020, 260, 40) - layer: 1 - } - block v15 { - position: pos(960, 2860, 560, 400) - } - block v16 { - position: pos(780, 1280, 720, 460) - } - block t38 { - position: pos(0, 4300, 1540, 170) - layer: -1 - } - block t39 { - position: pos(60, 3760, 200, 70) - } - block t40 { - position: pos(1120, 4340, 400, 110) - } - block t47 { - position: pos(1420, 1140, 80, 100) - layer: 1 - } - block t49 { - position: pos(40, 660, 1460, 420) - layer: -4 - } - block t51 { - position: pos(1440, 2720, 80, 100) - layer: 1 - } - block t52 { - position: pos(460, 320, 1040, 340) - layer: -2 - } - block t53 { - position: pos(40, 320, 400, 340) - layer: -2 - } - block t54 { - position: pos(60, 2200, 360, 500) - } - block filter_by_city_wrapper { - position: pos(60, 3000, 300, 120) - layer: -1 - } - block filter_by_age_group_wrapper { - position: pos(60, 3140, 300, 120) - layer: -1 - } - block v17 { - position: pos(40, 1760, 1480, 420) - } - block v18 { - position: pos(60, 3720, 1480, 500) - } - block p1 { - position: pos(1300, 2860, 220, 60) - layer: 2 - } - block v19 { - position: pos(20, 4490, 400, 300) - layer: 3 - } - block v20 { - position: pos(280, 700, 1180, 380) - layer: -3 - } - block v21 { - position: pos(280, 700, 860, 260) - layer: -1 - } - mobile { - mode: 'auto' - } - } - settings { - timezone: 'America/Los_Angeles' - cache_duration: 10 - } - interactions: [ - PopInteraction { - from: 'p1' - to: [ - CustomMapping { - block: 'v15' - field: ref('order_master', 'order_created_at') - } - ] - } - ] -} \ No newline at end of file diff --git a/team-folders/tai/test_extend/tai_ecom_external.page.aml b/team-folders/tai/test_extend/tai_ecom_external.page.aml deleted file mode 100644 index e941781..0000000 --- a/team-folders/tai/test_extend/tai_ecom_external.page.aml +++ /dev/null @@ -1,43 +0,0 @@ -const hide_position = pos(-200, 0, 0, 0) - -Dashboard tai_ecom_external = tai_ecom.extend({ - view: tai_ecom.view.extend({ - // hide country filter - block filter_by_country { - position: hide_position - } - block filter_by_country_text { - position: hide_position - } - block filter_by_country_wrapper { - position: hide_position - } - - // hide city filter - block filter_by_city { - position: hide_position - } - block filter_by_city_text { - position: hide_position - } - block filter_by_city_wrapper { - position: hide_position - } - - // hide age group - block filter_by_age_group { - position: hide_position - } - block filter_by_age_group_text { - position: hide_position - } - block filter_by_age_group_wrapper { - position: hide_position - } - - // move users vs order growth - block users_vs_orders_growth { - position: pos(60, 2860, 560, 400) - } - }) -}) \ No newline at end of file diff --git a/team-folders/tri.dvm/dashboards/tri-test.page.aml b/team-folders/tri.dvm/dashboards/tri-test.page.aml index 6c6bc57..8aeaedb 100644 --- a/team-folders/tri.dvm/dashboards/tri-test.page.aml +++ b/team-folders/tri.dvm/dashboards/tri-test.page.aml @@ -71,22 +71,22 @@ Dashboard tri_test { } .highcharts-root { - --color-primary: rgba(237,154,100,1); - --color-secondary: rgba(237,154,100,0.7); - --color-dark: rgba(237,154,100,0.5); + --series-1: rgba(237,154,100,1); + --series-2: rgba(237,154,100,0.7); + --series-3: rgba(237,154,100,0.5); } .highcharts-root .highcharts-column-series:nth-child(6n + 1) path.highcharts-point { - fill: var(--color-primary); + fill: var(--series-1); } .highcharts-root .highcharts-column-series:nth-child(6n + 3) path.highcharts-point { - fill: var(--color-secondary); + fill: var(--series-2); } .highcharts-root .highcharts-column-series:nth-child(6n + 5) path.highcharts-point { - fill: var(--color-dark); + fill: var(--series-3); } @@ -96,30 +96,30 @@ Dashboard tri_test { .highcharts-root .highcharts-series:nth-child(6n + 1 of .highcharts-line-series) path.highcharts-graph { - stroke: var(--color-primary); + stroke: var(--series-1); } .highcharts-root .highcharts-series:nth-child(6n + 3 of .highcharts-line-series) path.highcharts-graph { - stroke: var(--color-secondary); + stroke: var(--series-2); } .highcharts-root .highcharts-series:nth-child(6n + 5 of .highcharts-line-series) path.highcharts-graph { - stroke: var(--color-dark); + stroke: var(--series-3); } .highcharts-root .highcharts-series-group :nth-child(3n + 1 of .highcharts-markers) path { - fill: var(--color-primary); + fill: var(--series-1); } .highcharts-root .highcharts-series-group :nth-child(3n + 2 of .highcharts-markers) path { - fill: var(--color-secondary); + fill: var(--series-2); } .highcharts-root .highcharts-series-group :nth-child(3n + 3 of .highcharts-markers) path { - fill: var(--color-dark); + fill: var(--series-3); } @@ -131,16 +131,16 @@ Dashboard tri_test { .highcharts-legend :nth-child(3n + 1 of .highcharts-legend-item.highcharts-column-series) .highcharts-point { - fill: var(--color-primary); + fill: var(--series-1); } .highcharts-legend :nth-child(3n + 2 of .highcharts-legend-item.highcharts-column-series) .highcharts-point { - fill: var(--color-secondary); + fill: var(--series-2); } .highcharts-legend :nth-child(3n + 3 of .highcharts-legend-item.highcharts-column-series) .highcharts-point { - fill: var(--color-dark); + fill: var(--series-3); } @@ -148,15 +148,15 @@ Dashboard tri_test { .highcharts-legend :nth-child(3n + 1 of .highcharts-legend-item.highcharts-line-series) .highcharts-graph { - stroke: var(--color-primary); + stroke: var(--series-1); } .highcharts-legend :nth-child(3n + 2 of .highcharts-legend-item.highcharts-line-series) .highcharts-graph { - stroke: var(--color-secondary) !important; + stroke: var(--series-2) !important; } .highcharts-legend :nth-child(3n + 3 of .highcharts-legend-item.highcharts-line-series) .highcharts-graph { - stroke: var(--color-dark); + stroke: var(--series-3); } diff --git a/test_new.page.aml b/team-folders/tri.dvm/dashboards/untitled_9.page.aml similarity index 59% rename from test_new.page.aml rename to team-folders/tri.dvm/dashboards/untitled_9.page.aml index 96ceff1..f7aa7ad 100644 --- a/test_new.page.aml +++ b/team-folders/tri.dvm/dashboards/untitled_9.page.aml @@ -1,16 +1,16 @@ -Dashboard test_new { - title: 'Test New' - owner: 'tan.nguyen@holistics.io' +Dashboard untitled_9 { + title: 'Untitled 9' + description: '' block title: TextBlock { content: @md # Your title goes here ;; } - block v_c3vu: VizBlock { - label: 'Total Users' + block v1: VizBlock { + label: 'Percent Of Total' viz: DataTable { - dataset: bhx_demo_ecommerce + dataset: demo_ecommerce fields: [ VizFieldFull { - ref: r(bhx_demo_ecommerce.total_users) + ref: 'percent_of_total' format { type: 'number' pattern: 'inherited' @@ -27,22 +27,22 @@ Dashboard test_new { } } } - interactions: [] + view: CanvasLayout { label: 'View 1' - width: 1300 - height: 270 + height: 840 grid_size: 20 - auto_expand_vertically: true block title { - position: pos(20, 20, 1260, 60) + position: pos(20, 20, 1160, 60) } - block v_c3vu { - position: pos(350, 100, 620, 420) + block v1 { + position: pos(640, 60, 400, 300) + layer: 1 } mobile { mode: 'auto' } } + theme: H.themes.vanilla } \ No newline at end of file diff --git a/team-folders/tri.dvm/datasets/bhx_demo_ecommerce.dataset.aml b/team-folders/tri.dvm/datasets/bhx_demo_ecommerce.dataset.aml index 88ce38b..722f07f 100644 --- a/team-folders/tri.dvm/datasets/bhx_demo_ecommerce.dataset.aml +++ b/team-folders/tri.dvm/datasets/bhx_demo_ecommerce.dataset.aml @@ -27,22 +27,14 @@ Dataset bhx_demo_ecommerce { // relationship(bhx_ecommerce_orders_dim_dates, true), ] - // view { - // model bhx_ecommerce_orders { + view { + model bhx_ecommerce_orders { + } - // } - - - - // model bhx_ecommerce_users { - // // field id - // field users_signed_up_count - // } - - // group transaction_abc { - // metric total_users - // } - // } + model bhx_ecommerce_users { + field id + } + } dimension cohort_month { model: bhx_ecommerce_users @@ -126,299 +118,291 @@ Dataset bhx_demo_ecommerce { , else: bhx_ecommerce_countries.name ) ;; } + metric total_users { label: 'Total Users' type: 'number' - hidden: false description: "Total number of users" definition: @aql count(bhx_ecommerce_users.id) ;; - format: "" - } - - // metric total_orders { - // label: "Total Orders" - // type: "number" - // hidden: false - // description: "" - // definition: @aql count(bhx_ecommerce_orders.id);; - // } - - // metric gmv { - // label: "GMV - Gross Merchandise Value" - // type: "number" - // hidden: false - // description: "GMV - Gross Merchandise Value: Total value of all orders before discount." - // definition: @aql bhx_ecommerce_order_items | sum(bhx_ecommerce_order_items.quantity * bhx_ecommerce_products.price);; - // format: "[\$\$]#,###0" - // } - - // metric total_discount { - // label: "Total Discount" - // type: "number" - // hidden: false - // description: "Total Discount: Total discount value of all orders." - // definition: @aql gmv - revenue;; - // format: "[\$\$]#,###0" - // } - - // metric nmv { - // label: "NMV - Net Merchandise Value (Post-Discount & Fulfillment)" - // type: "number" - // hidden: false - // description: "Fulfilled order value after discount. Excludes cancelled/refunded orders.\n\nRepresents the total paid value of fulfilled orders, excluding cancelled and refunded orders, and adjusted for any discounts applied.\n\nThis reflects what customers actually paid for successfully completed transactions, and serves as the revenue base before applying commission." - // definition: @aql (bhx_ecommerce_order_items | sum(bhx_ecommerce_order_items.quantity * bhx_ecommerce_products.price * (1 - bhx_ecommerce_orders.discount))) | where(bhx_ecommerce_orders.status not in ['cancelled', 'refunded']);; - // format: "[\$\$]#,###0" - // } - - // metric revenue { - // label: "Total Revenue (Platform)" - // type: "number" - // hidden: false - // description: "Represents the total revenue earned by the platform based on fulfilled order value (NMV), multiplied by a commission rate.\nAs of May 2025, this demo assumes a 50% commission margin.\nFormula: revenue = NMV × revenue_commission" - // definition: @aql nmv * revenue_commission;; - // format: "[\$\$]#,###0" - // } - - // metric aov { - // label: "AOV - Average Order Value" - // type: "number" - // description: "AOV - Average Order Value: Average value per order (GMV / number of orders)." - // hidden: false - // definition: @aql gmv / total_orders;; - // format: "[\$\$]#,###0" - // } - - // metric total_orders_across_all { - // label: "Total Orders Across All" - // type: "number" - // hidden: false - // description: "" - // definition: @aql total_orders | of_all(bhx_ecommerce_orders);; - // } - - // metric percent_of_total { - // label: "Percent Of Total Orders" - // type: "number" - // hidden: false - // description: "" - // definition: @aql total_orders * 1.0 / total_orders_across_all;; - // format: "#,###0.00%" - // } - - // metric total_delivered_orders { - // label: "Total Delivered Orders" - // type: "number" - // hidden: false - // description: "" - // definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'delivered');; - // } - - // metric total_refunded_orders { - // label: "Total Refunded Orders" - // type: "number" - // hidden: false - // description: "" - // definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'refunded');; - // } - - // metric total_cancelled_orders { - // label: "Total Cancelled Orders" - // type: "number" - // hidden: false - // description: "" - // definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'cancelled');; - // } - - // metric cancelled_orders_ratio { - // label: "Cancelled Order Ratio" - // type: "number" - // hidden: false - // description: "Percentage of orders that were cancelled - Total number of cancelled orders/Total numbers of orders" - // definition: @aql total_cancelled_orders / total_orders;; - // format: "#,###0.00%" - // } - - // metric cancelled_value { - // label: "Cancelled Value" - // type: "number" - // hidden: false - // description: "Total Value of Cancelled Orders" - // definition: @aql gmv | where(bhx_ecommerce_orders.status is 'cancelled');; - // format: "[\$\$]#,###0" - // } - - // metric cancelled_value_ratio { - // label: "Cancelled Value Ratio" - // type: "number" - // hidden: false - // description: "Percentage of order values that were cancelled - Total value of cancelled orders/Total revenue" - // definition: @aql cancelled_value / gmv;; - // format: "#,###0.00%" - // } - - // metric delivered_value { - // label: "Delivered Value" - // type: "number" - // hidden: false - // description: "Total Value of Delivered Orders" - // definition: @aql gmv | where(bhx_ecommerce_orders.status is 'delivered');; - // format: "[\$\$]#,###0" - // } - - // metric refunded_value { - // label: "Refunded Value" - // type: "number" - // hidden: false - // description: "Total Value of Refunded Orders" - // definition: @aql gmv | where(bhx_ecommerce_orders.status is 'refunded');; - // format: "[\$\$]#,###0" - // } - - - // metric retention { - // label: 'Cohort Retention' - // type: 'number' - // definition: @aql (total_users * 1.0) / (total_users | of_all(bhx_ecommerce_orders.month_number)) ;; - // format: "#,###0.00%" - // } - - // metric total_buyers { - // label: "Total Buyers" - // type: "number" - // hidden: false - // description: "" - // definition: @aql count(bhx_ecommerce_users.id) | where(bhx_ecommerce_users.is_buyer is true);; - // } - - // metric total_repeated_buyers { - // label: "Total Repeated Buyers" - // type: "number" - // hidden: false - // description: "" - // definition: @aql count(bhx_ecommerce_users.id) | where(bhx_ecommerce_users.is_repeated_buyer is true);; - // } - - - // metric running_total { - // label: "Running Total Orders" - // type: "number" - // hidden: false - // description: "" - // definition: @aql running_total(total_orders, bhx_ecommerce_orders.created_at | year());; - // } - - // metric dynamic_metric { - // label: 'Dynamic Metric (no format)' - // type: 'number' - // description: 'This dynamic metric doesnt take the format into considering, theyre all in their raw form' - // definition: @aql - // case( + } + + metric total_orders { + label: "Total Orders" + type: "number" + hidden: false + description: "" + definition: @aql count(bhx_ecommerce_orders.id);; + } + + metric gmv { + label: "GMV - Gross Merchandise Value" + type: "number" + hidden: false + description: "GMV - Gross Merchandise Value: Total value of all orders before discount." + definition: @aql bhx_ecommerce_order_items | sum(bhx_ecommerce_order_items.quantity * bhx_ecommerce_products.price);; + format: "[\$\$]#,###0" + } + + metric total_discount { + label: "Total Discount" + type: "number" + hidden: false + description: "Total Discount: Total discount value of all orders." + definition: @aql gmv - revenue;; + format: "[\$\$]#,###0" + } + + metric nmv { + label: "NMV - Net Merchandise Value (Post-Discount & Fulfillment)" + type: "number" + hidden: false + description: "Fulfilled order value after discount. Excludes cancelled/refunded orders.\n\nRepresents the total paid value of fulfilled orders, excluding cancelled and refunded orders, and adjusted for any discounts applied.\n\nThis reflects what customers actually paid for successfully completed transactions, and serves as the revenue base before applying commission." + definition: @aql (bhx_ecommerce_order_items | sum(bhx_ecommerce_order_items.quantity * bhx_ecommerce_products.price * (1 - bhx_ecommerce_orders.discount))) | where(bhx_ecommerce_orders.status not in ['cancelled', 'refunded']);; + format: "[\$\$]#,###0" + } + + metric revenue { + label: "Total Revenue (Platform)" + type: "number" + hidden: false + description: "Represents the total revenue earned by the platform based on fulfilled order value (NMV), multiplied by a commission rate.\nAs of May 2025, this demo assumes a 50% commission margin.\nFormula: revenue = NMV × revenue_commission" + definition: @aql nmv * revenue_commission;; + format: "[\$\$]#,###0" + } + + metric aov { + label: "AOV - Average Order Value" + type: "number" + description: "AOV - Average Order Value: Average value per order (GMV / number of orders)." + hidden: false + definition: @aql gmv / total_orders;; + format: "[\$\$]#,###0" + } + + metric total_orders_across_all { + label: "Total Orders Across All" + type: "number" + hidden: false + description: "" + definition: @aql total_orders | of_all(bhx_ecommerce_orders);; + } + + metric percent_of_total { + label: "Percent Of Total Orders" + type: "number" + hidden: false + description: "" + definition: @aql total_orders * 1.0 / total_orders_across_all;; + format: "#,###0.00%" + } + + metric total_delivered_orders { + label: "Total Delivered Orders" + type: "number" + hidden: false + description: "" + definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'delivered');; + } + + metric total_refunded_orders { + label: "Total Refunded Orders" + type: "number" + hidden: false + description: "" + definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'refunded');; + } + + metric total_cancelled_orders { + label: "Total Cancelled Orders" + type: "number" + hidden: false + description: "" + definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'cancelled');; + } + + metric cancelled_orders_ratio { + label: "Cancelled Order Ratio" + type: "number" + hidden: false + description: "Percentage of orders that were cancelled - Total number of cancelled orders/Total numbers of orders" + definition: @aql total_cancelled_orders / total_orders;; + format: "#,###0.00%" + } + + metric cancelled_value { + label: "Cancelled Value" + type: "number" + hidden: false + description: "Total Value of Cancelled Orders" + definition: @aql gmv | where(bhx_ecommerce_orders.status is 'cancelled');; + format: "[\$\$]#,###0" + } + + metric cancelled_value_ratio { + label: "Cancelled Value Ratio" + type: "number" + hidden: false + description: "Percentage of order values that were cancelled - Total value of cancelled orders/Total revenue" + definition: @aql cancelled_value / gmv;; + format: "#,###0.00%" + } + + metric delivered_value { + label: "Delivered Value" + type: "number" + hidden: false + description: "Total Value of Delivered Orders" + definition: @aql gmv | where(bhx_ecommerce_orders.status is 'delivered');; + format: "[\$\$]#,###0" + } + + metric refunded_value { + label: "Refunded Value" + type: "number" + hidden: false + description: "Total Value of Refunded Orders" + definition: @aql gmv | where(bhx_ecommerce_orders.status is 'refunded');; + format: "[\$\$]#,###0" + } + + + metric retention { + label: 'Cohort Retention' + type: 'number' + definition: @aql (total_users * 1.0) / (total_users | of_all(bhx_ecommerce_orders.month_number)) ;; + format: "#,###0.00%" + } + + metric total_buyers { + label: "Total Buyers" + type: "number" + hidden: false + description: "" + definition: @aql count(bhx_ecommerce_users.id) | where(bhx_ecommerce_users.is_buyer is true);; + } + + metric total_repeated_buyers { + label: "Total Repeated Buyers" + type: "number" + hidden: false + description: "" + definition: @aql count(bhx_ecommerce_users.id) | where(bhx_ecommerce_users.is_repeated_buyer is true);; + } + + + metric running_total { + label: "Running Total Orders" + type: "number" + hidden: false + description: "" + definition: @aql running_total(total_orders, bhx_ecommerce_orders.created_at | year());; + } + + metric dynamic_metric { + label: 'Dynamic Metric (no format)' + type: 'number' + description: 'This dynamic metric doesnt take the format into considering, theyre all in their raw form' + definition: @aql + case( - // when: 'total users' in param_model_demo.metric_selections - // , then: bhx_ecommerce_users.total_users - - // , when: 'total orders' in param_model_demo.metric_selections - // , then: total_orders - - // , when: 'platform revenue' in param_model_demo.metric_selections - // , then: revenue - - // , when: 'GMV' in param_model_demo.metric_selections - // , then: gmv - - // , when: 'NMV' in param_model_demo.metric_selections - // , then: nmv - - // , when: 'AOV' in param_model_demo.metric_selections - // , then: aov - - // ) - // ;; - // } - - // metric dynamic_metric_currency { - // label: 'Dynamic Metric (Currency)' - // type: 'number' - // description: 'Only contains list of metrics with currency (Revenue, GMV, NMV, AOV)' - // definition: @aql - // case( - // when: 'platform revenue' in param_model_demo.metric_selections_currency - // , then: revenue - - // , when: 'GMV' in param_model_demo.metric_selections_currency - // , then: gmv - - // , when: 'NMV' in param_model_demo.metric_selections_currency - // , then: nmv - - // , when: 'AOV' in param_model_demo.metric_selections_currency - // , then: aov - - // ) - // ;; - // format: "[\$\$]#,###0" - // } - - // metric revenue_commission { - // label: "Revenue Commission Rate (Demo from May 2025)" - // type: "number" - // hidden: false - // description: "Commission margin (%) our platform earns on NMV transactions. Set to 50% as of May 2025 for demonstration purposes. Used in revenue calculation: revenue = NMV × commission_rate." - // definition: @aql 0.5;; - // format: "#,###%" - // } - - // metric running_total_orders { - // label: "Running Total Orders" - // type: "number" - // hidden: false - // description: "Cumulative total of orders over time, aggregated by year to show growth trends." - // definition: @aql running_total(total_orders, bhx_ecommerce_orders.created_at | year());; - // } - // metric abc { - // label: "abc" - // type: "number" - // hidden: false - // description: "" - // definition: @aql bhx_ecommerce_products.profit | running_total();; - // } - // metric avxb { - // label: "Avxb" - // type: "number" - // description: "" - // definition: @aql bhx_ecommerce_orders.delivered_orders_count - bhx_ecommerce_orders.cancelled_orders_count + 10044;; - // } - // metric aaa { - // label: "A" - // type: "number" - // description: "" - // definition: @aql 1;; - // } - // metric rt { - // label: "A" - // type: "number" - // description: "" - // definition: @aql 1;; - // } - // metric b { - // label: "undefined" - // type: "number" - // description: "" - // definition: @aql 11;; - // } - // metric ad { - // label: "1" - // type: "number" - // description: "" - // definition: @aql 1;; - // } - // metric metric_c8e74d8 { - // label: "Count of Products Category Id" - // type: "number" - // hidden: false - // description: "" - // definition: @aql count(bhx_ecommerce_products.category_id);; - // } + when: 'total users' in param_model_demo.metric_selections + , then: bhx_ecommerce_users.total_users + + , when: 'total orders' in param_model_demo.metric_selections + , then: total_orders + + , when: 'platform revenue' in param_model_demo.metric_selections + , then: revenue + + , when: 'GMV' in param_model_demo.metric_selections + , then: gmv + + , when: 'NMV' in param_model_demo.metric_selections + , then: nmv + + , when: 'AOV' in param_model_demo.metric_selections + , then: aov + + ) + ;; + } + + metric dynamic_metric_currency { + label: 'Dynamic Metric (Currency)' + type: 'number' + description: 'Only contains list of metrics with currency (Revenue, GMV, NMV, AOV)' + definition: @aql + case( + when: 'platform revenue' in param_model_demo.metric_selections_currency + , then: revenue + + , when: 'GMV' in param_model_demo.metric_selections_currency + , then: gmv + + , when: 'NMV' in param_model_demo.metric_selections_currency + , then: nmv + + , when: 'AOV' in param_model_demo.metric_selections_currency + , then: aov + + ) + ;; + format: "[\$\$]#,###0" + } + + metric revenue_commission { + label: "Revenue Commission Rate (Demo from May 2025)" + type: "number" + hidden: false + description: "Commission margin (%) our platform earns on NMV transactions. Set to 50% as of May 2025 for demonstration purposes. Used in revenue calculation: revenue = NMV × commission_rate." + definition: @aql 0.5;; + format: "#,###%" + } + + metric running_total_orders { + label: "Running Total Orders" + type: "number" + hidden: false + description: "Cumulative total of orders over time, aggregated by year to show growth trends." + definition: @aql running_total(total_orders, bhx_ecommerce_orders.created_at | year());; + } + metric abc { + label: "abc" + type: "number" + hidden: false + description: "" + definition: @aql bhx_ecommerce_products.profit | running_total();; + } + metric avxb { + label: "Avxb" + type: "number" + description: "" + definition: @aql bhx_ecommerce_orders.delivered_orders_count - bhx_ecommerce_orders.cancelled_orders_count + 10044;; + } + metric aaa { + label: "A" + type: "number" + description: "" + definition: @aql 1;; + } + metric rt { + label: "A" + type: "number" + description: "" + definition: @aql 1;; + } + metric b { + label: "undefined" + type: "number" + description: "" + definition: @aql 11;; + } + metric ad { + label: "1" + type: "number" + description: "" + definition: @aql 1;; + } owner: 'tri.dvm@holistics.io' diff --git a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_categories.model.aml b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_categories.model.aml index 5838b50..87c41fb 100644 --- a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_categories.model.aml +++ b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_categories.model.aml @@ -27,7 +27,6 @@ Model bhx_ecommerce_categories { definition: @sql concat({{ name }},'','Hi') ;; } - dimension parent_id { label: 'Parent Id' type: 'number' diff --git a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_countries.model.aml b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_countries.model.aml index 6bce4af..295a703 100644 --- a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_countries.model.aml +++ b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_countries.model.aml @@ -6,13 +6,6 @@ Model bhx_ecommerce_countries { table_name: '"ecommerce"."countries"' owner: 'tri.dvm@holistics.io' - param dynamic_metric { - label: 'Dynamic Metric' - type: 'text' - description: 'Dynamic metric values' - allowed_values: ['Total Users', 'Total Orders', 'Total Revenue'] - } - dimension code { label: 'Country Code' type: 'text' diff --git a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_orders.model.aml b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_orders.model.aml index 3f8c5b6..e4a3d9f 100644 --- a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_orders.model.aml +++ b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_orders.model.aml @@ -55,70 +55,70 @@ Model bhx_ecommerce_orders { definition: @sql LPAD((DATE_PART('month', {{ created_at }}))::text, 2, '0') || ' ' || TO_CHAR({{ created_at }}, 'Month');; description: "Month created of order" } - // measure cumm_orders { - // label: 'Cumulative Orders' - // type: 'number' - // definition: @aql running_total(ecommerce_orders.total_order, ecommerce_orders.order_month) ;; - // description: "The cumulative total of orders." - // aggregation_type: "custom" - // } - // measure delivered_orders_count { - // label: "Delivered Orders Count" - // type: "number" - // definition: @sql count( case when {{#SOURCE.status}} = 'delivered' then 1 else null end);; - // description: "The total number of orders we delivered this period." - // aggregation_type: "custom" - // } - // measure cancelled_orders_count { - // label: 'Cancelled Orders Count' - // type: 'number' - // definition: @sql count( case when {{#SOURCE.status}} = 'cancelled' then 1 else null end);; - // description: "The total number of orders we canceled this period." - // aggregation_type: "custom" - // } - // measure refunded_orders_count { - // label: 'Refunded Orders Count' - // type: 'number' - // definition: @sql count(distinct case when {{status}} = 'refunded' then {{id}} else null end);; - // description: "The total number of orders we refunded this period." - // aggregation_type: "custom" - // } - // measure total_order { - // label: "Total Orders Count" - // type: "number" - // definition: @sql {{ id }};; - // description: "The total number of orders" - // aggregation_type: "count" - // } - // measure total_orders_count { - // label: "Total Orders Count" - // type: "number" - // definition: @sql {{ id }};; - // aggregation_type: "count" - // } + measure cumm_orders { + label: 'Cumulative Orders' + type: 'number' + definition: @aql running_total(ecommerce_orders.total_order, ecommerce_orders.order_month) ;; + description: "The cumulative total of orders." + aggregation_type: "custom" + } + measure delivered_orders_count { + label: "Delivered Orders Count" + type: "number" + definition: @sql count( case when {{#SOURCE.status}} = 'delivered' then 1 else null end);; + description: "The total number of orders we delivered this period." + aggregation_type: "custom" + } + measure cancelled_orders_count { + label: 'Cancelled Orders Count' + type: 'number' + definition: @sql count( case when {{#SOURCE.status}} = 'cancelled' then 1 else null end);; + description: "The total number of orders we canceled this period." + aggregation_type: "custom" + } + measure refunded_orders_count { + label: 'Refunded Orders Count' + type: 'number' + definition: @sql count(distinct case when {{status}} = 'refunded' then {{id}} else null end);; + description: "The total number of orders we refunded this period." + aggregation_type: "custom" + } + measure total_order { + label: "Total Orders Count" + type: "number" + definition: @sql {{ id }};; + description: "The total number of orders" + aggregation_type: "count" + } + measure total_orders_count { + label: "Total Orders Count" + type: "number" + definition: @sql {{ id }};; + aggregation_type: "count" + } - // measure first_order_date { - // label: "First Order Date" - // type: "datetime" - // definition: @sql min({{ created_at }}) ;; - // } + measure first_order_date { + label: "First Order Date" + type: "datetime" + definition: @sql min({{ created_at }}) ;; + } - // measure days_since_last_order { - // label: "Days Since Last Order" - // type: "number" - // definition: @sql DATE_PART('Day', CURRENT_TIMESTAMP - max({{ created_at }}));; - // aggregation_type: "custom" - // } + measure days_since_last_order { + label: "Days Since Last Order" + type: "number" + definition: @sql DATE_PART('Day', CURRENT_TIMESTAMP - max({{ created_at }}));; + aggregation_type: "custom" + } - // measure orders_2023 { - // label: '2023' - // type: "number" - // definition: @aql count(ecommerce_orders.id) | where(ecommerce_orders.created_at matches @2023) ;; - // } + measure orders_2023 { + label: '2023' + type: "number" + definition: @aql count(ecommerce_orders.id) | where(ecommerce_orders.created_at matches @2023) ;; + } - // measure orders_2024 { - // label: '2024' - // type: "number" - // definition: @aql count(ecommerce_orders.id) | where(ecommerce_orders.created_at matches @2024) ;; - // } + measure orders_2024 { + label: '2024' + type: "number" + definition: @aql count(ecommerce_orders.id) | where(ecommerce_orders.created_at matches @2024) ;; + } } \ No newline at end of file diff --git a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_users.model.aml b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_users.model.aml index e431a6f..1f75ccd 100644 --- a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_users.model.aml +++ b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_users.model.aml @@ -26,7 +26,7 @@ Model bhx_ecommerce_users { label: 'Email User' type: 'text' definition: @aql concat( - 'mailto:', bhx_ecommerce_users.email + 'mailto:', ecommerce_users.email );; } @@ -48,7 +48,7 @@ Model bhx_ecommerce_users { label: 'linkedin_search' type: 'text' definition: @aql concat( - 'https://www.linkedin.com/search/results/all/?keywords=',bhx_ecommerce_countries.full_name + 'https://www.linkedin.com/search/results/all/?keywords=',ecommerce_users.full_name );; } @@ -86,7 +86,7 @@ Model bhx_ecommerce_users { case ( when: in(1, H.current_user.pii_access), - then: bhx_ecommerce_users.email, + then: ecommerce_users.email, else: '(redacted)' );; } @@ -177,7 +177,7 @@ end;; measure total_users_aql { label: "Total Users (AQL)" type: "number" - definition: @aql count(bhx_ecommerce_users.id);; + definition: @aql count(ecommerce_users.id);; hidden: false } diff --git a/thong/pii_ecommerce.dataset.aml b/thong/pii_ecommerce.dataset.aml deleted file mode 100644 index a2d7759..0000000 --- a/thong/pii_ecommerce.dataset.aml +++ /dev/null @@ -1,26 +0,0 @@ -Dataset pii_ecommerce { - label: 'PII Ecommerce', - description: '' - data_source_name: 'demodb' - models: [ - pii_users, - ecommerce_products, - ecommerce_merchants, - ecommerce_countries, - ecommerce_orders, - ecommerce_order_items, - ecommerce_cities, - map_categories - ] - relationships: [ - relationship(ecommerce_order_items.order_id > ecommerce_orders.id, true), - relationship(ecommerce_orders.user_id > pii_users.id, true), - relationship(pii_users.city_id > ecommerce_cities.id, true), - relationship(ecommerce_cities.country_code > ecommerce_countries.code, true), - relationship(ecommerce_order_items.product_id > ecommerce_products.id, true), - // relationship(ecommerce_products.id - ecommerce_product_images.product_id, true), - relationship(ecommerce_products.merchant_id > ecommerce_merchants.id, true), - relationship(ecommerce_products_map_categories, true), - relationship(ecommerce_merchants.city_id > ecommerce_cities.id, false) - ] -} \ No newline at end of file diff --git a/thong/pii_users.model.aml b/thong/pii_users.model.aml deleted file mode 100644 index eae5947..0000000 --- a/thong/pii_users.model.aml +++ /dev/null @@ -1,75 +0,0 @@ -const pii = -if (H.current_user.pii_access != 1) { - '\'(redacted)\'' -} else { - 'email' -} - -Model pii_users { - type: 'query' - label: 'Users' - description: '' - data_source_name: 'demodb' - - dimension email { - label: 'Email' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.email }};; - } - dimension id { - label: "Id" - type: "number" - hidden: false - definition: @sql {{ #SOURCE.id }};; - primary_key: false - } - dimension sign_up_at { - label: "Sign Up At" - type: "datetime" - hidden: false - definition: @sql {{ #SOURCE.sign_up_at }};; - primary_key: false - } - dimension first_name { - label: "First Name" - type: "text" - hidden: false - definition: @sql {{ #SOURCE.first_name }};; - primary_key: false - } - dimension last_name { - label: "Last Name" - type: "text" - hidden: false - definition: @sql {{ #SOURCE.last_name }};; - primary_key: false - } - dimension birth_date { - label: "Birth Date" - type: "date" - hidden: false - definition: @sql {{ #SOURCE.birth_date }};; - primary_key: false - } - dimension gender { - label: "Gender" - type: "text" - hidden: false - definition: @sql {{ #SOURCE.gender }};; - primary_key: false - } - dimension city_id { - label: "City Id" - type: "number" - hidden: false - definition: @sql {{ #SOURCE.city_id }};; - primary_key: false - } - - - owner: 'thong.do@holistics.io' - query: @sql select id, sign_up_at, first_name, last_name, birth_date, gender, city_id, ${pii} as email from ecommerce.users;; - models: [ - ] -} \ No newline at end of file diff --git a/toan-test/test_sale.page.aml b/toan-test/test_sale.page.aml deleted file mode 100644 index c6ce44e..0000000 --- a/toan-test/test_sale.page.aml +++ /dev/null @@ -1,55 +0,0 @@ -Dashboard repro_pop_relative { - title: '[Repro] PoP Relative' - - block v1: VizBlock { - label: 'GMV by Day' - viz: LineChart { - dataset: demo_ecommerce - x_axis: VizFieldFull { - ref: ref('order_master', 'order_created_at') - transformation: 'datetrunc day' - format { type: 'date' } - } - y_axis { - series { - field: VizFieldFull { - ref: ref('order_master', 'gmv') - format { type: 'number' } - } - } - } - } -} - - - block p1: PopBlock { - label: 'Compare To' - default { - type: 'relative' - duration: 1 - granularity: 'month' - show_growth_rate: true - } - } - - interactions: [ - PopInteraction { - from: 'p1' - to: [ - CustomMapping { - block: 'v1' - field: ref('order_master', 'order_created_at') - } - ] - } - ] - - view: CanvasLayout { - label: 'View 1' - height: 500 - grid_size: 10 - - block p1 { position: pos(20, 20, 300, 100) layer: 1 } - block v1 { position: pos(20, 140, 1000, 320) layer: 1 } - } -} diff --git a/untitled_5.page.aml b/untitled_5.page.aml deleted file mode 100644 index e2833c0..0000000 --- a/untitled_5.page.aml +++ /dev/null @@ -1,24 +0,0 @@ -Dashboard untitled_5 { - title: 'Untitled' - description: '' - owner: 'thang.lk@holistics.io' - block title: TextBlock { - content: @md # Your title goes here sdas;; - } - - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 800 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 280, 140) - } - mobile { - mode: 'auto' - } - } - - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/untitled_8.page.aml b/untitled_8.page.aml new file mode 100644 index 0000000..dac616a --- /dev/null +++ b/untitled_8.page.aml @@ -0,0 +1,55 @@ +Dashboard untitled_8 { + title: 'Untitled' + description: '' + block title: TextBlock { + content: @md # Your title goes here ;; + } + block v_w1kk: VizBlock { + label: 'Running Total compared with Running Total (Prev. 2y)' + viz: MetricKpi { + dataset: demo_ecommerce_internal_training + value: VizFieldFull { + ref: r(demo_ecommerce_internal_training.running_total) + format { + type: 'number' + pattern: 'inherited' + } + } + compare_value: VizPopSettings { + field: r(order_master.order_created_at) + value: AbsolutePopValue { + from: '2025-09-01' + to: '2025-09-06' + } + } + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + alignment: 'left' + } + } + settings { + hide_label: true + } + } + + view: CanvasLayout { + label: 'View 1' + height: 840 + grid_size: 20 + block title { + position: pos(20, 20, 1160, 60) + } + block v_w1kk { + position: pos(20, 100, 260, 180) + layer: 1 + } + mobile { + mode: 'auto' + } + } + + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/version.aml b/version.aml index 7acbb58..9001afa 100644 --- a/version.aml +++ b/version.aml @@ -1 +1 @@ -const AML_VERSION = '2.0' \ No newline at end of file +const AML_VERSION = '2.0' \ No newline at end of file From 5ca0d93829236ca19cc2c90dcc4175d034b6c360 Mon Sep 17 00:00:00 2001 From: Thang Date: Wed, 21 Jan 2026 10:43:42 +0000 Subject: [PATCH 11/28] Restore to version "Add 'Ecommerce Dashboard - Amyra' page and replace deleted 'ecommerce' dataset with updated 'ecommerce' dataset named 'ecommerce.thang'" (#455e67) --- Hieu/dim_date_hieu.model.aml | 147 ++ Hieu/hieu_haha_meme.dataset.aml | 12 + Hieu/hieu_test.dataset.aml | 33 + Hieu/holidays.model.aml | 22 + Hieu/orders.model.aml | 34 + Hieu/test_hieui.model.aml | 61 + Hieu/untitled_10.page.aml | 153 ++ Hieu/users.model.aml | 34 + abc_test.page.aml | 22 + ...Value] Reusable Dashboard Visuals.page.aml | 22 +- .../dashboards/demo_dashboard_2025.page.aml | 532 +---- .../_3_customer_demographics.page.aml | 8 +- .../dashboards/embed_demo_sales.page.aml | 144 +- .../datasets/demo_ecommerce.dataset.aml | 25 +- .../demo_ecommerce_version_2.dataset.aml | 473 +---- .../demo_ecommerce_version_base.dataset.aml | 134 ++ demo ecommerce/ecommerce_metrics.aml | 260 +++ .../embed/ecommerce_portal.embed.aml | 1 + .../2. Query Models/order_master.model.aml | 2 - demo ecommerce/reusable components/theme.aml | 6 + demo ecommerce/zArchive/untitled_5.page.aml | 85 - ecommerce_orders.model.aml | 45 + ecommerce_sales.model.aml | 52 + hoa_test.page.aml | 22 + .../modules/prod/prod_ecommerce.dataset.aml | 6 + .../test/ecommerce_test_modules.dataset.aml | 17 + modules/models/hub/customers/cities.model.aml | 27 + .../models/hub/customers/countries.model.aml | 27 + modules/models/hub/customers/users.model.aml | 85 + .../hub/transaction/order_items.model.aml | 27 + .../models/hub/transaction/orders.model.aml | 59 + .../models/hub/transaction/products.model.aml | 45 + phuong_test_custom_styling.page.aml | 65 + settings/ai/context.aml | 8 + settings/project_settings.aml | 8 +- .../Amyra/demo_ecommerce_amyra.page.aml | 6 +- .../Amyra/ecommerce_dashboard_new.page.aml | 56 - team-folders/Bao/column_width.page.aml | 289 --- team-folders/Dat/bug_cross_filter.page.aml | 151 -- .../Minh/ecommerce (test themes).page.aml | 71 +- .../Nam/Dashboards/Sale overview.page.aml | 12 +- team-folders/TanNguyen/test_tn.dataset.aml | 14 + .../demo_ecommerce_dashboard_thang.page.aml | 1376 +++++++++++++ .../Thang/ecommerce.thang.dataset.aml | 69 + .../Thang/ecommerce_dashboard_thang.page.aml | 751 +++++++ team-folders/Thang/ecommerce_orders.model.aml | 60 + team-folders/Thang/ecommerce_users.model.aml | 94 + team-folders/Vux/vux-test.page.aml | 173 ++ .../Onboarding Dashboard.page.aml | 1 + .../Vy's Dashboard/VyHuynh_Abernathy.page.aml | 153 +- .../Dynamic Dim/dynamic_dim_model.model.aml | 25 +- .../dynamic_field_selection.page.aml | 60 + .../khai/datasets/khai_ecommerce.dataset.aml | 60 +- .../dynamic_dim_ecommerce_dashboard.page.aml | 349 +++- team-folders/khai/khai_test.page.aml | 828 +++++++- .../khai/models/param_model.model.aml | 12 + ...sales_manager_ecommerce_dashboard.page.aml | 93 + .../dynamic_datasouce_test.page.aml | 2 +- .../dashboards/tai_cohort_retention.page.aml | 388 ++++ .../dashboards/tai_test_new_block.page.aml | 108 - .../tai/test_extend/tai_ecom.page.aml | 1796 +++++++++++++++++ .../test_extend/tai_ecom_external.page.aml | 43 + .../tri.dvm/dashboards/tri-test.page.aml | 36 +- .../datasets/bhx_demo_ecommerce.dataset.aml | 588 +++--- .../bhx_ecommerce_categories.model.aml | 1 + .../bhx_ecommerce_countries.model.aml | 7 + .../bhx_ecommerce_orders.model.aml | 124 +- .../bhx_ecommerce_users.model.aml | 8 +- .../untitled_9.page.aml => test_new.page.aml | 28 +- thong/pii_ecommerce.dataset.aml | 26 + thong/pii_users.model.aml | 75 + toan-test/test_sale.page.aml | 55 + untitled_5.page.aml | 24 + untitled_8.page.aml | 55 - version.aml | 2 +- 75 files changed, 8447 insertions(+), 2325 deletions(-) create mode 100644 Hieu/dim_date_hieu.model.aml create mode 100644 Hieu/hieu_haha_meme.dataset.aml create mode 100644 Hieu/hieu_test.dataset.aml create mode 100644 Hieu/holidays.model.aml create mode 100644 Hieu/orders.model.aml create mode 100644 Hieu/test_hieui.model.aml create mode 100644 Hieu/untitled_10.page.aml create mode 100644 Hieu/users.model.aml create mode 100644 abc_test.page.aml create mode 100644 demo ecommerce/datasets/demo_ecommerce_version_base.dataset.aml create mode 100644 demo ecommerce/ecommerce_metrics.aml delete mode 100644 demo ecommerce/zArchive/untitled_5.page.aml create mode 100644 ecommerce_orders.model.aml create mode 100644 ecommerce_sales.model.aml create mode 100644 hoa_test.page.aml create mode 100644 modules/datasets/modules/prod/prod_ecommerce.dataset.aml create mode 100644 modules/datasets/modules/test/ecommerce_test_modules.dataset.aml create mode 100644 modules/models/hub/customers/cities.model.aml create mode 100644 modules/models/hub/customers/countries.model.aml create mode 100644 modules/models/hub/customers/users.model.aml create mode 100644 modules/models/hub/transaction/order_items.model.aml create mode 100644 modules/models/hub/transaction/orders.model.aml create mode 100644 modules/models/hub/transaction/products.model.aml create mode 100644 phuong_test_custom_styling.page.aml create mode 100644 settings/ai/context.aml delete mode 100644 team-folders/Amyra/ecommerce_dashboard_new.page.aml delete mode 100644 team-folders/Bao/column_width.page.aml delete mode 100644 team-folders/Dat/bug_cross_filter.page.aml create mode 100644 team-folders/TanNguyen/test_tn.dataset.aml create mode 100644 team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml create mode 100644 team-folders/Thang/ecommerce.thang.dataset.aml create mode 100644 team-folders/Thang/ecommerce_dashboard_thang.page.aml create mode 100644 team-folders/Thang/ecommerce_orders.model.aml create mode 100644 team-folders/Thang/ecommerce_users.model.aml create mode 100644 team-folders/Vux/vux-test.page.aml create mode 100644 team-folders/khai/sales_manager_ecommerce_dashboard.page.aml create mode 100644 team-folders/tai/dashboards/tai_cohort_retention.page.aml delete mode 100644 team-folders/tai/dashboards/tai_test_new_block.page.aml create mode 100644 team-folders/tai/test_extend/tai_ecom.page.aml create mode 100644 team-folders/tai/test_extend/tai_ecom_external.page.aml rename team-folders/tri.dvm/dashboards/untitled_9.page.aml => test_new.page.aml (59%) create mode 100644 thong/pii_ecommerce.dataset.aml create mode 100644 thong/pii_users.model.aml create mode 100644 toan-test/test_sale.page.aml create mode 100644 untitled_5.page.aml delete mode 100644 untitled_8.page.aml diff --git a/Hieu/dim_date_hieu.model.aml b/Hieu/dim_date_hieu.model.aml new file mode 100644 index 0000000..dd01a71 --- /dev/null +++ b/Hieu/dim_date_hieu.model.aml @@ -0,0 +1,147 @@ +Model dim_date_hieu { + type: 'query' + label: 'Dim Dates' + description: '' + data_source_name: 'demodb' + dimension date_key { + label: 'Date Key' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.date_key }};; + } + dimension day_of_week { + label: 'Day Of Week' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.day_of_week }};; + } + dimension day_of_month { + label: 'Day Of Month' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.day_of_month }};; + } + dimension day_of_year { + label: 'Day Of Year' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.day_of_year }};; + } + dimension weekday_name { + label: 'Weekday Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.weekday_name }};; + } + dimension weekday_name_abbr { + label: 'Weekday Name Abbr.' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.weekday_name_abbr }};; + } + dimension week_number { + label: 'Week Number' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.week_number }};; + } + dimension week_number_iso { + label: 'Week Number ISO' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.week_number_iso }};; + } + dimension year_week_iso { + label: 'Year Week ISO' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.year_week_iso }};; + } + dimension month_name { + label: 'Month Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.month_name }};; + } + dimension month_name_abbr { + label: 'Month Name Abbr.' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.month_name_abbr }};; + } + dimension month_number { + label: 'Month Number' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.month_number }};; + } + dimension year_month { + label: 'Year Month' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.year_month }};; + } + dimension quarter { + label: 'Quarter' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.quarter }};; + } + dimension year_quarter { + label: 'Year Quarter' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.year_quarter }};; + } + dimension year { + label: 'Year' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.year }};; + } + + owner: 'ha.pham+demo4@holistics.io' + query: @sql + SELECT + date_key::date + , to_char(date_key, 'ID') as day_of_week + , to_char(date_key, 'DD') as day_of_month + , to_char(date_key, 'DDD') as day_of_year + , to_char(date_key, 'Day') as weekday_name + , to_char(date_key, 'Dy') as weekday_name_abbr + , to_char(date_key, 'WW') as week_number + , to_char(date_key, 'IW') as week_number_iso + , to_char(date_key, 'YYYYIW') as year_week_iso + , to_char(date_key, 'Month') as month_name + , to_char(date_key, 'Mon') as month_name_abbr + , to_char(date_key, 'MM') as month_number + , to_char(date_key, 'YYYYMM') as year_month + , to_char(date_key, 'Q') as quarter + , to_char(date_key, 'YYYY') || 'Q' || to_char(date_key, 'Q') as year_quarter + , to_char(date_key, 'YYYY') as year + FROM generate_series ('2013-01-01' :: date, current_date ,'1 day' :: interval) date_key;; + models: [ + ] + + param time_grain_choice { + label: 'Time Grain Choice' + type: 'date' + allowed_values: ['Day', 'Week', 'Quarter'] + } + + dimension time_grain_selector { + label: 'Time Grain Selector' + type: 'date' + + definition: @aql case( + when: 'Day' in dim_dates.time_grain_choice + , then: dim_dates.day_of_year + + , when: 'Week' in dim_dates.time_grain_choice + , then: dim_dates.year_week_iso + + , when: 'Quarter' in dim_dates.time_grain_choice + , then: dim_dates.year_quarter + ) ;; + } +} \ No newline at end of file diff --git a/Hieu/hieu_haha_meme.dataset.aml b/Hieu/hieu_haha_meme.dataset.aml new file mode 100644 index 0000000..9d42aa7 --- /dev/null +++ b/Hieu/hieu_haha_meme.dataset.aml @@ -0,0 +1,12 @@ +Dataset hieu_haha_meme { + label: 'hieu_haha_meme' + description: '' + data_source_name: 'movies_lens' + models: [ + orderskk, + users_kk + ] + relationships: [ + relationship(orderskk.user_id > users_kk.id, true) + ] +} \ No newline at end of file diff --git a/Hieu/hieu_test.dataset.aml b/Hieu/hieu_test.dataset.aml new file mode 100644 index 0000000..a5dcaf8 --- /dev/null +++ b/Hieu/hieu_test.dataset.aml @@ -0,0 +1,33 @@ +Dataset hieu_test { + label: 'hieu_test' + description: '' + data_source_name: 'movies_lens' + models: [ + holidays, + dim_date_hieu + ] + relationships: [] + metric date1 { + label: "Date 1" + type: "date" + hidden: false + description: "" + definition: @aql min(date_trunc(dim_date_hieu.date_key, 'day')) +| where(dim_date_hieu.date_key == @(9-Oct-2025) );; + } + metric date2 { + label: "Date 2" + type: "date" + hidden: false + description: "" + definition: @aql min(date_trunc(dim_date_hieu.date_key, 'day')) +| where(dim_date_hieu.date_key == @(14-Oct-2025) );; + } + metric business_days { + label: "Business Days" + type: "number" + hidden: false + description: "" + definition: @aql cast(2.4, 'int');; + } +} \ No newline at end of file diff --git a/Hieu/holidays.model.aml b/Hieu/holidays.model.aml new file mode 100644 index 0000000..85a3951 --- /dev/null +++ b/Hieu/holidays.model.aml @@ -0,0 +1,22 @@ +Model holidays { + type: 'query' + label: 'Holidays' + description: '' + data_source_name: 'movies_lens' + dimension date { + label: 'Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.date }};; + } + + owner: 'hieu.nht@holistics.io' + query: @sql + SELECT DATE '2025-01-06' AS date + UNION ALL SELECT DATE '2025-01-19' + UNION ALL SELECT DATE '2025-01-30' + UNION ALL SELECT DATE '2025-02-08' + UNION ALL SELECT DATE '2025-02-24';;; + models: [ + ] +} diff --git a/Hieu/orders.model.aml b/Hieu/orders.model.aml new file mode 100644 index 0000000..1162eae --- /dev/null +++ b/Hieu/orders.model.aml @@ -0,0 +1,34 @@ +Model orderskk { + type: 'query' + label: 'Orders' + description: '' + data_source_name: 'movies_lens' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension user_id { + label: 'User Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.user_id }};; + } + dimension tenant_id { + label: 'tenant_id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.tenant_id }};; + } + + owner: 'hieu.nht@holistics.io' + query: @sql + SELECT 1 as id, 1 as user_id, 1 as tenant_id + UNION + select 2 as id, null as user_id, 1 as tenant_id + UNION + select 3 as id, 3 as user_id, 2 as tenant_id;; + models: [ + ] +} diff --git a/Hieu/test_hieui.model.aml b/Hieu/test_hieui.model.aml new file mode 100644 index 0000000..fa08bed --- /dev/null +++ b/Hieu/test_hieui.model.aml @@ -0,0 +1,61 @@ +Model test_hieui { + type: 'query' + label: 'Test Hieui' + description: '' + data_source_name: 'movies_lens' + dimension user_id { + label: 'User Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.user_id }};; + } + dimension on_date { + label: 'On Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.on_date }};; + } + dimension balance { + label: 'Balance' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.balance }};; + } + dimension d1 { + label: "D 1" + type: "number" + description: "" + hidden: false + definition: @aql max(test_hieui.balance) | dimensionalize(test_hieui.user_id, test_hieui.on_date);; + primary_key: false + } + + owner: 'hieu.nht@holistics.io' + query: @sql + select 1 as user_id, cast('2025-01-01' as date) as on_date, 10 as balance + union all + select 1 as user_id, cast('2025-01-02' as date) as on_date, 20 as balance + union all + select 2 as user_id, cast('2025-01-01' as date) as on_date, 5 as balance + union all + select 2 as user_id, cast('2025-01-02' as date) as on_date, 10 as balance;; + models: [ + ] + measure metric_5f8d711 { + label: "Untitled Metric" + type: "number" + description: "" + definition: @aql sum(test_hieui.d1);; + aggregation_type: "custom" + } + measure metric_43f0da2 { + label: "Untitled Metric" + type: "number" + description: "" + definition: @aql test_hieui +| group(test_hieui.user_id, test_hieui.on_date) +| select(test_hieui.user_id, test_hieui.on_date, c: max(test_hieui.balance)) +| sum(c);; + aggregation_type: "custom" + } +} \ No newline at end of file diff --git a/Hieu/untitled_10.page.aml b/Hieu/untitled_10.page.aml new file mode 100644 index 0000000..228dc7e --- /dev/null +++ b/Hieu/untitled_10.page.aml @@ -0,0 +1,153 @@ +Dashboard untitled_10_2 { + title: 'untitled_10' + description: '' + owner: 'hieu.nht@holistics.io' + block title: TextBlock { + content: @md # Your title goes here ;; + } + block v_eq1j: VizBlock { + label: 'fff' + viz: DataTable { + dataset: hieu_haha_meme + fields: [ + VizFieldFull { + label: 'order id' + ref: r(orderskk.id) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(orderskk.tenant_id) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + label: 'user id' + ref: r(users_kk.id) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + show_row_with_no_data: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_tf0o: VizBlock { + label: 'fdf' + viz: DataTable { + dataset: hieu_haha_meme + fields: [ + VizFieldFull { + ref: r(users_kk.id) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(users_kk.name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(users_kk.tenant_id) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_ahde: FilterBlock { + label: 'Orders tenant_id' + type: 'field' + source: FieldFilterSource { + dataset: hieu_haha_meme + field: r(users_kk.tenant_id) + } + default { + operator: 'is' + value: [] + } + } + block v_7s1v: VizBlock { + label: 'Total Orders' + viz: DataTable { + dataset: vux_archive + fields: [ + VizFieldFull { + ref: r(vux_archive.total_orders) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(ecommerce_orders.id) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + view: CanvasLayout { + label: 'View 1' + width: 1300 + height: 1100 + grid_size: 20 + auto_expand_vertically: true + block title { + position: pos(20, 20, 1260, 60) + } + block v_eq1j { + position: pos(480, 220, 620, 420) + } + block v_tf0o { + position: pos(40, 240, 380, 420) + } + block f_ahde { + position: pos(60, 120, 300, 60) + } + block v_7s1v { + position: pos(440, 660, 620, 420) + layer: 1 + } + mobile { + mode: 'auto' + } + } + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/Hieu/users.model.aml b/Hieu/users.model.aml new file mode 100644 index 0000000..8da9b2d --- /dev/null +++ b/Hieu/users.model.aml @@ -0,0 +1,34 @@ +Model users_kk { + type: 'query' + label: 'Users' + description: '' + data_source_name: 'movies_lens' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension name { + label: 'Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.name }};; + } + dimension tenant_id { + label: 'tenant_id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.tenant_id }};; + } + + owner: 'hieu.nht@holistics.io' + query: @sql + select 1 as id, 'hieu' as NAME, 1 as tenant_id + union + select 2 as id, 'haha' as NAME, 1 as tenant_id + UNION + select 3 as id, 'meme' as NAME, 2 as tenant_id;; + models: [ + ] +} diff --git a/abc_test.page.aml b/abc_test.page.aml new file mode 100644 index 0000000..dee5325 --- /dev/null +++ b/abc_test.page.aml @@ -0,0 +1,22 @@ +Dashboard abc_test { + title: 'abc-test' + owner: 'thinh.nt+explorer@holistics.io' + block title: TextBlock { + content: @md # Your title goes here ;; + } + interactions: [] + view: CanvasLayout { + label: 'View 1' + width: 1300 + height: 800 + grid_size: 20 + auto_expand_vertically: true + block title { + position: pos(20, 20, 1260, 60) + } + mobile { + mode: 'auto' + } + } + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/demo (specific use-case)/[Value] Reusable Dashboard Visuals.page.aml b/demo (specific use-case)/[Value] Reusable Dashboard Visuals.page.aml index 5402992..1ded068 100644 --- a/demo (specific use-case)/[Value] Reusable Dashboard Visuals.page.aml +++ b/demo (specific use-case)/[Value] Reusable Dashboard Visuals.page.aml @@ -14,7 +14,7 @@ const heightPosPieRevenue = 950 const heightPosBarRevenue = 1350 const count_orders = ref('ecommerce_orders', 'total_orders_count') -const revenue = ref('order_master', 'revenue') +const revenue_this = ref('order_master', 'revenue') Func get_bar(metric: FieldRef, country: String, y_axis_label: String) { @@ -206,17 +206,17 @@ Dashboard demo_func_ecommerce { block v9: get_bar(count_orders, 'India', '# of Orders') block v10: get_bar(count_orders, 'Singapore', '# of Orders') - block v11: get_pie(revenue, 'Vietnam') - block v12: get_pie(revenue, 'Germany') - block v13: get_pie(revenue, 'France') - block v14: get_pie(revenue, 'India') - block v15: get_pie(revenue, 'Singapore') + block v11: get_pie(revenue_this, 'Vietnam') + block v12: get_pie(revenue_this, 'Germany') + block v13: get_pie(revenue_this, 'France') + block v14: get_pie(revenue_this, 'India') + block v15: get_pie(revenue_this, 'Singapore') - block v16: get_bar(revenue, 'Vietnam', 'Revenue $') - block v17: get_bar(revenue, 'Germany', 'Revenue $') - block v18: get_bar(revenue, 'France', 'Revenue $') - block v19: get_bar(revenue, 'India', 'Revenue $') - block v20: get_bar(revenue, 'Singapore', 'Revenue $') + block v16: get_bar(revenue_this, 'Vietnam', 'Revenue $') + block v17: get_bar(revenue_this, 'Germany', 'Revenue $') + block v18: get_bar(revenue_this, 'France', 'Revenue $') + block v19: get_bar(revenue_this, 'India', 'Revenue $') + block v20: get_bar(revenue_this, 'Singapore', 'Revenue $') settings { timezone: 'America/Los_Angeles' cache_duration: 1440 diff --git a/demo ecommerce/dashboards/demo_dashboard_2025.page.aml b/demo ecommerce/dashboards/demo_dashboard_2025.page.aml index fee8ea3..7e79576 100644 --- a/demo ecommerce/dashboards/demo_dashboard_2025.page.aml +++ b/demo ecommerce/dashboards/demo_dashboard_2025.page.aml @@ -1151,51 +1151,6 @@ Use the **[Drill Down]** or **[View Underlying Data]** features to explore break } } } - block v57: VizBlock { - label: 'Any Metrics by Product Category' - viz: BarChart { - dataset: demo_ecommerce_version_2 - theme { - - } - x_axis: VizFieldFull { - ref: ref('map_categories', 'parent_category') - format { - type: 'text' - } - } - legend: VizFieldFull { - ref: ref('map_categories', 'category') - format { - type: 'text' - } - } - y_axis { - settings { - show_data_label_by: 'value' - stack_series_by: 'value' - } - series { - field: VizFieldFull { - ref: 'dynamic_metric_currency' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - legend_label: 'hidden' - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } block v58: VizBlock { label: 'Cohort Report by Product' viz: RetentionHeatmap { @@ -1702,10 +1657,6 @@ Uncover trends by comparing current performance against a previous period. position: pos(40, 1760, 1100, 580) layer: 13 } - block v57 { - position: pos(360, 540, 800, 340) - layer: 3 - } block v58 { position: pos(40, 1280, 1100, 460) layer: 6 @@ -1807,241 +1758,6 @@ Uncover trends by comparing current performance against a previous period. } } interactions: [ - FilterInteraction { - from: 'v20' - to: [ - CustomMapping { - block: [ - 'v34', - 'v37', - 'v43', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v21' - to: [ - CustomMapping { - block: [ - 'v34', - 'v37', - 'v43', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v22' - to: [ - CustomMapping { - block: [ - 'v34', - 'v37', - 'v43', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v25' - to: [ - CustomMapping { - block: [ - 'v34', - 'v37', - 'v43', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v27' - to: [ - CustomMapping { - block: [ - 'v34', - 'v37', - 'v43', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v28' - to: [ - CustomMapping { - block: [ - 'v34', - 'v37', - 'v43', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v29' - to: [ - CustomMapping { - block: [ - 'v34', - 'v37', - 'v43', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v30' - to: [ - CustomMapping { - block: [ - 'v34', - 'v37', - 'v43', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v31' - to: [ - CustomMapping { - block: [ - 'v34', - 'v37', - 'v43', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v34' - to: [ - CustomMapping { - block: [ - 'v20', - 'v21', - 'v22', - 'v25', - 'v27', - 'v28', - 'v29', - 'v30', - 'v31', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v37' - to: [ - CustomMapping { - block: [ - 'v20', - 'v21', - 'v22', - 'v25', - 'v27', - 'v28', - 'v29', - 'v30', - 'v31', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f2' - to: [ - CustomMapping { - block: [ - 'v20', - 'v21', - 'v22', - 'v25', - 'v27', - 'v28', - 'v29', - 'v30', - 'v31', - 'v34', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, FilterInteraction { from: 'f2' to: [ @@ -2055,56 +1771,6 @@ Uncover trends by comparing current performance against a previous period. } ] }, - FilterInteraction { - from: 'v43' - to: [ - CustomMapping { - block: [ - 'v20', - 'v21', - 'v22', - 'v25', - 'v27', - 'v28', - 'v29', - 'v30', - 'v31', - 'v44', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f4' - to: [ - CustomMapping { - block: [ - 'v20', - 'v21', - 'v22', - 'v25', - 'v27', - 'v28', - 'v29', - 'v30', - 'v31', - 'v34', - 'v37', - 'v43', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, FilterInteraction { from: 'f4' to: [ @@ -2118,119 +1784,6 @@ Uncover trends by comparing current performance against a previous period. } ] }, - FilterInteraction { - from: 'v44' - to: [ - CustomMapping { - block: [ - 'v20', - 'v21', - 'v22', - 'v25', - 'v27', - 'v28', - 'v29', - 'v30', - 'v31', - 'v34', - 'v37', - 'v43', - 'v52', - 'v53', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v52a' - to: [ - CustomMapping { - block: [ - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v53a' - to: [ - CustomMapping { - block: [ - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v52' - to: [ - CustomMapping { - block: [ - 'v20', - 'v21', - 'v22', - 'v25', - 'v27', - 'v28', - 'v29', - 'v30', - 'v31', - 'v34', - 'v37', - 'v43', - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v53' - to: [ - CustomMapping { - block: [ - 'v57', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v57' - to: [ - CustomMapping { - block: [ - 'v20', - 'v21', - 'v22', - 'v25', - 'v27', - 'v28', - 'v29', - 'v30', - 'v31', - 'v34', - 'v37', - 'v43', - 'v44', - 'v52a', - 'v53a', - 'v52', - 'v53' - ] - disabled: true - } - ] - }, FilterInteraction { from: 'v58' to: [ @@ -2280,17 +1833,7 @@ Uncover trends by comparing current performance against a previous period. 'v53a', 'v52', 'v53', - 'v58' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f10' - to: [ - CustomMapping { - block: [ + 'v58', 'f2', 'f4', 'f11', @@ -2300,34 +1843,6 @@ Uncover trends by comparing current performance against a previous period. } ] }, - FilterInteraction { - from: 'f11' - to: [ - CustomMapping { - block: [ - 'v20', - 'v21', - 'v22', - 'v25', - 'v27', - 'v28', - 'v29', - 'v30', - 'v31', - 'v34', - 'v37', - 'v43', - 'v44', - 'v52a', - 'v53a', - 'v52', - 'v53', - 'v57' - ] - disabled: true - } - ] - }, FilterInteraction { from: 'f11' to: [ @@ -2342,34 +1857,6 @@ Uncover trends by comparing current performance against a previous period. } ] }, - FilterInteraction { - from: 'f12' - to: [ - CustomMapping { - block: [ - 'v20', - 'v21', - 'v22', - 'v25', - 'v27', - 'v28', - 'v29', - 'v30', - 'v31', - 'v34', - 'v37', - 'v43', - 'v44', - 'v52a', - 'v53a', - 'v52', - 'v53', - 'v57' - ] - disabled: true - } - ] - }, FilterInteraction { from: 'f12' to: [ @@ -2389,7 +1876,7 @@ Uncover trends by comparing current performance against a previous period. to: [ CustomMapping { block: 'v37' - field: ref('ecommerce_users', 'sign_up_at') + field: r(ecommerce_users.sign_up_at) } ] }, @@ -2402,20 +1889,7 @@ Uncover trends by comparing current performance against a previous period. 'v52a', 'v53' ] - field: ref('ecommerce_orders', 'created_at') - } - ] - }, - FilterInteraction { - from: 'f9' - to: [ - CustomMapping { - block: 'v58' - field: ref('ecommerce_users', 'cohort_month') - }, - CustomMapping { - block: 'v57' - field: ref('ecommerce_orders', 'created_at') + field: r(ecommerce_orders.created_at) } ] } diff --git a/demo ecommerce/dashboards/drill_dashboards/_3_customer_demographics.page.aml b/demo ecommerce/dashboards/drill_dashboards/_3_customer_demographics.page.aml index 3c6bf53..cad5b98 100644 --- a/demo ecommerce/dashboards/drill_dashboards/_3_customer_demographics.page.aml +++ b/demo ecommerce/dashboards/drill_dashboards/_3_customer_demographics.page.aml @@ -5,11 +5,11 @@ Dashboard _3_customer_demographics { type: 'field' source: FieldFilterSource { dataset: demo_ecommerce - field: ref('ecommerce_cities', 'name') + field: r(ecommerce_cities.name) } default { operator: 'is' - value: [] + value: 'Berlin' } settings { drillthrough: Drillthrough { @@ -47,11 +47,11 @@ Dashboard _3_customer_demographics { type: 'field' source: FieldFilterSource { dataset: demo_ecommerce - field: ref('ecommerce_countries', 'name') + field: r(ecommerce_countries.name) } default { operator: 'is' - value: [] + value: 'Australia' } settings { drillthrough: Drillthrough { diff --git a/demo ecommerce/dashboards/embed_demo_sales.page.aml b/demo ecommerce/dashboards/embed_demo_sales.page.aml index 0dc63a6..a9e481d 100644 --- a/demo ecommerce/dashboards/embed_demo_sales.page.aml +++ b/demo ecommerce/dashboards/embed_demo_sales.page.aml @@ -134,7 +134,7 @@ Dashboard embed_demo_landing_page_2 { pattern: 'inherited' } } - + ] settings { show_row_number: true @@ -261,52 +261,23 @@ ecommerce_users.sign_up_date calc_type: 'measure' data_type: 'number' } - x_axis: VizFieldFull { - ref: ref('ecommerce_users', 'sign_up_date') - transformation: 'datetrunc quarter' - format { - type: 'date' - } - } - y_axis { - series { - mark_type: 'column' - field { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#005A32FF' - } - } - } - y_axis { - settings { - alignment: 'right' - } - series { - mark_type: 'line' - field { - ref: 'f_3f16a1c' - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#41ab5d' - line_interpolation: 'smooth' - } - } + filter { + field: r(order_master.last_order_value) + operator: 'is' + value: '1' } settings { + x_axis_show_null_datetime: true pop { - field: ref('ecommerce_users', 'sign_up_date') - duration: 3 - granularity: 'month' + field: r(ecommerce_users.sign_up_date) + value: RelativePopValue { + duration: 3 + granularity: 'month' + } + } + aggregate_awareness { + enabled: true + debug_comments: true } } } @@ -425,7 +396,7 @@ ecommerce_users.sign_up_date type: 'field' source: FieldFilterSource { dataset: demo_ecommerce - field: ref('ecommerce_products', 'name') + field: r(ecommerce_products.name) } default { operator: 'is' @@ -433,7 +404,7 @@ ecommerce_users.sign_up_date } settings { drillthrough: Drillthrough { - enabled: true + enabled: false sources: [ AutoDrillthroughSource { } @@ -570,10 +541,22 @@ ecommerce_users.sign_up_date granularity: 'year' } } + block f_order_master_last_order_value: FilterBlock { + label: 'Order Master Last Order Value' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: r(order_master.last_order_value) + } + default { + operator: 'is' + value: [] + } + } view: CanvasLayout { label: 'View 1' width: 1420 - height: 1530 + height: 1520 block f1 { position: pos(-320, 10, 300, 80) } @@ -587,22 +570,22 @@ ecommerce_users.sign_up_date position: pos(-20, 100, 1480, 20) } block t2 { - position: pos(750, 340, 650, 40) + position: pos(750, 330, 650, 40) } block t5 { position: pos(30, 10, 170, 90) } block t9 { - position: pos(40, 340, 650, 40) + position: pos(40, 330, 650, 40) } block v1 { position: pos(360, 20, 360, 60) } block v2 { - position: pos(750, 780, 650, 240) + position: pos(750, 770, 650, 240) } block v3 { - position: pos(40, 780, 650, 240) + position: pos(40, 770, 650, 240) } block v4 { position: pos(40, 140, 240, 140) @@ -617,7 +600,7 @@ ecommerce_users.sign_up_date position: pos(1160, 140, 240, 140) } block v8 { - position: pos(40, 390, 650, 370) + position: pos(40, 380, 650, 370) } block t10 { position: pos(300, 120, 10, 180) @@ -633,24 +616,24 @@ ecommerce_users.sign_up_date position: pos(1140, 120, 10, 180) } block t14 { - position: pos(20, 320, 690, 720) + position: pos(20, 310, 690, 720) layer: -2 } block t15 { - position: pos(730, 320, 690, 720) + position: pos(730, 310, 690, 720) layer: -2 } block v11 { - position: pos(750, 390, 650, 370) + position: pos(750, 380, 650, 370) } block v12 { position: pos(320, 140, 240, 140) } block v13 { - position: pos(730, 1050, 680, 450) + position: pos(730, 1040, 680, 450) } block v14 { - position: pos(10, 1050, 700, 450) + position: pos(10, 1040, 700, 450) } block box1 { position: pos(20, 120, 1400, 180) @@ -660,18 +643,45 @@ ecommerce_users.sign_up_date position: pos(230, 30, 10, 40) } block d1 { - position: pos(520, 330, 170, 100) + position: pos(520, 320, 170, 100) } block p1 { - position: pos(1190, 330, 210, 80) + position: pos(1190, 320, 210, 80) + } + block f_order_master_last_order_value { + position: pos(400, 580, 300, 80) } } interactions: [ + FilterInteraction { + from: 'f1' + to: [ + CustomMapping { + block: 'f_order_master_last_order_value' + disabled: true + } + ] + }, FilterInteraction { from: 'f3' to: [ CustomMapping { - block: 'f1' + block: [ + 'f1', + 'f_order_master_last_order_value' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_order_master_last_order_value' + to: [ + CustomMapping { + block: [ + 'f1', + 'f3' + ] disabled: true } ] @@ -686,7 +696,7 @@ ecommerce_users.sign_up_date 'v8', 'v12' ] - field: ref('ecommerce_users', 'sign_up_date') + field: r(ecommerce_users.sign_up_date) }, CustomMapping { block: [ @@ -694,11 +704,11 @@ ecommerce_users.sign_up_date 'v6', 'v7' ] - field: ref('order_master', 'order_created_at') + field: r(order_master.order_created_at) }, CustomMapping { block: 'v11' - field: ref('dim_dates', 'date_key') + field: r(dim_dates.date_key) } ] }, @@ -707,11 +717,11 @@ ecommerce_users.sign_up_date to: [ CustomMapping { block: 'v8' - field: ref('ecommerce_users', 'sign_up_date') + field: r(ecommerce_users.sign_up_date) }, CustomMapping { block: 'v11' - field: ref('dim_dates', 'date_key') + field: r(dim_dates.date_key) } ] }, @@ -720,11 +730,11 @@ ecommerce_users.sign_up_date to: [ CustomMapping { block: 'v11' - field: ref('dim_dates', 'date_key') + field: r(dim_dates.date_key) }, CustomMapping { block: 'v8' - field: ref('ecommerce_users', 'sign_up_date') + field: r(ecommerce_users.sign_up_date) } ] } diff --git a/demo ecommerce/datasets/demo_ecommerce.dataset.aml b/demo ecommerce/datasets/demo_ecommerce.dataset.aml index d2df59c..81072e4 100644 --- a/demo ecommerce/datasets/demo_ecommerce.dataset.aml +++ b/demo ecommerce/datasets/demo_ecommerce.dataset.aml @@ -254,22 +254,24 @@ pre_aggregates: { label: "Total Orders" type: "number" hidden: false - description: "" + description: "Total number of order after `01-2025`" definition: @aql count(ecommerce_orders.id);; + format: "#,###" } metric total_orders_across_all { label: "Total Orders Across All" type: "number" hidden: false - description: "" + description: "Counts the total number of orders across all records in the ecommerce_orders table, ignoring any grouping or filtering by dimensions" definition: @aql count(ecommerce_orders.id) | of_all(ecommerce_orders);; } metric percent_of_total { label: "Percent Of Total" type: "number" hidden: false - description: "" + description: "Calculates the percentage of total orders represented by the current context, by dividing the total number of orders by the total number of orders across all records" definition: @aql total_orders * 1.0 / total_orders_across_all;; + format: "#,###0.0\%" } // metric abc { // label: "Abc" @@ -289,27 +291,38 @@ pre_aggregates: { label: "Running Total" type: "number" hidden: false - description: "" + description: "Calculates the cumulative sum of total orders over time, grouped by year based on the ecommerce_orders.created_at field." definition: @aql running_total(total_orders, ecommerce_orders.created_at | year());; } metric dynamic_metric { label: 'Dynamic Metric' type: 'number' + description: "Depending on the selection, this metric outputs total users, total products, total orders, percent of total, average order value, or revenue" definition: @aql case( when: 'total users' in param_model_nam.metric_selections , then: ecommerce_users.total_users + , when: 'total products' in param_model_nam.metric_selections + , then: ecommerce_products.total_products + , when: 'total orders' in param_model_nam.metric_selections , then: total_orders - , when: 'total products' in param_model_nam.metric_selections - , then: ecommerce_products.total_products + , when: 'pot' in param_model_nam.metric_selections + , then: percent_of_total + + , when: 'aov' in param_model_nam.metric_selections + , then: order_master.aov + + , when: 'revenue' in param_model_nam.metric_selections + , then: order_master.revenue ) ;; } + dimension breakdown_dim { label: 'Dynamic Breakdown Dimension' type: 'text' diff --git a/demo ecommerce/datasets/demo_ecommerce_version_2.dataset.aml b/demo ecommerce/datasets/demo_ecommerce_version_2.dataset.aml index 070a1be..644182b 100644 --- a/demo ecommerce/datasets/demo_ecommerce_version_2.dataset.aml +++ b/demo ecommerce/datasets/demo_ecommerce_version_2.dataset.aml @@ -1,363 +1,110 @@ -Dataset demo_ecommerce_version_2 { - label: '[Demo] Ecommerce Official (2025)' - description: 'New dataset starting 2025' - data_source_name: 'demodb' - models: [ - ecommerce_products, - ecommerce_merchants, - ecommerce_countries, - ecommerce_orders, - ecommerce_users, - ecommerce_order_items, - ecommerce_cities, - map_categories, - param_model_demo, - dim_dates, - ecommerce_product_images - ] - relationships: [ - relationship(ecommerce_order_items.order_id > ecommerce_orders.id, true), - relationship(ecommerce_orders.user_id > ecommerce_users.id, true), - relationship(ecommerce_users.city_id > ecommerce_cities.id, true), - relationship(ecommerce_cities.country_code > ecommerce_countries.code, true), - relationship(ecommerce_order_items.product_id > ecommerce_products.id, true), - relationship(ecommerce_products.id - ecommerce_product_images.product_id, true), - relationship(ecommerce_products.merchant_id > ecommerce_merchants.id, true), - relationship(ecommerce_products_map_categories, true), - relationship(ecommerce_orders_dim_dates, true), - ] - - dimension cohort_month { - model: ecommerce_users - label: "Cohort Month" - type: 'date' - definition: @aql min(ecommerce_orders.created_at | month()) | dimensionalize(ecommerce_users.id);; - } - - dimension month_number { - model: ecommerce_orders - label: 'Month Number' - type: 'number' - definition: @aql date_diff('month', ecommerce_users.cohort_month, (ecommerce_orders.created_at | month())) ;; - } - - dimension cohort_size { - model: ecommerce_orders - label: 'Cohort Size' - type: 'number' - definition: @aql count_distinct(order_master.user_id) | exact_grains(order_master.cohort_month) ;; - } - - dimension total_orders_all_time { - model: ecommerce_users - label: 'Total Orders (Users)' - type: 'number' - definition: @aql total_orders | dimensionalize(ecommerce_users.id);; - } - - dimension is_buyer { - model: ecommerce_users - label: 'Is Buyer' - type: 'truefalse' - definition: @aql ecommerce_users.total_orders_all_time > 0;; - } - - dimension is_repeated_buyer { - model: ecommerce_users - label: 'Is Repeated Buyer' - type: 'truefalse' - definition: @aql ecommerce_users.total_orders_all_time > 1;; - } - - dimension product_performance_analysis { - model: ecommerce_products - label: 'Product Performance Analysis' - type: 'text' - definition: @aql concat( - 'https://claude.ai/new?q=write+an_analysis+for+', - ecommerce_products.name, - '.+The+GMV+for+this+product+is+', - cast(gmv, 'text'), - '+and+the+AOV+for+this+product+is+', - cast(aov, 'text'), - ) - ;; - } - - dimension product_image { - model: ecommerce_product_images - label: 'Product Image' - type: 'text' - definition: @aql concat('') ;; - } - - dimension breakdown_dim { - label: 'Dynamic Breakdown Dimension' - description: 'The dimension will be automatically switched among Country, Age Group, Order Status. By default, it will be Country' - type: 'text' - model: ecommerce_orders - definition: @aql case( - when: 'Country Names' in param_model_demo.dim_selections - , then: ecommerce_countries.name - - , when: 'Age Demographic' in param_model_demo.dim_selections - , then: ecommerce_users.age_group - - , when: 'Order Status' in param_model_demo.dim_selections - , then: ecommerce_orders.status - - , else: ecommerce_countries.name - ) ;; - } - - metric total_users { - label: 'Total Users' - type: 'number' - description: "Total number of users" - definition: @aql count(ecommerce_users.id) ;; - } - - metric total_orders { - label: "Total Orders" - type: "number" - hidden: false - description: "" - definition: @aql count(ecommerce_orders.id);; - } - - metric gmv { - label: "GMV - Gross Merchandise Value" - type: "number" - hidden: false - description: "GMV - Gross Merchandise Value: Total value of all orders before discount." - definition: @aql ecommerce_order_items | sum(ecommerce_order_items.quantity * ecommerce_products.price);; - format: "[\$\$]#,###0" - } - - metric total_discount { - label: "Total Discount" - type: "number" - hidden: false - description: "Total Discount: Total discount value of all orders." - definition: @aql gmv - revenue;; - format: "[\$\$]#,###0" - } - - metric nmv { - label: "NMV - Net Merchandise Value (Post-Discount & Fulfillment)" - type: "number" - hidden: false - description: "Fulfilled order value after discount. Excludes cancelled/refunded orders.\n\nRepresents the total paid value of fulfilled orders, excluding cancelled and refunded orders, and adjusted for any discounts applied.\n\nThis reflects what customers actually paid for successfully completed transactions, and serves as the revenue base before applying commission." - definition: @aql (ecommerce_order_items | sum(ecommerce_order_items.quantity * ecommerce_products.price * (1 - ecommerce_orders.discount))) | where(ecommerce_orders.status not in ['cancelled', 'refunded']);; - format: "[\$\$]#,###0" - } - - metric revenue { - label: "Total Revenue (Platform)" - type: "number" - hidden: false - description: "Represents the total revenue earned by the platform based on fulfilled order value (NMV), multiplied by a commission rate.\nAs of May 2025, this demo assumes a 50% commission margin.\nFormula: revenue = NMV × revenue_commission" - definition: @aql nmv * revenue_commission;; - format: "[\$\$]#,###0" - } - - metric aov { - label: "AOV - Average Order Value" - type: "number" - description: "AOV - Average Order Value: Average value per order (GMV / number of orders)." - hidden: false - definition: @aql gmv / total_orders;; - format: "[\$\$]#,###0" - } - - metric total_orders_across_all { - label: "Total Orders Across All" - type: "number" - hidden: false - description: "" - definition: @aql total_orders | of_all(ecommerce_orders);; - } - - metric percent_of_total { - label: "Percent Of Total Orders" - type: "number" - hidden: false - description: "" - definition: @aql total_orders * 1.0 / total_orders_across_all;; - format: "#,###0.00%" - } - - metric total_delivered_orders { - label: "Total Delivered Orders" - type: "number" - hidden: false - description: "" - definition: @aql total_orders | where(ecommerce_orders.status is 'delivered');; - } - - metric total_refunded_orders { - label: "Total Refunded Orders" - type: "number" - hidden: false - description: "" - definition: @aql total_orders | where(ecommerce_orders.status is 'refunded');; - } - - metric total_cancelled_orders { - label: "Total Cancelled Orders" - type: "number" - hidden: false - description: "" - definition: @aql total_orders | where(ecommerce_orders.status is 'cancelled');; - } - - metric cancelled_orders_ratio { - label: "Cancelled Order Ratio" - type: "number" - hidden: false - description: "Percentage of orders that were cancelled - Total number of cancelled orders/Total numbers of orders" - definition: @aql total_cancelled_orders / total_orders;; - format: "#,###0.00%" - } - - metric cancelled_value { - label: "Cancelled Value" - type: "number" - hidden: false - description: "Total Value of Cancelled Orders" - definition: @aql gmv | where(ecommerce_orders.status is 'cancelled');; - format: "[\$\$]#,###0" - } - - metric cancelled_value_ratio { - label: "Cancelled Value Ratio" - type: "number" - hidden: false - description: "Percentage of order values that were cancelled - Total value of cancelled orders/Total revenue" - definition: @aql cancelled_value / gmv;; - format: "#,###0.00%" - } - - metric delivered_value { - label: "Delivered Value" - type: "number" - hidden: false - description: "Total Value of Delivered Orders" - definition: @aql gmv | where(ecommerce_orders.status is 'delivered');; - format: "[\$\$]#,###0" - } - - metric refunded_value { - label: "Refunded Value" - type: "number" - hidden: false - description: "Total Value of Refunded Orders" - definition: @aql gmv | where(ecommerce_orders.status is 'refunded');; - format: "[\$\$]#,###0" - } - - - metric retention { - label: 'Cohort Retention' - type: 'number' - definition: @aql (total_users * 1.0) / (total_users | of_all(ecommerce_orders.month_number)) ;; - format: "#,###0.00%" - } - - metric total_buyers { - label: "Total Buyers" - type: "number" - hidden: false - description: "" - definition: @aql count(ecommerce_users.id) | where(ecommerce_users.is_buyer is true);; - } - - metric total_repeated_buyers { - label: "Total Repeated Buyers" - type: "number" - hidden: false - description: "" - definition: @aql count(ecommerce_users.id) | where(ecommerce_users.is_repeated_buyer is true);; - } - - - metric running_total { - label: "Running Total Orders" - type: "number" - hidden: false - description: "" - definition: @aql running_total(total_orders, ecommerce_orders.created_at | year());; - } - - metric dynamic_metric { - label: 'Dynamic Metric (no format)' - type: 'number' - description: 'This dynamic metric doesnt take the format into considering, theyre all in their raw form' - definition: @aql - case( - - when: 'total users' in param_model_demo.metric_selections - , then: ecommerce_users.total_users - - , when: 'total orders' in param_model_demo.metric_selections - , then: total_orders - - , when: 'platform revenue' in param_model_demo.metric_selections - , then: revenue - - , when: 'GMV' in param_model_demo.metric_selections - , then: gmv - - , when: 'NMV' in param_model_demo.metric_selections - , then: nmv - - , when: 'AOV' in param_model_demo.metric_selections - , then: aov - - ) - ;; - } - - metric dynamic_metric_currency { - label: 'Dynamic Metric (Currency)' - type: 'number' - description: 'Only contains list of metrics with currency (Revenue, GMV, NMV, AOV)' - definition: @aql - case( - when: 'platform revenue' in param_model_demo.metric_selections_currency - , then: revenue - - , when: 'GMV' in param_model_demo.metric_selections_currency - , then: gmv - - , when: 'NMV' in param_model_demo.metric_selections_currency - , then: nmv - - , when: 'AOV' in param_model_demo.metric_selections_currency - , then: aov - - ) - ;; - format: "[\$\$]#,###0" - } - - metric revenue_commission { - label: "Revenue Commission Rate (Demo from May 2025)" - type: "number" - hidden: false - description: "Commission margin (%) our platform earns on NMV transactions. Set to 50% as of May 2025 for demonstration purposes. Used in revenue calculation: revenue = NMV × commission_rate." - definition: @aql 0.5;; - format: "#,###%" - } - - metric running_total_orders { - label: "Running Total Orders" - type: "number" - hidden: false - description: "Cumulative total of orders over time, aggregated by year to show growth trends." - definition: @aql running_total(total_orders, ecommerce_orders.created_at | year());; - } - - - owner: 'vincent@holistics.io' -} \ No newline at end of file +@tag('1️⃣ Trust/Endorsed') + +const orders_detail = [ + r(ecommerce_orders.id), + r(ecommerce_orders.status), + r(ecommerce_orders.created_at), + r(ecommerce_orders.discount), + r(ecommerce_orders.delivery_attempts), +] + +const users_detail = [ + r(ecommerce_users.id), + r(ecommerce_users.full_name), + r(ecommerce_users.gender), + r(ecommerce_users.email), + r(ecommerce_cities.name), +] + +const products_detail = [ + r(ecommerce_products.id), + r(ecommerce_products.name), + r(ecommerce_products.price), +] + + +Dataset demo_ecommerce_version_2 = demo_ecommerce_version_base +.extend(volumn_metric) +.extend(users_metric) +.extend(revenue_metrics) +.extend(order_value_metric) +.extend({ + context { + analysis { + underlying_data { + metric total_orders { + view order_records { + label: 'Order records' + fields: orders_detail + } + + view user_records { + label: 'User records' + fields: users_detail + } + + view product_records { + label: 'Product records' + fields: products_detail + } + } + + metric gmv { + view order_records { + label: 'Order records' + fields: orders_detail + } + + view user_records { + label: 'User records' + fields: users_detail + } + } + + metric aov { + view order_value_details { + label: 'Order value details' + fields: [ + r(ecommerce_order_items.order_id), + r(ecommerce_order_items.product_id), + r(ecommerce_order_items.quantity), + r(ecommerce_products.price), + ] + } + + view aov_by_users { + label: 'AOV by users' + fields: users_detail + } + } + } + + breakdown { + group locations { + label: 'Locations' + fields: [ + r(ecommerce_countries.continent_name), + r(ecommerce_countries.name), + r(ecommerce_cities.name), + ] + } + + group product_categories { + label: 'Product categories' + fields: [ + r(map_categories.category), + r(ecommerce_products.name), + ] + } + + group user_demographics { + label: 'User demographics' + fields: [ + r(ecommerce_users.gender), + r(ecommerce_users.age), + ] + } + } + } + } +}) \ No newline at end of file diff --git a/demo ecommerce/datasets/demo_ecommerce_version_base.dataset.aml b/demo ecommerce/datasets/demo_ecommerce_version_base.dataset.aml new file mode 100644 index 0000000..b51c0f0 --- /dev/null +++ b/demo ecommerce/datasets/demo_ecommerce_version_base.dataset.aml @@ -0,0 +1,134 @@ +Dataset demo_ecommerce_version_base { + label: '[Demo] Ecommerce (Base)' + description: 'New dataset base' + data_source_name: 'demodb' + models: [ + ecommerce_products, + ecommerce_merchants, + ecommerce_countries, + ecommerce_orders, + ecommerce_users, + ecommerce_order_items, + ecommerce_cities, + map_categories, + param_model_demo, + dim_dates + ] + relationships: [ + relationship(ecommerce_order_items.order_id > ecommerce_orders.id, true), + relationship(ecommerce_orders.user_id > ecommerce_users.id, true), + relationship(ecommerce_users.city_id > ecommerce_cities.id, true), + relationship(ecommerce_cities.country_code > ecommerce_countries.code, true), + relationship(ecommerce_order_items.product_id > ecommerce_products.id, true), + // relationship(ecommerce_products.id - ecommerce_product_images.product_id, true), + relationship(ecommerce_products.merchant_id > ecommerce_merchants.id, true), + relationship(ecommerce_products_map_categories, true), + relationship(ecommerce_orders_dim_dates, true), + relationship(ecommerce_users.sign_up_date > dim_dates.date_key, false) + , + relationship(ecommerce_merchants.city_id > ecommerce_cities.id, false) + ] + + permission vendor_access { + field: ref('ecommerce_merchants', 'id') + operator: 'matches_user_attribute' + value: 'vendor_id' + } + + permission country_access { + field: ref('ecommerce_countries', 'code') + operator: 'matches_user_attribute' + value: 'country' + } + + permission city_access { + field: ref('ecommerce_cities', 'name') + operator: 'matches_user_attribute' + value: 'city' + } + + dimension cohort_month { + model: ecommerce_users + label: "Cohort Month" + type: 'date' + definition: @aql min(ecommerce_orders.created_at | month()) | dimensionalize(ecommerce_users.id);; + } + + dimension month_number { + model: ecommerce_orders + label: 'Month Number' + type: 'number' + definition: @aql date_diff('month', ecommerce_users.cohort_month, (ecommerce_orders.created_at | month())) ;; + } + + dimension cohort_size { + model: ecommerce_orders + label: 'Cohort Size' + type: 'number' + definition: @aql count_distinct(ecommerce_orders.user_id) | exact_grains(ecommerce_users.cohort_month) ;; + } + + dimension total_orders_all_time { + model: ecommerce_users + label: 'Total Orders (Users)' + type: 'number' + definition: @aql total_orders | dimensionalize(ecommerce_users.id);; + } + + dimension is_buyer { + model: ecommerce_users + label: 'Is Buyer' + type: 'truefalse' + definition: @aql ecommerce_users.total_orders_all_time > 0;; + } + + dimension is_repeated_buyer { + model: ecommerce_users + label: 'Is Repeated Buyer' + type: 'truefalse' + definition: @aql ecommerce_users.total_orders_all_time > 1;; + } + + dimension product_performance_analysis { + model: ecommerce_products + label: 'Product Performance Analysis' + type: 'text' + definition: @aql concat( + 'https://claude.ai/new?q=write+an_analysis+for+', + ecommerce_products.name, + '.+The+GMV+for+this+product+is+', + cast(gmv, 'text'), + '+and+the+AOV+for+this+product+is+', + cast(aov, 'text'), + ) + ;; + } + + dimension product_image { + model: ecommerce_product_images + label: 'Product Image' + type: 'text' + definition: @aql concat('') ;; + } + + dimension breakdown_dim { + label: 'Dynamic Breakdown Dimension' + description: 'The dimension will be automatically switched among Country, Age Group, Order Status. By default, it will be Country' + type: 'text' + model: ecommerce_orders + definition: @aql case( + when: 'Country Names' in param_model_demo.dim_selections + , then: ecommerce_countries.name + + , when: 'Age Demographic' in param_model_demo.dim_selections + , then: ecommerce_users.age_group + + , when: 'Order Status' in param_model_demo.dim_selections + , then: ecommerce_orders.status + + , else: ecommerce_countries.name + ) ;; + } + + owner: 'vincent@holistics.io' +} \ No newline at end of file diff --git a/demo ecommerce/ecommerce_metrics.aml b/demo ecommerce/ecommerce_metrics.aml new file mode 100644 index 0000000..dbaf11d --- /dev/null +++ b/demo ecommerce/ecommerce_metrics.aml @@ -0,0 +1,260 @@ +Metric total_users { + label: 'Total Users' + type: 'number' + description: "Total number of users" + definition: @aql count(ecommerce_users.id) ;; +} +Metric total_orders { + label: "Total Orders" + type: "number" + hidden: false + description: "Total number of orders placed across the platform, regardless of status." + definition: @aql count(ecommerce_orders.id);; +} + +Metric gmv { + label: "GMV (Gross Merchandise Value)" + type: "number" + hidden: false + description: "GMV - Gross Merchandise Value: Total value of all orders before discount." + definition: @aql ecommerce_order_items | sum(ecommerce_order_items.quantity * ecommerce_products.price);; + format: "[\$\$]#,###0" +} + +Metric total_discount { + label: "Total Discount" + type: "number" + hidden: false + description: "Total Discount: Total discount value of all orders." + definition: @aql gmv - revenue;; + format: "[\$\$]#,###0" +} + +Metric nmv { + label: "NMV (Net Merchandise Value)" + type: "number" + hidden: false + description: "* Fulfilled order value after discount. Excludes cancelled/refunded orders.
* Represents the total paid value of fulfilled orders, excluding cancelled and refunded orders, and adjusted for any discounts applied.
* This reflects what customers actually paid for successfully completed transactions, and serves as the revenue base before applying commission." + definition: @aql (ecommerce_order_items | sum(ecommerce_order_items.quantity * ecommerce_products.price * (1 - ecommerce_orders.discount))) | where(ecommerce_orders.status not in ['cancelled', 'refunded']);; + format: "[\$\$]#,###0" +} + +Metric revenue { + label: "Total Revenue" + type: "number" + hidden: false + description: "Represents the total revenue earned by the platform based on fulfilled order value (NMV), multiplied by a commission rate.
As of May 2025, this demo assumes a 50% commission margin. Formula: `revenue = NMV × revenue_commission`" + definition: @aql nmv * revenue_commission;; + format: "[\$\$]#,###0" +} + +Metric aov { + label: "AOV (Average Order Value)" + type: "number" + description: "AOV - Average Order Value: Average value per order (GMV / number of orders)." + hidden: false + definition: @aql gmv / total_orders;; + format: "[\$\$]#,###0" +} +Metric total_orders_across_all { + label: "Total Orders Across All" + type: "number" + hidden: false + description: "Total number of orders across all selected dimensions. Used as the denominator for ratio Metrics like percent_of_total." + definition: @aql total_orders | of_all(ecommerce_orders);; +} +Metric percent_of_total { + label: "Percent Of Total Orders" + type: "number" + hidden: false + description: "Percentage of orders contributed by the current slice of data compared to the total orders across all segments." + definition: @aql total_orders * 1.0 / total_orders_across_all;; + format: "#,###0.00%" +} +Metric total_delivered_orders { + label: "Total Delivered Orders" + type: "number" + hidden: false + description: "Count of all orders that were successfully delivered." + definition: @aql total_orders | where(ecommerce_orders.status is 'delivered');; +} +Metric total_refunded_orders { + label: "Total Refunded Orders" + type: "number" + hidden: false + description: "Count of all orders that were refunded after fulfillment." + definition: @aql total_orders | where(ecommerce_orders.status is 'refunded');; +} +Metric total_cancelled_orders { + label: "Total Cancelled Orders" + type: "number" + hidden: false + description: "Count of orders that were cancelled before fulfillment." + definition: @aql total_orders | where(ecommerce_orders.status is 'cancelled');; +} + +Metric cancelled_order_ratio { + label: "Cancelled Order Ratio" + type: "number" + hidden: false + description: "Percentage of orders that were cancelled - Total number of cancelled orders/Total numbers of orders" + definition: @aql total_cancelled_orders / total_orders;; + format: "#,###0.00%" +} + +Metric cancelled_value { + label: "Cancelled Value" + type: "number" + hidden: false + description: "Total Value of Cancelled Orders" + definition: @aql gmv | where(ecommerce_orders.status is 'cancelled');; + format: "[\$\$]#,###0" +} + +Metric cancelled_value_ratio { + label: "Cancelled Value Ratio" + type: "number" + hidden: false + description: "Percentage of order values that were cancelled - Total value of cancelled orders/Total revenue" + definition: @aql cancelled_value / gmv;; + format: "#,###0.00%" +} + +Metric delivered_value { + label: "Delivered Value" + type: "number" + hidden: false + description: "Total Value of Delivered Orders" + definition: @aql gmv | where(ecommerce_orders.status is 'delivered');; + format: "[\$\$]#,###0" +} + +Metric refunded_value { + label: "Refunded Value" + type: "number" + hidden: false + description: "Total Value of Refunded Orders" + definition: @aql gmv | where(ecommerce_orders.status is 'refunded');; + format: "[\$\$]#,###0" +} +Metric retention { + label: 'Cohort Retention' + type: 'number' + hidden: false + description: "Cohort retention rate calculated as the percentage of users in a cohort who placed an order in a given month. *Formula*: current period total_users / cohort\'s total_users." + definition: @aql (total_users * 1.0) / (total_users | of_all(ecommerce_orders.month_number)) ;; + format: "#,###0.00%" +} +Metric total_buyers { + label: "Total Buyers" + type: "number" + hidden: false + description: "Total number of unique users who made at least one purchase." + definition: @aql count(ecommerce_users.id) | where(ecommerce_users.is_buyer is true);; +} +Metric total_repeated_buyers { + label: "Total Repeated Buyers" + type: "number" + hidden: false + description: "Total number of users who made more than one purchase." + definition: @aql count(ecommerce_users.id) | where(ecommerce_users.is_repeated_buyer is true);; +} +Metric running_total_orders { + label: "Running Total Orders" + type: "number" + hidden: false + description: "Cumulative total of orders over time, aggregated by year to show growth trends." + definition: @aql running_total(total_orders, ecommerce_orders.created_at | year());; +} + +Metric dynamic_metric { + label: 'Dynamic Metric (no format)' + type: 'number' + description: 'This dynamic Metric doesnt take the format into considering, theyre all in their raw form' + definition: @aql + case( + + when: 'total users' in param_model_demo.Metric_selections + , then: ecommerce_users.total_users + + , when: 'total orders' in param_model_demo.Metric_selections + , then: total_orders + + , when: 'platform revenue' in param_model_demo.Metric_selections + , then: revenue + + , when: 'GMV' in param_model_demo.Metric_selections + , then: gmv + + , when: 'NMV' in param_model_demo.Metric_selections + , then: nmv + + , when: 'AOV' in param_model_demo.Metric_selections + , then: aov + + ) + ;; +} + +Metric dynamic_metric_currency { + label: 'Dynamic Metric (Currency)' + type: 'number' + description: 'Only contains list of Metrics with currency (Revenue, GMV, NMV, AOV)' + definition: @aql + case( + when: 'platform revenue' in param_model_demo.Metric_selections_currency + , then: revenue + + , when: 'GMV' in param_model_demo.Metric_selections_currency + , then: gmv + + , when: 'NMV' in param_model_demo.Metric_selections_currency + , then: nmv + + , when: 'AOV' in param_model_demo.Metric_selections_currency + , then: aov + + ) + ;; + format: "[\$\$]#,###0" +} + +Metric revenue_commission { + label: "Revenue Commission Rate (Demo from May 2025)" + type: "number" + hidden: false + description: "Commission margin (%) our platform earns on NMV transactions. Set to 50% as of May 2025 for demonstration purposes. Used in revenue calculation: revenue = NMV × commission_rate." + definition: @aql 0.5;; + format: "#,###%" +} + +PartialDataset volumn_metric { + metric total_orders: total_orders + metric total_delivered_orders: total_delivered_orders + metric total_cancelled_orders: total_cancelled_orders + metric total_refunded_orders: total_refunded_orders + metric running_total_orders: running_total_orders + metric total_orders_across_all: total_orders_across_all +} + +PartialDataset users_metric { + metric total_users: total_users + metric total_buyers: total_buyers + metric total_repeated_buyers: total_repeated_buyers + metric retention: retention +} + +PartialDataset revenue_metrics { + metric gmv: gmv + metric nmv: nmv + metric revenue: revenue + metric aov: aov + metric total_discount: total_discount + metric revenue_commission: revenue_commission +} + +PartialDataset order_value_metric { + metric delivered_value: delivered_value + metric cancelled_value: cancelled_value + metric refunded_value: refunded_value +} \ No newline at end of file diff --git a/demo ecommerce/embed/ecommerce_portal.embed.aml b/demo ecommerce/embed/ecommerce_portal.embed.aml index 4714b48..4252564 100644 --- a/demo ecommerce/embed/ecommerce_portal.embed.aml +++ b/demo ecommerce/embed/ecommerce_portal.embed.aml @@ -6,6 +6,7 @@ EmbedPortal ecommerce_portal { _2_category_breakdown, _3_customer_demographics, _4_product_x_merchant_drill_down, + // dataset demo_ecommerce ], } \ No newline at end of file diff --git a/demo ecommerce/models/2. Query Models/order_master.model.aml b/demo ecommerce/models/2. Query Models/order_master.model.aml index f22cb61..bcd5ada 100644 --- a/demo ecommerce/models/2. Query Models/order_master.model.aml +++ b/demo ecommerce/models/2. Query Models/order_master.model.aml @@ -384,5 +384,3 @@ Model order_master { ] } } - -order_master.dim_selector \ No newline at end of file diff --git a/demo ecommerce/reusable components/theme.aml b/demo ecommerce/reusable components/theme.aml index d3dc3ad..3d0a3dc 100644 --- a/demo ecommerce/reusable components/theme.aml +++ b/demo ecommerce/reusable components/theme.aml @@ -103,6 +103,12 @@ PageTheme ticketing_concert_theme { } PageTheme fashion { + custom_css: @css + /* Change heatmap cell background color */ + .dac-retention-heatmap-cell { + background-color: #FFA500 !important; + } + ;; background { bg_color: "#FFE8D1" // Light pink bg_image: "" // You'd need to replace this with an actual image URL diff --git a/demo ecommerce/zArchive/untitled_5.page.aml b/demo ecommerce/zArchive/untitled_5.page.aml deleted file mode 100644 index 53957a3..0000000 --- a/demo ecommerce/zArchive/untitled_5.page.aml +++ /dev/null @@ -1,85 +0,0 @@ -Dashboard untitled_5 { - title: 'Untitled 5' - description: '''''' - view: TabLayout { - label: 'View 1' - tab tab2: CanvasLayout { - label: 'Untitled' - height: 800 - grid_size: 20 - mobile { - mode: 'auto' - } - block t1 { - position: pos(120, 160, 700, 180) - layer: 1 - } - block v1 { - position: pos(20, 20, 400, 300) - layer: 2 - } - default_zoom: 1 - } - tab tab3: CanvasLayout { - label: 'Untitled' - height: 800 - grid_size: 20 - mobile { - mode: 'auto' - } - default_zoom: 1 - } - tab tab4: CanvasLayout { - label: 'hello' - height: 800 - grid_size: 20 - mobile { - mode: 'auto' - } - default_zoom: 1 - } - } - - theme: H.themes.classic - block t1: TextBlock { - content: @md

QUnit is by calling one of the object that are embedded in JavaScript, and faster JavaScript program could also used with its elegant, well documented, and functional programming using JS, HTML pages Modernizr is a popular browsers without plug-ins. Test-Driven Development.

- -;; - } - block v1: VizBlock { - label: 'Test' - viz: DataTable { - dataset: demo_ecommerce - theme { - - } - fields: [ - VizFieldFull { - ref: 'percent_of_total' - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: 'running_total' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } -} \ No newline at end of file diff --git a/ecommerce_orders.model.aml b/ecommerce_orders.model.aml new file mode 100644 index 0000000..f4e299d --- /dev/null +++ b/ecommerce_orders.model.aml @@ -0,0 +1,45 @@ +Model ecommerce_orders3 { + type: 'table' + label: 'Orders' + description: '' + data_source_name: 'demodb' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension status { + label: 'Status' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.status }};; + } + dimension created_at { + label: 'Created At' + type: 'datetime' + hidden: false + definition: @sql {{ #SOURCE.created_at }};; + } + dimension user_id { + label: 'User Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.user_id }};; + } + dimension discount { + label: 'Discount' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.discount }};; + } + dimension delivery_attempts { + label: 'Delivery Attempts' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.delivery_attempts }};; + } + + owner: 'thang.lk@holistics.io' + table_name: '"ecommerce"."orders"' +} diff --git a/ecommerce_sales.model.aml b/ecommerce_sales.model.aml new file mode 100644 index 0000000..562e816 --- /dev/null +++ b/ecommerce_sales.model.aml @@ -0,0 +1,52 @@ +Model ecommerce_sales { + type: 'table' + label: 'Sales' + description: '' + data_source_name: 'demodb' + dimension order_id { + label: 'Order Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.order_id }};; + primary_key: true + } + dimension order_created_date { + label: 'Order Created Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.order_created_date }};; + } + dimension delivered_date { + label: 'Delivered Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.delivered_date }};; + } + dimension cancelled_date { + label: 'Cancelled Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.cancelled_date }};; + } + dimension refunded_date { + label: 'Refunded Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.refunded_date }};; + } + dimension user_id { + label: 'User Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.user_id }};; + } + dimension discount { + label: 'Discount' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.discount }};; + } + + owner: 'thang.lk@holistics.io' + table_name: '"ecommerce"."sales"' +} diff --git a/hoa_test.page.aml b/hoa_test.page.aml new file mode 100644 index 0000000..22c214a --- /dev/null +++ b/hoa_test.page.aml @@ -0,0 +1,22 @@ +Dashboard hoa_test { + title: 'hoa test' + owner: 'hoa.huynh@holistics.io' + block title: TextBlock { + content: @md # Your title goes here ;; + } + interactions: [] + view: CanvasLayout { + label: 'View 1' + width: 1300 + height: 800 + grid_size: 20 + auto_expand_vertically: true + block title { + position: pos(20, 20, 1260, 60) + } + mobile { + mode: 'auto' + } + } + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/modules/datasets/modules/prod/prod_ecommerce.dataset.aml b/modules/datasets/modules/prod/prod_ecommerce.dataset.aml new file mode 100644 index 0000000..8cc9e1a --- /dev/null +++ b/modules/datasets/modules/prod/prod_ecommerce.dataset.aml @@ -0,0 +1,6 @@ +use datasets.test {ecommerce_test_modules} +use models {users, cities, countries, orders, order_items, products} + +Dataset prod_ecommerce = ecommerce_test_modules.extend({ + label: 'Prod Ecommerce (Module)' +}) \ No newline at end of file diff --git a/modules/datasets/modules/test/ecommerce_test_modules.dataset.aml b/modules/datasets/modules/test/ecommerce_test_modules.dataset.aml new file mode 100644 index 0000000..38fd2d2 --- /dev/null +++ b/modules/datasets/modules/test/ecommerce_test_modules.dataset.aml @@ -0,0 +1,17 @@ +use models {users, cities, countries} + +Dataset ecommerce_test_modules { + label: 'ecommerce_test_modules', + description: '' + data_source_name: 'demodb' + models: [ + orders, + order_items, + products, + users, + cities, + countries + ] + relationships: [] + +} \ No newline at end of file diff --git a/modules/models/hub/customers/cities.model.aml b/modules/models/hub/customers/cities.model.aml new file mode 100644 index 0000000..821a882 --- /dev/null +++ b/modules/models/hub/customers/cities.model.aml @@ -0,0 +1,27 @@ +Model cities { + type: 'table' + label: 'Cities' + description: '' + data_source_name: 'demodb' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension name { + label: 'Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.name }};; + } + dimension country_code { + label: 'Country Code' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.country_code }};; + } + + owner: 'khai.to+demo4@holistics.io' + table_name: '"ecommerce"."cities"' +} diff --git a/modules/models/hub/customers/countries.model.aml b/modules/models/hub/customers/countries.model.aml new file mode 100644 index 0000000..1a1aa0f --- /dev/null +++ b/modules/models/hub/customers/countries.model.aml @@ -0,0 +1,27 @@ +Model countries { + type: 'table' + label: 'Countries' + description: '' + data_source_name: 'demodb' + dimension code { + label: 'Code' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.code }};; + } + dimension name { + label: 'Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.name }};; + } + dimension continent_name { + label: 'Continent Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.continent_name }};; + } + + owner: 'khai.to+demo4@holistics.io' + table_name: '"ecommerce"."countries"' +} diff --git a/modules/models/hub/customers/users.model.aml b/modules/models/hub/customers/users.model.aml new file mode 100644 index 0000000..630e7ed --- /dev/null +++ b/modules/models/hub/customers/users.model.aml @@ -0,0 +1,85 @@ +Model users { + type: 'table' + label: 'Users' + description: '' + data_source_name: 'demodb' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + primary_key: true + } + dimension sign_up_date { + label: 'Sign Up Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.sign_up_date }};; + } + dimension sign_up_at { + label: 'Sign Up At' + type: 'datetime' + hidden: false + definition: @sql {{ #SOURCE.sign_up_at }};; + } + dimension first_name { + label: 'First Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.first_name }};; + } + dimension last_name { + label: 'Last Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.last_name }};; + } + dimension email { + label: 'Email' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.email }};; + } + dimension birth_date { + label: 'Birth Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.birth_date }};; + } + dimension gender { + label: 'Gender' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.gender }};; + } + dimension city_id { + label: 'City Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.city_id }};; + } + dimension full_name { + label: 'Full Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.full_name }};; + } + + dimension email_pii { + label: 'Email Pii' + description: 'The email for the user. [sensitive data may be restricted]' + type: 'text' + hidden: false + definition: @aql + case( + when: + in('some_email@test.com', H.current_user.h_email), + then: users.email, + else: '(redacted)' + ) + ;; + } + + owner: 'khai.to+demo4@holistics.io' + table_name: '"ecommerce"."users"' +} \ No newline at end of file diff --git a/modules/models/hub/transaction/order_items.model.aml b/modules/models/hub/transaction/order_items.model.aml new file mode 100644 index 0000000..ea805da --- /dev/null +++ b/modules/models/hub/transaction/order_items.model.aml @@ -0,0 +1,27 @@ +Model order_items { + type: 'table' + label: 'Order Items' + description: '' + data_source_name: 'demodb' + dimension order_id { + label: 'Order Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.order_id }};; + } + dimension product_id { + label: 'Product Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.product_id }};; + } + dimension quantity { + label: 'Quantity' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.quantity }};; + } + + owner: 'khai.to+demo4@holistics.io' + table_name: '"ecommerce"."order_items"' +} diff --git a/modules/models/hub/transaction/orders.model.aml b/modules/models/hub/transaction/orders.model.aml new file mode 100644 index 0000000..a1ad0df --- /dev/null +++ b/modules/models/hub/transaction/orders.model.aml @@ -0,0 +1,59 @@ +Model orders { + type: 'table' + label: 'Orders' + description: '' + data_source_name: 'demodb' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension status { + label: 'Status' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.status }};; + } + dimension created_at { + label: 'Created At' + type: 'datetime' + hidden: false + definition: @sql {{ #SOURCE.created_at }};; + } + dimension user_id { + label: 'User Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.user_id }};; + } + dimension discount { + label: 'Discount' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.discount }};; + } + dimension delivery_attempts { + label: 'Delivery Attempts' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.delivery_attempts }};; + } + dimension created_date { + label: "Created Date" + type: "date" + description: "" + hidden: false + definition: @sql {{ created_at }}::date;; + } + + measure total_orders { + label: 'Total Orders' + type: 'number' + definition: @sql {{id}} ;; + aggregation_type: 'count' + } + + owner: 'khai.to+demo4@holistics.io' + table_name: '"ecommerce"."orders"' +} \ No newline at end of file diff --git a/modules/models/hub/transaction/products.model.aml b/modules/models/hub/transaction/products.model.aml new file mode 100644 index 0000000..e3cd641 --- /dev/null +++ b/modules/models/hub/transaction/products.model.aml @@ -0,0 +1,45 @@ +Model products { + type: 'table' + label: 'Products' + description: '' + data_source_name: 'demodb' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension category_id { + label: 'Category Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.category_id }};; + } + dimension name { + label: 'Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.name }};; + } + dimension merchant_id { + label: 'Merchant Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.merchant_id }};; + } + dimension price { + label: 'Price' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.price }};; + } + dimension created_at { + label: 'Created At' + type: 'datetime' + hidden: false + definition: @sql {{ #SOURCE.created_at }};; + } + + owner: 'khai.to+demo4@holistics.io' + table_name: '"ecommerce"."products"' +} diff --git a/phuong_test_custom_styling.page.aml b/phuong_test_custom_styling.page.aml new file mode 100644 index 0000000..b39bd93 --- /dev/null +++ b/phuong_test_custom_styling.page.aml @@ -0,0 +1,65 @@ +Dashboard phuong_test_custom_styling { + title: 'Phuong test custom styling' + owner: 'phuong.nl@holistics.io' + block v_mc9l: VizBlock { + label: 'Active Users Count by Month Cohort Month, Cohort Size, and Relative Month Disp' + + viz: RetentionHeatmap { + dataset: demo_ecommerce + filter { + field: r(user_cohort_retention.cohort_month) + operator: 'matches' + value: '2023' + } + cohort: VizFieldFull { + ref: r(user_cohort_retention.cohort_month) + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + cohort_size: VizFieldFull { + ref: r(user_cohort_retention.cohort_size) + format { + type: 'number' + pattern: 'inherited' + } + } + cohort_duration: VizFieldFull { + ref: r(user_cohort_retention.relative_month_disp) + format { + type: 'text' + } + } + cohort_value: VizFieldFull { + ref: r(user_cohort_retention.active_users_count) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + interactions: [] + view: CanvasLayout { + label: 'View 1' + width: 1300 + height: 800 + grid_size: 20 + auto_expand_vertically: true + block v_mc9l { + position: pos(40, 80, 1200, 640) + } + mobile { + mode: 'auto' + } + } + theme: fashion +} \ No newline at end of file diff --git a/settings/ai/context.aml b/settings/ai/context.aml new file mode 100644 index 0000000..b675666 --- /dev/null +++ b/settings/ai/context.aml @@ -0,0 +1,8 @@ +const ai_context = @md +## Background +- I'm ${H.current_user.h_name} (${H.current_user.h_role} role). +- Our business is ... + +## Preferences +- Be concise... +;;; diff --git a/settings/project_settings.aml b/settings/project_settings.aml index c373d27..f7f34c7 100644 --- a/settings/project_settings.aml +++ b/settings/project_settings.aml @@ -1,9 +1,9 @@ ProjectSettings project_settings { - - // DEFAULT WRITE SCHEMA FOR ALL DB - // Only to define the default schema. Users can still change schema when importing. + data_import { - default_write_schema: 'pokemon' + // DEFAULT WRITE SCHEMA FOR ALL DB + // Only specifies the default option. Users can still change schema when importing. + default_write_schema: 'public_persisted' } } \ No newline at end of file diff --git a/team-folders/Amyra/demo_ecommerce_amyra.page.aml b/team-folders/Amyra/demo_ecommerce_amyra.page.aml index 7b486a8..dbe8a2a 100644 --- a/team-folders/Amyra/demo_ecommerce_amyra.page.aml +++ b/team-folders/Amyra/demo_ecommerce_amyra.page.aml @@ -174,12 +174,12 @@ This dashboard tracks the KPIs of all managers for their respective teams. This viz: PieChart { dataset: demo_ecommerce filter { - field: ref('order_master', 'order_created_at') + field: r(order_master.order_created_at) operator: 'matches' value: '2023' } legend: VizFieldFull { - ref: ref('map_categories', 'parent_category') + ref: r(map_categories.parent_category) format { type: 'text' } @@ -187,7 +187,7 @@ This dashboard tracks the KPIs of all managers for their respective teams. This series { field: VizFieldFull { label: ' ' - ref: ref('order_master', 'gmv') + ref: r(order_master.gmv) format { type: 'number' pattern: '[$$]#,###' diff --git a/team-folders/Amyra/ecommerce_dashboard_new.page.aml b/team-folders/Amyra/ecommerce_dashboard_new.page.aml deleted file mode 100644 index 2b111b2..0000000 --- a/team-folders/Amyra/ecommerce_dashboard_new.page.aml +++ /dev/null @@ -1,56 +0,0 @@ -Dashboard ecommerce_dashboard_new { - title: 'Ecommerce Dashboard New' - description: '' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v1: VizBlock { - label: 'Total Orders Count by Name' - viz: ColumnChart { - dataset: simple_dataset - x_axis: VizFieldFull { - ref: ref('ecommerce_categories', 'name') - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: ref('ecommerce_orders', 'total_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - - view: CanvasLayout { - label: 'View 1' - height: 840 - grid_size: 20 - block title { - position: pos(20, 20, 1160, 60) - } - block v1 { - position: pos(20, 100, 400, 300) - layer: 1 - } - mobile { - mode: 'auto' - } - } - - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/team-folders/Bao/column_width.page.aml b/team-folders/Bao/column_width.page.aml deleted file mode 100644 index 15bd3ba..0000000 --- a/team-folders/Bao/column_width.page.aml +++ /dev/null @@ -1,289 +0,0 @@ -Dashboard column_width { - title: 'Column Width' - description: '''''' - - view: CanvasLayout { - label: 'View 1' - height: 1880 - grid_size: 20 - block v1 { - position: pos(0, 0, 1200, 260) - } - block v2 { - position: pos(0, 260, 1200, 280) - } - block v3 { - position: pos(0, 560, 1120, 1300) - layer: 1 - } - } - - theme: H.themes.classic - block v1: VizBlock { - label: 'avc' - viz: DataTable { - dataset: global_temps - theme { - - } - fields: [ - VizFieldFull { - ref: ref('persisted_global_temps', 'year') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'persisted_global_temps_year' - }, - VizFieldFull { - ref: ref('persisted_global_temps', 'jan') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'persisted_global_temps_jan' - }, - VizFieldFull { - ref: ref('persisted_global_temps', 'apr') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'persisted_global_temps_apr' - }, - VizFieldFull { - ref: ref('persisted_global_temps', 'may') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'persisted_global_temps_may' - }, - VizFieldFull { - ref: ref('persisted_global_temps', 'jul') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'persisted_global_temps_jul' - }, - VizFieldFull { - ref: ref('persisted_global_temps', 'oct') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - conditional_formats: [ - ConditionalFormat { - key: 'persisted_global_temps_year' - format: SingleFormat { - condition { - operator: 'less_than' - value: 1900 - } - text_color: '#BF0E08' - background_color: '#FAD2D1' - apply_to_row: true - } - }, - ConditionalFormat { - key: 'persisted_global_temps_year' - format: SingleFormat { - condition { - operator: 'greater_than_equal' - value: 1900 - } - text_color: '#328159' - background_color: '#B5E3CD' - apply_to_row: true - } - } - ] - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - column_styles: [ - ColumnStyle { - key: 'persisted_global_temps_apr' - width: 119 - }, - ColumnStyle { - key: 'persisted_global_temps_jan' - width: 164 - }, - ColumnStyle { - key: 'persisted_global_temps_jul' - width: 169 - }, - ColumnStyle { - key: 'persisted_global_temps_may' - width: 186 - }, - ColumnStyle { - key: 'persisted_global_temps_year' - width: 163 - } - ] - } - } - } - block v2: VizBlock { - label: 'abc' - viz: PivotTable { - dataset: global_temps - rows: [ - VizFieldFull { - ref: ref('persisted_global_temps', 'year') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'persisted_global_temps_year' - } - ] - columns: [ - VizFieldFull { - ref: ref('persisted_global_temps', 'jun') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - values: [ - VizFieldFull { - ref: ref('persisted_global_temps', 'son') - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - uname: 'sum_son' - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - column_width { - manual_widths: [ - ColumnWidth { - key: 'sum_son' - width: 155 - }, - ColumnWidth { - key: 'persisted_global_temps_year' - width: 133 - } - ] - } - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v3: VizBlock { - label: 'wabc' - viz: DataTable { - dataset: demo_ecommerce_internal_training - theme { - - } - fields: [ - VizFieldFull { - ref: ref('ecommerce_orders', 'id') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'ecommerce_orders_id' - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'status') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'created_at') - format { - type: 'datetime' - } - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'discount') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'delivery_attempts') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'created_date') - format { - type: 'date' - } - } - ] - settings { - show_row_number: true - conditional_formats: [ - ConditionalFormat { - key: 'ecommerce_orders_id' - format: SingleFormat { - condition { - operator: 'less_than' - value: 1000 - } - text_color: '#BF0E08' - background_color: '#FAD2D1' - apply_to_row: true - } - }, - ConditionalFormat { - key: 'ecommerce_orders_id' - format: SingleFormat { - condition { - operator: 'greater_than_equal' - value: 1000 - } - text_color: '#9C5C1C' - background_color: '#F0CFAD' - apply_to_row: true - } - }, - ConditionalFormat { - key: 'ecommerce_orders_id' - format: SingleFormat { - condition { - operator: 'greater_than_equal' - value: 1500 - } - text_color: '#328159' - background_color: '#B5E3CD' - apply_to_row: true - } - } - ] - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } -} \ No newline at end of file diff --git a/team-folders/Dat/bug_cross_filter.page.aml b/team-folders/Dat/bug_cross_filter.page.aml deleted file mode 100644 index 42350e8..0000000 --- a/team-folders/Dat/bug_cross_filter.page.aml +++ /dev/null @@ -1,151 +0,0 @@ -Dashboard bug_cross_filter { - title: 'Bug Cross Filter' - description: '' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v1: VizBlock { - label: 'Untitled Metric by Year Created At' - viz: BarChart { - dataset: demo_ecommerce - calculation metric_ebe90dc { - label: 'Untitled Metric' - formula: @aql 3;; - calc_type: 'measure' - data_type: 'number' - } - x_axis: VizFieldFull { - ref: ref('ecommerce_orders', 'created_at') - transformation: 'datetrunc year' - format { - type: 'date' - pattern: 'yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: 'metric_ebe90dc' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v2: VizBlock { - label: 'Untitled Metric by Year Created At' - viz: ColumnChart { - dataset: demo_ecommerce - calculation metric_ebe90dc { - label: 'Untitled Metric' - formula: @aql 3;; - calc_type: 'measure' - data_type: 'number' - } - x_axis: VizFieldFull { - ref: ref('ecommerce_orders', 'created_at') - transformation: 'datetrunc year' - format { - type: 'date' - pattern: 'yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: 'metric_ebe90dc' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v3: VizBlock { - label: 'Untitled Metric by Year Created At' - viz: PieChart { - dataset: demo_ecommerce - calculation metric_ebe90dc { - label: 'Untitled Metric' - formula: @aql 3;; - calc_type: 'measure' - data_type: 'number' - } - legend: VizFieldFull { - ref: ref('ecommerce_orders', 'created_at') - transformation: 'datetrunc year' - format { - type: 'date' - pattern: 'yyyy' - } - } - series { - field: VizFieldFull { - ref: 'metric_ebe90dc' - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color_palette: 0 - } - } - settings { - row_limit: 5000 - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - - view: CanvasLayout { - label: 'View 1' - height: 840 - grid_size: 20 - block title { - position: pos(20, 20, 1160, 60) - } - block v1 { - position: pos(20, 100, 440, 340) - layer: 1 - } - block v2 { - position: pos(600, 100, 560, 420) - layer: 1 - } - block v3 { - position: pos(40, 520, 560, 420) - layer: 1 - } - mobile { - mode: 'auto' - } - } - - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/team-folders/Minh/ecommerce (test themes).page.aml b/team-folders/Minh/ecommerce (test themes).page.aml index f2ae1fa..ded2c47 100644 --- a/team-folders/Minh/ecommerce (test themes).page.aml +++ b/team-folders/Minh/ecommerce (test themes).page.aml @@ -1,13 +1,7 @@ Dashboard ecommerce_cua_minh { title: 'Ecommerce Dashboard' description: '''''' - theme: H.themes.classic.extend( - { - canvas { - - } - } - ) + theme: H.themes.midnight block css: TextBlock { content: @md + + + + +;; + } + // block t46: background_gray() + block t47: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t49: TextBlock { + content: @md
;; + } + block t51: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t52: TextBlock { + content: @md
;; + } + block t53: TextBlock { + content: @md
;; + } + block t55: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block t56: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block v17: VizBlock { + label: 'Total Users and Delivered Orders Count by Quarter Sign Up Date' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('ecommerce_users', 'age_group') + operator: 'is_not' + value: '3. From 40 to 49' + } + rows: [ + VizFieldFull { + ref: ref('ecommerce_countries', 'continent_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + ] + columns: [ + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + ] + values: [ + VizFieldFull { + ref: ref('order_master', 'revenue') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_total: true + show_column_total: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + } + } + } + block v18: VizBlock { + label: 'Customer Info and Buying Behavior' + viz: DataTable { + dataset: demo_ecommerce + fields: [ + VizFieldFull { + ref: ref('ecommerce_users', 'full_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + uname: 'ecommerce_countries_name' + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_products', 'total_products') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'cancelled_order_ratio') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_cancelled_order_ratio' + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + column_styles: [ + ColumnStyle { + key: 'ecommerce_countries_name' + width: 216 + }, + ColumnStyle { + key: 'custom_cancelled_order_ratio' + width: 180 + } + ] + } + } + } + block p1: PopBlock { + label: 'Compare with Period' + } + block v19: VizBlock { + label: 'Total Users and Total Users by Age Demographic and Gender' + viz: ColumnChart { + dataset: demo_ecommerce + theme { + + } + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + legend: VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + } + y_axis { + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#07326C' + point { + value: 'Male' + color: '#FB8761' + } + point { + value: 'Female' + color: '#64628c' + } + } + } + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + break_by_legend: false + } + } + } + settings { + x_axis_show_null_datetime: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_users_gender: FilterBlock { + label: 'Users Gender' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: r(ecommerce_users.gender) + } + default { + operator: 'is' + value: [] + } + } + view: CanvasLayout { + label: 'View 1' + width: 1540 + height: 4460 + grid_size: 20 + block hd1 { + position: pos(1320, 20, 180, 60) + } + block hd2 { + position: pos(180, 360, 640, 60) + } + block hd3 { + position: pos(0, 0, 1540, 200) + layer: -1 + } + block t2 { + position: pos(40, 100, 660, 60) + } + block v1 { + position: pos(60, 800, 1420, 380) + } + block v2 { + position: pos(80, 460, 300, 140) + } + block v2_dup_dup { + position: pos(440, 2300, 380, 500) + } + block v6 { + position: pos(840, 2300, 680, 500) + } + block v7 { + position: pos(60, 3380, 1440, 440) + } + block v8 { + position: pos(380, 2960, 560, 400) + } + block v10 { + position: pos(80, 600, 320, 140) + } + block v12 { + position: pos(480, 440, 1000, 300) + layer: -1 + } + block f1 { + position: pos(80, 3020, 260, 40) + } + block t5 { + position: pos(40, 320, 1460, 80) + } + block t6 { + position: pos(40, 1300, 1460, 80) + } + block t8 { + position: pos(60, 2860, 1460, 80) + } + block t9 { + position: pos(80, 2980, 260, 40) + } + block t10 { + position: pos(920, 100, 180, 60) + } + block t11 { + position: pos(1120, 100, 180, 60) + } + block t12 { + position: pos(1320, 100, 180, 60) + } + block v13 { + position: pos(40, 1380, 720, 460) + } + block t26 { + position: pos(60, 2960, 300, 120) + layer: -2 + } + block t28 { + position: pos(80, 3260, 260, 40) + } + block f2 { + position: pos(80, 3300, 260, 40) + } + block f3 { + position: pos(80, 3160, 260, 40) + } + block t32 { + position: pos(80, 3120, 260, 40) + layer: 1 + } + block v15 { + position: pos(960, 2960, 560, 400) + } + block v16 { + position: pos(780, 1380, 720, 460) + } + block t38 { + position: pos(0, 4400, 1540, 180) + layer: -1 + } + block t39 { + position: pos(60, 3860, 200, 80) + } + block t40 { + position: pos(1120, 4440, 400, 120) + } + block t47 { + position: pos(1420, 1240, 80, 100) + layer: 1 + } + block t49 { + position: pos(40, 780, 1460, 420) + layer: -2 + } + block t51 { + position: pos(1440, 2820, 80, 100) + layer: 1 + } + block t52 { + position: pos(460, 420, 1040, 340) + layer: -2 + } + block t53 { + position: pos(40, 420, 400, 340) + layer: -2 + } + block t55 { + position: pos(60, 3100, 300, 120) + layer: -1 + } + block t56 { + position: pos(60, 3240, 300, 120) + layer: -1 + } + block v17 { + position: pos(40, 1860, 1480, 420) + } + block v18 { + position: pos(60, 3820, 1480, 500) + } + block p1 { + position: pos(1300, 2960, 220, 60) + layer: 2 + } + block v19 { + position: pos(40, 2300, 380, 500) + layer: 3 + } + block f_users_gender { + position: pos(1160, 220, 300, 80) + layer: -1 + } + } + settings { + timezone: 'America/Los_Angeles' + cache_duration: 10 + } + interactions: [ + FilterInteraction { + from: 'f1' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f2' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f3' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_users_gender' + to: [ + CustomMapping { + block: [ + 'f1', + 'f2', + 'f3' + ] + disabled: true + } + ] + }, + PopInteraction { + from: 'p1' + to: [ + CustomMapping { + block: 'v15' + field: r(order_master.order_created_at) + } + ] + } + ] +} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce.thang.dataset.aml b/team-folders/Thang/ecommerce.thang.dataset.aml new file mode 100644 index 0000000..770b430 --- /dev/null +++ b/team-folders/Thang/ecommerce.thang.dataset.aml @@ -0,0 +1,69 @@ +Dataset ecommerce { + label: 'ecommerce' + description: '' + data_source_name: 'movies_lens' + models: [ + ecommerce_orders2, + ecommerce_users2 + ] + relationships: [ + relationship(ecommerce_orders2.user_id > ecommerce_users2.id, true) + ] + metric avg_delivered_orders_per_user { + label: "Avg Delivered Orders Per User" + type: "number" + hidden: false + description: "" + definition: @aql ecommerce_orders2.completed_orders_count + / ecommerce_users2.total_users;; + } + metric high_value_users { + label: "High value users" + type: "number" + hidden: false + description: "" + definition: @aql ecommerce_orders2 +| group(ecommerce_users2.id) +| filter( + count(ecommerce_orders2.id) + | where(ecommerce_orders2.status == 'delivered') + >= 20 + ) +| count();; + format: "" + } + metric medium_value_user { + label: "Medium Value User" + type: "number" + hidden: false + description: "" + definition: @aql ecommerce_orders2 +| filter(ecommerce_orders2.status == 'delivered') +| group(ecommerce_users2.id) +| filter(count(ecommerce_orders2.id) >= 5 and count(ecommerce_orders2.id) <= 19) +| count() +;; + } + metric low_value_user { + label: "Low Value User" + type: "number" + hidden: false + description: "" + definition: @aql ecommerce_orders2 +| group(ecommerce_users2.id) +| filter( + count(ecommerce_orders2.id) + | where(ecommerce_orders2.status == 'delivered') + <= 2 + ) +| count();; + } + dimension dimension_0df1960 { + label: "Concat field" + type: "text" + hidden: false + description: "" + definition: @aql concat(cast(ecommerce_orders2.id, 'text'), " ", ecommerce_orders2.status);; + model: ecommerce_orders2 + } +} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_dashboard_thang.page.aml b/team-folders/Thang/ecommerce_dashboard_thang.page.aml new file mode 100644 index 0000000..7f690f0 --- /dev/null +++ b/team-folders/Thang/ecommerce_dashboard_thang.page.aml @@ -0,0 +1,751 @@ +Dashboard ecommerce_dashboard_thang { + title: 'Ecommerce. Customer Order Behavior Overview. Thang' + description: '' + owner: 'thang.lk@holistics.io' + block title: TextBlock { + content: @md Customer Order Behavior Overview;; + } + block v_noyg: VizBlock { + label: 'Order created in Dec 2022' + viz: DataTable { + dataset: ecommerce + filter { + field: r(ecommerce_orders2.created_at) + operator: 'matches' + value: 'dec 2022' + } + fields: [ + VizFieldFull { + ref: r(ecommerce_orders2.created_at) + format { + type: 'datetime' + } + }, + VizFieldFull { + ref: r(ecommerce_users2.full_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_users2.email) + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_xita: VizBlock { + label: 'Number of orders place by each user' + viz: DataTable { + dataset: ecommerce + fields: [ + VizFieldFull { + ref: r(ecommerce_users2.full_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_orders2.all_orders_count) + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_up3p: VizBlock { + label: 'Top customer by successful orders' + viz: DataTable { + dataset: ecommerce + fields: [ + VizFieldFull { + ref: r(ecommerce_users2.full_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_users2.email) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_orders2.delivered_orders_count) + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_delivered_orders_count_1' + }, + VizFieldFull { + ref: r(ecommerce_orders2.all_orders_count) + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + sorts: [ + SortSetting { + key: 'custom_delivered_orders_count_1' + direction: 'desc' + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_o1kl: VizBlock { + label: 'Low value user → onboarding, trust, education' + viz: DataTable { + dataset: ecommerce + filter { + field: r(ecommerce_orders2.delivered_orders_count) + operator: 'less_than' + value: '2' + } + fields: [ + VizFieldFull { + ref: r(ecommerce_users2.full_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_users2.email) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_orders2.delivered_orders_count) + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_delivered_orders_count_1' + }, + VizFieldFull { + ref: r(ecommerce_orders2.all_orders_count) + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + sorts: [ + SortSetting { + key: 'custom_delivered_orders_count_1' + direction: 'desc' + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_5iy6: VizBlock { + label: 'Which Age Groups Complete More Orders?' + description: 'Each dot represents an age group' + viz: ScatterChart { + dataset: ecommerce + filter { + field: r(ecommerce_users2.age_group) + operator: 'is' + value: '3. From 30 to 39' + } + x_col: VizFieldFull { + ref: r(ecommerce_orders2.delivered_orders_count) + format { + type: 'number' + pattern: 'inherited' + } + } + y_col: VizFieldFull { + ref: r(ecommerce_users2.total_users) + format { + type: 'number' + pattern: 'inherited' + } + } + group_col: VizFieldFull { + ref: r(ecommerce_users2.age_group) + format { + type: 'text' + } + } + settings { + row_limit: 5000 + } + } + } + block v_inr6: VizBlock { + label: 'Total Delivered Orders' + viz: DataTable { + dataset: ecommerce + fields: [ + VizFieldFull { + label: 'Total Delivered Orders' + ref: r(ecommerce_orders2.delivered_orders_count) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_570z: VizBlock { + label: 'Avg Delivered Orders Per User' + viz: MetricKpi { + dataset: ecommerce + value: VizFieldFull { + ref: r(ecommerce.avg_delivered_orders_per_user) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + alignment: 'left' + } + } + settings { + hide_label: true + } + } + block v_ch4j: VizBlock { + label: 'High value users' + viz: DataTable { + dataset: ecommerce + filter { + field: r(ecommerce_orders2.delivered_orders_count) + operator: 'greater_than' + value: '20' + } + fields: [ + VizFieldFull { + ref: r(ecommerce_users2.full_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_orders2.delivered_orders_count) + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_delivered_orders_count_1' + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_k1c5: VizBlock { + label: 'User Segmentation by Order' + viz: BarChart { + dataset: ecommerce + y_axis { + series { + field: VizFieldFull { + ref: r(ecommerce.low_value_user) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color_palette: 0 + } + } + series { + field: VizFieldFull { + ref: r(ecommerce.medium_value_user) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color_palette: 0 + } + } + series { + field: VizFieldFull { + ref: r(ecommerce.high_value_users) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color_palette: 0 + } + } + } + settings { + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_1fcq: VizBlock { + label: 'Sign Up Date and Last Name' + viz: DataTable { + dataset: ecommerce + fields: [ + VizFieldFull { + ref: r(ecommerce_users2.sign_up_date) + format { + type: 'date' + } + }, + VizFieldFull { + ref: r(ecommerce_users2.last_name) + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_orders_status: FilterBlock { + label: 'Orders Status' + type: 'field' + source: FieldFilterSource { + dataset: ecommerce + field: r(ecommerce_orders2.status) + } + default { + operator: 'is' + value: 'delivered' + } + settings { + drillthrough: Drillthrough { + enabled: true + sources: [ + CustomDrillthroughSource { + sources: [ + '_0_ecommerce_dashboard_30' + ] + } + ] + } + } + } + block p_period_comparison: PopBlock { + label: 'Period Comparison' + default { + type: 'relative' + duration: 1 + granularity: 'year' + } + } + block d_date_drill: DateDrillBlock { + label: 'Date Drill' + } + block f_orders_id: FilterBlock { + label: 'Orders Id' + type: 'field' + source: FieldFilterSource { + dataset: ecommerce + field: r(ecommerce_orders2.id) + } + default { + operator: 'is' + value: [] + } + settings { + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block f_users_gender: FilterBlock { + label: 'Users Gender' + type: 'field' + source: FieldFilterSource { + dataset: ecommerce + field: r(ecommerce_users2.gender) + } + default { + operator: 'is' + value: 'm' + } + settings { + input_type: 'multiple' + } + } + block f_orders_status_bnp2: FilterBlock { + label: 'Orders Status' + type: 'field' + source: FieldFilterSource { + dataset: ecommerce + field: r(ecommerce_orders2.status) + } + default { + operator: 'is' + value: [] + } + } + + view: TabLayout { + label: 'View 1' + tab view_1: CanvasLayout { + label: 'Tab 1' + width: 1300 + height: 3470 + grid_size: 20 + auto_expand_vertically: true + block title { + position: pos(20, 20, 1260, 60) + } + block v_noyg { + position: pos(660, 1360, 620, 420) + layer: 1 + } + block v_xita { + position: pos(20, 1360, 620, 420) + layer: 2 + } + block v_up3p { + position: pos(660, 920, 620, 420) + layer: 4 + } + block v_o1kl { + position: pos(20, 1800, 620, 420) + layer: 6 + } + block v_5iy6 { + position: pos(20, 480, 620, 420) + layer: 8 + } + block v_inr6 { + position: pos(20, 310, 620, 160) + layer: 10 + } + block v_570z { + position: pos(660, 300, 620, 160) + layer: 11 + } + block v_ch4j { + position: pos(20, 920, 620, 420) + layer: 6 + } + block v_k1c5 { + position: pos(660, 480, 620, 420) + layer: 12 + } + block v_1fcq { + position: pos(660, 1800, 620, 420) + layer: 13 + } + block f_orders_status { + position: pos(40, 210, 300, 80) + layer: 12 + } + block p_period_comparison { + position: pos(400, 190, 300, 80) + layer: 12 + } + block d_date_drill { + position: pos(740, 190, 300, 80) + layer: 11 + } + block f_orders_id { + position: pos(1060, 190, 300, 80) + layer: 12 + } + block f_users_gender { + position: pos(600, 100, 300, 80) + layer: 12 + } + block f_orders_status_bnp2 { + position: pos(410, 660, 300, 80) + layer: 12 + } + mobile { + mode: 'auto' + } + } + } + interactions: [ + FilterInteraction { + from: 'v_noyg' + to: [ + CustomMapping { + block: [ + 'v_5iy6', + 'v_inr6', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_xita' + to: [ + CustomMapping { + block: [ + 'v_5iy6', + 'v_inr6', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_up3p' + to: [ + CustomMapping { + block: [ + 'v_5iy6', + 'v_inr6', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_o1kl' + to: [ + CustomMapping { + block: [ + 'v_5iy6', + 'v_inr6', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_5iy6' + to: [ + CustomMapping { + block: [ + 'v_noyg', + 'v_xita', + 'v_up3p', + 'v_o1kl', + 'v_inr6', + 'v_ch4j', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_inr6' + to: [ + CustomMapping { + block: [ + 'v_noyg', + 'v_xita', + 'v_up3p', + 'v_o1kl', + 'v_5iy6', + 'v_ch4j', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_570z' + to: [ + CustomMapping { + block: 'v_k1c5' + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_ch4j' + to: [ + CustomMapping { + block: [ + 'v_5iy6', + 'v_inr6', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_k1c5' + to: [ + CustomMapping { + block: [ + 'v_noyg', + 'v_xita', + 'v_up3p', + 'v_o1kl', + 'v_5iy6', + 'v_inr6', + 'v_570z', + 'v_ch4j' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_orders_status' + to: [ + CustomMapping { + block: [ + 'f_orders_id', + 'f_users_gender', + 'f_orders_status_bnp2' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_orders_id' + to: [ + CustomMapping { + block: [ + 'f_orders_status', + 'f_users_gender', + 'f_orders_status_bnp2' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_users_gender' + to: [ + CustomMapping { + block: [ + 'f_orders_status', + 'f_orders_id', + 'f_orders_status_bnp2' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_orders_status_bnp2' + to: [ + CustomMapping { + block: [ + 'f_orders_status', + 'f_orders_id', + 'f_users_gender' + ] + disabled: true + } + ] + }, + PopInteraction { + from: 'p_period_comparison' + to: [ + CustomMapping { + block: [ + 'v_noyg', + 'v_xita', + 'v_up3p', + 'v_o1kl', + 'v_inr6', + 'v_570z', + 'v_ch4j', + 'v_k1c5' + ] + field: r(ecommerce_orders2.created_at) + }, + CustomMapping { + block: 'v_1fcq' + field: r(ecommerce_users2.sign_up_date) + } + ] + }, + DateDrillInteraction { + from: 'd_date_drill' + to: [ + CustomMapping { + block: 'v_noyg' + field: r(ecommerce_orders2.created_at) + }, + CustomMapping { + block: 'v_1fcq' + field: r(ecommerce_users2.sign_up_date) + } + ] + } + ] + theme: H.themes.classic +} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_orders.model.aml b/team-folders/Thang/ecommerce_orders.model.aml new file mode 100644 index 0000000..eaa5840 --- /dev/null +++ b/team-folders/Thang/ecommerce_orders.model.aml @@ -0,0 +1,60 @@ +Model ecommerce_orders2 { + type: 'table' + label: 'Orders' + description: '' + data_source_name: 'demodb' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension status { + label: 'Status' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.status }};; + } + dimension created_at { + label: 'Created At' + type: 'datetime' + hidden: false + definition: @sql {{ #SOURCE.created_at }};; + } + dimension user_id { + label: 'User Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.user_id }};; + } + dimension discount { + label: 'Discount' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.discount }};; + } + dimension delivery_attempts { + label: 'Delivery Attempts' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.delivery_attempts }};; + } + + owner: 'thang.lk@holistics.io' + table_name: '"ecommerce"."orders"' + measure all_orders_count { + label: "All Orders Count" + type: "text" + description: "Total Orders" + definition: @sql count({{id}});; + aggregation_type: "custom" + } + measure delivered_orders_count { + label: "Delivered Orders Count" + type: "text" + description: "" + hidden: false + definition: @sql COUNT(CASE WHEN {{ status }} = 'delivered' THEN {{ id }} ELSE NULL END);; + aggregation_type: "custom" + } +} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_users.model.aml b/team-folders/Thang/ecommerce_users.model.aml new file mode 100644 index 0000000..a88b472 --- /dev/null +++ b/team-folders/Thang/ecommerce_users.model.aml @@ -0,0 +1,94 @@ +Model ecommerce_users2 { + type: 'table' + label: 'Users' + description: '' + data_source_name: 'demodb' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension sign_up_date { + label: 'Sign Up Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.sign_up_date }};; + } + dimension sign_up_at { + label: 'Sign Up At' + type: 'datetime' + hidden: false + definition: @sql {{ #SOURCE.sign_up_at }};; + } + dimension first_name { + label: 'First Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.first_name }};; + } + dimension last_name { + label: 'Last Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.last_name }};; + } + dimension email { + label: 'Email' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.email }};; + } + dimension birth_date { + label: 'Birth Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.birth_date }};; + } + dimension gender { + label: 'Gender' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.gender }};; + } + dimension city_id { + label: 'City Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.city_id }};; + } + dimension full_name { + label: 'Full Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.full_name }};; + } + dimension age { + label: "Age" + type: "number" + description: "" + definition: @sql date_part('year', current_date) - date_part('year', {{ birth_date }});; + } + dimension age_group { + label: "Age Group" + type: "text" + description: "" + definition: @sql case + when {{ age }} < 20 then '1. Under 20' + when {{ age }} >= 20 and {{ age }} < 30 then '2. From 20 to 29' + when {{ age }} >= 30 and {{ age }} < 40 then '3. From 30 to 39' + when {{ age }} >= 40 then '4. 40 and up' +end;; + } + + owner: 'thang.lk@holistics.io' + table_name: '"ecommerce"."users"' + measure total_users { + label: "Total users" + type: "number" + description: "" + hidden: false + definition: @aql count(ecommerce_users2.id);; + aggregation_type: "custom" + } +} \ No newline at end of file diff --git a/team-folders/Vux/vux-test.page.aml b/team-folders/Vux/vux-test.page.aml new file mode 100644 index 0000000..55cedb0 --- /dev/null +++ b/team-folders/Vux/vux-test.page.aml @@ -0,0 +1,173 @@ +Dashboard vux_test { + title: 'vux-test' + description: '' + owner: 'vu.dq@holistics.io' + block title: TextBlock { + content: @md # Your title goes here ;; + } + block v_a79o: VizBlock { + label: 'Revenue Percentage by Status' + viz: PieChart { + dataset: ecom_dataset_vux + calculation revenue_percentage { + label: 'Revenue Percentage' + formula: @aql (order_master.revenue * 1.0) +/ (order_master.revenue | of_all(order_master, keep_filters: true));; + calc_type: 'measure' + data_type: 'number' + } + legend: VizFieldFull { + ref: r(order_master.status) + format { + type: 'text' + } + } + series { + field: VizFieldFull { + ref: 'revenue_percentage' + format { + type: 'number' + pattern: '#,###%' + } + } + } + settings { + display_as_donut: true + row_limit: 5000 + show_percentage: true + data_label_position: 'none' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_no1k: VizBlock { + label: 'Revenue by Continent' + viz: ColumnChart { + dataset: ecom_dataset_vux + calculation revenue_percentage { + label: 'Revenue Percentage' + formula: @aql (order_master.revenue * 1.0) +/ (order_master.revenue | of_all(order_master, keep_filters: true));; + calc_type: 'measure' + data_type: 'number' + } + legend: VizFieldFull { + ref: r(ecommerce_countries.continent_name) + format { + type: 'text' + } + } + y_axis { + series { + field: VizFieldFull { + ref: r(order_master.revenue) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color_palette: 'seq-magma' + point { + value: 'Asia' + color: '#FBFDBF' + } + point { + value: 'Europe' + color: '#FB8761' + } + point { + value: 'North America' + color: '#B5367A' + } + point { + value: 'Oceania' + color: '#4F127B' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_order_master_order_created_at: FilterBlock { + label: 'Order Master Order Created At' + type: 'field' + source: FieldFilterSource { + dataset: ecom_dataset_vux + field: r(order_master.order_created_at) + } + default { + operator: 'matches' + value: '$H_NIL$' + } + } + + view: TabLayout { + label: 'View 1' + tab view_1: CanvasLayout { + label: 'Tab 1' + width: 640 + height: 600 + grid_size: 20 + auto_expand_vertically: true + block v_a79o { + position: pos(20, 120, 600, 460) + } + block f_order_master_order_created_at { + position: pos(20, 20, 300, 80) + } + mobile { + mode: 'auto' + } + } + tab tab_d9q1: CanvasLayout { + label: 'Tab 2' + width: 1300 + height: 800 + grid_size: 20 + auto_expand_vertically: true + mobile { + mode: 'auto' + } + block v_no1k { + position: pos(120, 120, 600, 460) + } + block f_order_master_order_created_at { + position: pos(20, 20, 300, 80) + } + } + } + + theme: H.themes.vanilla + interactions: [ + FilterInteraction { + from: 'v_a79o' + to: [ + CustomMapping { + block: 'v_no1k' + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_no1k' + to: [ + CustomMapping { + block: 'v_a79o' + disabled: true + } + ] + } + ] +} \ No newline at end of file diff --git a/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml b/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml index c61292f..4378f36 100644 --- a/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml +++ b/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml @@ -1,5 +1,6 @@ Dashboard onboarding_dashboard { title: 'Onboarding Dashboard' + owner: 'vy@holistics.io' description: '' block title: TextBlock { content: @md # Order by Month Dashboard ;; diff --git a/team-folders/VyHuynh/Vy's Dashboard/VyHuynh_Abernathy.page.aml b/team-folders/VyHuynh/Vy's Dashboard/VyHuynh_Abernathy.page.aml index 9083fee..447e98f 100644 --- a/team-folders/VyHuynh/Vy's Dashboard/VyHuynh_Abernathy.page.aml +++ b/team-folders/VyHuynh/Vy's Dashboard/VyHuynh_Abernathy.page.aml @@ -16,18 +16,18 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a tab tab2: CanvasLayout { label: 'Revenue Overview' width: 1220 - height: 4400 + height: 4220 grid_size: 20 block v2 { - position: pos(20, 820, 260, 140) + position: pos(920, 460, 260, 140) layer: 2 } block v3 { - position: pos(20, 2180, 1160, 460) + position: pos(20, 2000, 1160, 460) layer: 3 } block v4 { - position: pos(300, 820, 260, 140) + position: pos(920, 620, 260, 140) layer: 2 } block t3 { @@ -67,19 +67,19 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a layer: 9 } block v8 { - position: pos(20, 980, 1160, 580) + position: pos(20, 800, 1160, 580) layer: 1 } block v_711g { - position: pos(20, 220, 1160, 580) + position: pos(20, 220, 640, 400) layer: 1 } block v_nehb { - position: pos(20, 2660, 1160, 460) + position: pos(20, 2480, 1160, 460) layer: 1 } block v_cii9 { - position: pos(20, 3140, 1160, 400) + position: pos(20, 2960, 1160, 400) layer: 10 } block t_4ttu { @@ -99,15 +99,15 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a layer: 4 } block v_qj0m { - position: pos(20, 3560, 1160, 400) + position: pos(20, 3380, 1160, 400) layer: 11 } block v_lpgt { - position: pos(20, 3980, 580, 400) + position: pos(20, 3800, 580, 400) layer: 12 } block v_5zcz { - position: pos(20, 1580, 1160, 580) + position: pos(20, 1400, 1160, 580) layer: 1 } mobile { @@ -133,6 +133,14 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a position: pos(20, 900, 1460, 520) layer: 1 } + block v_8r0h { + position: pos(560, 20, 340, 420) + layer: 1 + } + block v_wiw0 { + position: pos(940, 20, 340, 420) + layer: 1 + } mobile { mode: 'auto' } @@ -235,22 +243,7 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a } auto_expand_horizontally: true } - tab tab_lyhw: CanvasLayout { - label: 'Untitled' - width: 1300 - height: 800 - grid_size: 20 - auto_expand_vertically: true - mobile { - mode: 'auto' - } - block f_3fj4 { - position: pos(20, 20, 300, 80) - layer: 1 - } - } } - theme: H.themes.vanilla block v2: VizBlock { label: 'This month Revenue' @@ -574,10 +567,7 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a } } } - block t9: H.blocks.line( - 2, - '#8F99A3' - ) + block t9: H.blocks.line(2, '#8F99A3') block v8: VizBlock { label: 'GMV - Gross Merchandise Value by Month' viz: AreaChart { @@ -634,7 +624,7 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a } block v_711g: VizBlock { label: 'Number of Order by Country Name and City Name' - viz: ColumnChart { + viz: LineChart { dataset: demo_ecommerce x_axis: VizFieldFull { ref: r(order_master.order_created_month) @@ -1284,7 +1274,7 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a } default { operator: 'matches' - value: '27 april 2025 to yesterday' + value: '$H_NIL$' } settings { drillthrough: Drillthrough { @@ -1620,18 +1610,6 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a } } } - block f_3fj4: FilterBlock { - label: 'Order Master Order Id' - type: 'field' - source: FieldFilterSource { - dataset: ecom_dataset_vux - field: r(order_master.order_id) - } - default { - operator: 'is' - value: [] - } - } block v_5zcz: VizBlock { label: 'GMV - Gross Merchandise Value by Month' viz: CombinationChart { @@ -1737,6 +1715,52 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a } } } + block v_8r0h: VizBlock { + label: 'Order Created Month, Continent Name and 3 more copy' + viz: DataTable { + dataset: vy_test_dataset + fields: [ + VizFieldFull { + ref: r(test_data_axis_scale_csv.sales) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + row_limit: 10 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_wiw0: VizBlock { + label: 'Order Created Month, Continent Name and 3 more copy copy' + viz: DataTable { + dataset: vy_test_dataset + fields: [ + VizFieldFull { + ref: r(test_data_axis_scale_csv.sales) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + row_limit: 3 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } interactions: [ FilterInteraction { from: 'v5' @@ -1786,30 +1810,6 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a } ] }, - FilterInteraction { - from: 'f2' - to: [ - CustomMapping { - block: [ - 'v8', - 'v_ztqi', - 'v_hk4u', - 'v_wsww', - 'v_856v', - 'v_qctn', - 'v_9rhg', - 'v_dbuh', - 'v_tusm', - 'v_nyr1', - 'v_5zcz', - 'v_5dpt', - 'f1', - 'f_zwa4' - ] - disabled: true - } - ] - }, FilterInteraction { from: 'v8' to: [ @@ -2006,11 +2006,11 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a 'v4', 'v_nehb' ] - field: r(vyht_ecommerce_orders_1.created_at) + field: ref('vyht_ecommerce_orders_1', 'created_at') }, CustomMapping { block: 'v_cii9' - field: r(bq_fct_order_items.created_at) + field: ref('bq_fct_order_items', 'created_at') } ] }, @@ -2118,19 +2118,6 @@ Morbi rhoncus tellus eget libero tincidunt, sit amet aliquam leo hendrerit. Ut a } ] }, - FilterInteraction { - from: 'f_3fj4' - to: [ - CustomMapping { - block: [ - 'v_2qyv', - 'v_3mef', - 'v_059z' - ] - disabled: true - } - ] - }, FilterInteraction { from: 'v_5zcz' to: [ diff --git a/team-folders/khai/Dynamic Dim/dynamic_dim_model.model.aml b/team-folders/khai/Dynamic Dim/dynamic_dim_model.model.aml index 3750198..0cbb64d 100644 --- a/team-folders/khai/Dynamic Dim/dynamic_dim_model.model.aml +++ b/team-folders/khai/Dynamic Dim/dynamic_dim_model.model.aml @@ -88,12 +88,6 @@ Model dynamic_dim_model { definition: @sql {{ #SOURCE.country_name }};; } - param dim_choice { - label: 'Dim Choice' - type: 'text' - allowed_values: ['Countries', 'Cities', 'Gender'] - } - dimension dynamic_dim { label: 'Dynamic Breakdown Dimension' type: 'text' @@ -107,6 +101,16 @@ Model dynamic_dim_model { ) ;; } + param dim_choice { + label: 'Dim Choice' + type: 'text' + allowed_values: [ + 'Countries', + 'Cities', + 'Gender' + ] + } + owner: 'khai.to@holistics.io' query: @sql select @@ -138,4 +142,11 @@ Model dynamic_dim_model { ecommerce_countries, ecommerce_order_items ] -} + measure total_quantity { + label: "Total Quantity" + type: "number" + description: "" + definition: @aql sum(dynamic_dim_model.quantity);; + format: "#,###,\"K\"" + } +} \ No newline at end of file diff --git a/team-folders/khai/Dynamic Dim/dynamic_field_selection.page.aml b/team-folders/khai/Dynamic Dim/dynamic_field_selection.page.aml index 66cff78..0915af1 100644 --- a/team-folders/khai/Dynamic Dim/dynamic_field_selection.page.aml +++ b/team-folders/khai/Dynamic Dim/dynamic_field_selection.page.aml @@ -14,6 +14,10 @@ Dashboard dynamic_field_selection { position: pos(760, 20, 200, 100) layer: 2 } + block v_nq5f { + position: pos(20, 400, 980, 400) + layer: 1 + } width: 1020 } @@ -62,4 +66,60 @@ Dashboard dynamic_field_selection { input_type: 'single' } } + block v_nq5f: VizBlock { + label: 'Metrics by Country copy' + viz: ColumnChart { + dataset: khai_ecommerce + calculation test { + label: 'Test' + formula: @aql case( + when: (param_model.metric_selection | first()) == 'Revenue' + , then: 'Revenue' + , when: (param_model.metric_selection | first()) == 'Total Orders' + , then: 'Total Orders' + , when: (param_model.metric_selection | first()) == 'Total Users' + , then: 'Total Users' +);; + calc_type: 'dimension' + data_type: 'text' + model: countries + } + x_axis: VizFieldFull { + ref: r(countries.name) + format { + type: 'text' + } + } + legend: VizFieldFull { + ref: ref('countries', 'test') + format { + type: 'number' + pattern: 'inherited' + } + } + y_axis { + series { + field: VizFieldFull { + label: ' ' + ref: r(khai_ecommerce.dynamic_metric) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color_palette: 0 + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } } \ No newline at end of file diff --git a/team-folders/khai/datasets/khai_ecommerce.dataset.aml b/team-folders/khai/datasets/khai_ecommerce.dataset.aml index 1adbe62..0f6b841 100644 --- a/team-folders/khai/datasets/khai_ecommerce.dataset.aml +++ b/team-folders/khai/datasets/khai_ecommerce.dataset.aml @@ -20,20 +20,26 @@ Dataset khai_ecommerce { ] relationships: [ - relationship(orders.user_id > users.id, true), - relationship(order_items.order_id > orders.id, true), - relationship(cities.country_code > countries.code, true), - relationship(users.city_id > cities.id, true), - relationship(order_items.product_id > products.id, true), - relationship(products.merchant_id > merchants.id, true), - relationship(merchants.city_id > cities.id, true), - relationship(orders.created_date > khai_date_d.date_key, true) + relationship(orders.user_id > users.id, true, 'one_to_many'), + relationship(order_items.order_id > orders.id, true, 'one_to_many'), + relationship(cities.country_code > countries.code, true, 'one_to_many'), + relationship(users.city_id > cities.id, true, 'one_to_many'), + relationship(order_items.product_id > products.id, true, 'one_to_many'), + relationship(products.merchant_id > merchants.id, true, 'one_to_many'), + relationship(merchants.city_id > cities.id, true, 'one_to_many'), + relationship(orders.created_date > khai_date_d.date_key, true, 'one_to_many') , - relationship(products.category_id > khai_categories.id, true) + relationship(products.category_id > khai_categories.id, true, 'one_to_many') ] owner: 'khai.to+demo4@holistics.io' + // permission vendor_access { + // field: r(countries.name) + // operator: 'matches_user_attribute' + // value: 'country_attribute' // user attribute + // } + dimension user_acquired_at { model: users label: 'User Acquired At' @@ -64,7 +70,7 @@ Dataset khai_ecommerce { definition: @aql H.current_user.country_attribute;; model: countries } - dimension is_country { + dimension is_country_ { label: "Is Country" type: "truefalse" description: "" @@ -76,18 +82,21 @@ Dataset khai_ecommerce { label: 'Revenue' type: 'number' definition: @aql sum(order_items, order_items.quantity * products.price) ;; + format: "[\$\$]#,###" } metric total_orders { label: 'Total Orders' type: 'number' definition: @aql count(orders.id) ;; + format: "#,###" } metric total_users { label: 'Total Users' type: 'number' definition: @aql count(users.id) ;; + format: "#,###" } metric dynamic_metric { @@ -103,5 +112,36 @@ Dataset khai_ecommerce { , then: total_users ) ;; + format: "#,###,\"K\"" + } + + metric gmv { + label: "GMV (Gross Merchandise Value)" + type: "number" + hidden: false + description: "GMV - Gross Merchandise Value: Total value of all orders before discount." + definition: @aql order_items | sum(order_items.quantity * products.price);; + format: "[\$\$]#,###0" + } + + metric gmv_converted { + label: 'GMV (Converted)' + type: 'number' + definition: @aql case( + when: '🇺🇸 USD' in param_model.currency, then: gmv * 1, + when: '🇲🇾 MYR' in param_model.currency, then: gmv * 4.47, + when: '🇸🇬 SGD' in param_model.currency, then: gmv * 1.35, + when: '🇹🇭 THB' in param_model.currency, then: gmv * 35.5, + when: '🇻🇳 VND' in param_model.currency, then: gmv * 25450, + when: '🇦🇺 AUD' in param_model.currency, then: gmv * 1.57 + ) ;; + format: "#,###0" + } + metric revenue_per_active_customers { + label: "Revenue Per Active Customers" + type: "number" + hidden: false + description: "" + definition: @aql revenue / total_users;; } } \ No newline at end of file diff --git a/team-folders/khai/dynamic_dim_ecommerce_dashboard.page.aml b/team-folders/khai/dynamic_dim_ecommerce_dashboard.page.aml index e68eae8..7c8750f 100644 --- a/team-folders/khai/dynamic_dim_ecommerce_dashboard.page.aml +++ b/team-folders/khai/dynamic_dim_ecommerce_dashboard.page.aml @@ -2,7 +2,7 @@ Dashboard dynamic_dim_ecommerce_dashboard { title: "Phuong's test dashboard" view: CanvasLayout { label: 'View 1' - height: 1620 + height: 1980 grid_size: 20 block v1 { position: pos(20, 140, 540, 420) @@ -29,10 +29,34 @@ Dashboard dynamic_dim_ecommerce_dashboard { layer: 1 } block v_dbfr { - position: pos(20, 1100, 580, 400) + position: pos(20, 1140, 580, 400) layer: 5 } - width: 1240 + block v_x9r9 { + position: pos(620, 1140, 580, 400) + layer: 5 + } + block v_7k7m { + position: pos(20, 1560, 580, 400) + layer: 5 + } + block v_6gfd { + position: pos(1200, 140, 600, 400) + layer: 6 + } + block f_59es { + position: pos(1200, 20, 300, 100) + layer: 1 + } + block v_mq0d { + position: pos(1200, 580, 600, 400) + layer: 6 + } + block v_cx20 { + position: pos(1240, 1060, 740, 460) + layer: 5 + } + width: 2020 } theme: H.themes.classic block v1: VizBlock { @@ -113,7 +137,7 @@ Dashboard dynamic_dim_ecommerce_dashboard { type: 'field' source: FieldFilterSource { dataset: demo_ecommerce - field: ref('param_model_nam', 'dim_selections') + field: r(param_model_nam.dim_selections) } default { operator: 'is' @@ -298,13 +322,328 @@ Dashboard dynamic_dim_ecommerce_dashboard { } } } + block v_x9r9: VizBlock { + label: 'Total Orders and PoT Total Orders by Month Order Created At and Status' + viz: CombinationChart { + dataset: demo_ecommerce_internal_training + x_axis: VizFieldFull { + ref: r(order_master.order_created_at) + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + legend: VizFieldFull { + ref: r(order_master.status) + format { + type: 'text' + } + } + y_axis { + series { + mark_type: 'column' + field: VizFieldFull { + ref: r(demo_ecommerce_internal_training.total_orders) + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + y_axis { + settings { + alignment: 'right' + } + series { + mark_type: 'line' + field: VizFieldFull { + label: 'PoT Total Orders' + ref: r(demo_ecommerce_internal_training.total_orders) + format { + type: 'number' + pattern: '#,###%' + } + analytic: PercentOfTotalField { + of_all: 'grand_total' + } + } + settings { + line_style: 'dashed' + point { + value: 'cancelled' + line_style: 'dashed' + } + point { + value: 'delivered' + line_style: 'dashed' + } + point { + value: 'refunded' + line_style: 'dashed' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_7k7m: VizBlock { + label: 'Total Orders and Total Orders (prev. 1y) by Month Order Created At' + viz: CombinationChart { + dataset: demo_ecommerce_internal_training + x_axis: VizFieldFull { + ref: r(order_master.order_created_at) + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + y_axis { + series { + mark_type: 'column' + field: VizFieldFull { + ref: r(demo_ecommerce_internal_training.total_orders) + format { + type: 'number' + pattern: 'inherited' + } + } + } + series { + mark_type: 'line' + field: VizFieldFull { + label: 'Total Orders (prev. 1y)' + ref: r(demo_ecommerce_internal_training.total_orders) + format { + type: 'number' + pattern: 'inherited' + } + analytic: PeriodOverPeriodComparison { + time_dimension: r(order_master.order_created_at) + display: 'value' + comparison_period: 'relative to previous 1 year' + } + } + settings { + line_style: 'dashed' + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_6gfd: VizBlock { + label: 'Continent Name and dynamic metric' + viz: DataTable { + dataset: demo_ecommerce + calculation metric_faf1b2b { + label: 'dynamic metric - text' + formula: @aql +case( + when: 'pot' in param_model_nam.metric_selections, + then: concat( + cast(round(percent_of_total * 100, 1), 'text'), + '%' + ), + + when: 'total orders' in param_model_nam.metric_selections, + then: concat( + '', + cast(round(total_orders, 0), 'text') + ), + + when: 'aov' in param_model_nam.metric_selections, + then: concat( + '$', + cast(round(order_master.aov, 0), 'text') + ), + + when: 'revenue' in param_model_nam.metric_selections, + then: concat( + '$', + cast(round(order_master.revenue, 0), 'text') + ), + ) +;; + calc_type: 'measure' + data_type: 'text' + } + fields: [ + VizFieldFull { + ref: r(ecommerce_countries.continent_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: 'metric_faf1b2b' + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_59es: FilterBlock { + label: 'Dynamic metric' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: r(param_model_nam.metric_selections) + } + default { + operator: 'is' + value: 'Country Names' + } + settings { + input_type: 'single' + } + } + block v_mq0d: VizBlock { + label: 'Continent Name and dynamic metric copy' + viz: DataTable { + dataset: demo_ecommerce + calculation metric_faf1b2b { + label: 'dynamic metric - raw' + formula: @aql +case( + when: 'pot' in param_model_nam.metric_selections, + then: percent_of_total + , + + when: 'total orders' in param_model_nam.metric_selections, + then: total_orders + , + + when: 'aov' in param_model_nam.metric_selections, + then: order_master.aov + , + + when: 'revenue' in param_model_nam.metric_selections, + then: order_master.revenue + , + ) +;; + calc_type: 'measure' + data_type: 'number' + } + fields: [ + VizFieldFull { + ref: r(ecommerce_countries.continent_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: 'metric_faf1b2b' + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_cx20: VizBlock { + label: 'Bubble chart' + viz: BubbleChart { + dataset: demo_ecommerce_internal_training + x_col: VizFieldFull { + ref: r(order_master.order_created_at) + transformation: 'datetrunc year' + format { + type: 'date' + pattern: 'yyyy' + } + } + y_col: VizFieldFull { + ref: r(ecommerce_countries.continent_name) + format { + type: 'text' + } + } + z_col: VizFieldFull { + ref: r(demo_ecommerce_internal_training.total_orders) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } interactions: [ + FilterInteraction { + from: 'f1' + to: [ + CustomMapping { + block: [ + 'v_6gfd', + 'v_mq0d', + 'f_59es' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_59es' + to: [ + CustomMapping { + block: [ + 'v1', + 'v2', + 'v_6whf', + 'f1' + ] + disabled: true + } + ] + }, DateDrillInteraction { from: 'd_z1xt' to: [ CustomMapping { block: 'v_i7uw' - field: r(orders.created_at) + field: ref('orders', 'created_at') } ] } diff --git a/team-folders/khai/khai_test.page.aml b/team-folders/khai/khai_test.page.aml index 0dbd71e..419632b 100644 --- a/team-folders/khai/khai_test.page.aml +++ b/team-folders/khai/khai_test.page.aml @@ -4,7 +4,7 @@ Dashboard khai_test { label: 'View 1' tab tab1: CanvasLayout { label: 'Tab 1' - height: 860 + height: 840 grid_size: 20 block v1 { position: pos(20, 140, 1140, 540) @@ -37,9 +37,6 @@ Dashboard khai_test { height: 800 grid_size: 20 auto_expand_vertically: true - mobile { - mode: 'auto' - } block v_s6re { position: pos(20, 20, 1240, 540) layer: 1 @@ -60,24 +57,72 @@ Dashboard khai_test { position: pos(980, 580, 300, 80) layer: 5 } + mobile { + mode: 'auto' + } } tab tab_uidb: CanvasLayout { label: 'dynamic top n' - width: 840 - height: 800 + width: 780 + height: 560 grid_size: 20 auto_expand_vertically: true - mobile { - mode: 'auto' - } block v_52wr { - position: pos(80, 120, 740, 580) + position: pos(20, 120, 740, 420) layer: 1 } block f_wimh { - position: pos(80, 20, 300, 80) + position: pos(20, 20, 300, 80) layer: 2 } + mobile { + mode: 'auto' + } + } + tab tab_laxz: CanvasLayout { + label: 'topn-rank' + width: 880 + height: 860 + grid_size: 20 + auto_expand_vertically: true + mobile { + mode: 'auto' + } + block v_1boj { + position: pos(20, 120, 860, 720) + } + block f_jccu { + position: pos(20, 20, 300, 80) + layer: 1 + } + block f_irwp { + position: pos(340, 20, 300, 80) + } + } + tab tab_ovke: CanvasLayout { + label: 'dynamic-pop' + width: 1300 + height: 680 + grid_size: 20 + auto_expand_vertically: true + block v_rqnl { + position: pos(40, 100, 1240, 540) + } + block f_oit3 { + position: pos(40, 20, 300, 60) + } + block f_th9g { + position: pos(480, 20, 200, 60) + } + block f_1rlj { + position: pos(680, 20, 120, 60) + } + block t_fz4z { + position: pos(380, 20, 100, 60) + } + mobile { + mode: 'auto' + } } tab tab_cqbs: CanvasLayout { label: 'high-or-low' @@ -85,9 +130,6 @@ Dashboard khai_test { height: 800 grid_size: 20 auto_expand_vertically: true - mobile { - mode: 'auto' - } block v_c5p0 { position: pos(60, 140, 940, 420) layer: 1 @@ -96,6 +138,9 @@ Dashboard khai_test { position: pos(60, 40, 300, 80) layer: 2 } + mobile { + mode: 'auto' + } } tab tab_3lk7: CanvasLayout { label: 'finance-type' @@ -103,26 +148,31 @@ Dashboard khai_test { height: 360 grid_size: 20 auto_expand_vertically: true - mobile { - mode: 'auto' - } block v_okde { position: pos(40, 40, 940, 240) layer: 1 } + mobile { + mode: 'auto' + } } - tab tab_laxz: CanvasLayout { - label: 'Untitled' - width: 1300 - height: 800 + tab tab_g7f9: CanvasLayout { + label: 'dynamic currency' + width: 1340 + height: 680 grid_size: 20 auto_expand_vertically: true mobile { mode: 'auto' } - block v_x3vi { - position: pos(20, 20, 740, 500) - layer: 1 + block v_dn8j { + position: pos(300, 20, 1000, 640) + } + block f_slux { + position: pos(20, 20, 240, 80) + } + block f_408l { + position: pos(20, 120, 240, 80) } } } @@ -324,7 +374,7 @@ Dashboard khai_test { type: 'field' source: FieldFilterSource { dataset: khai_ecommerce - field: r(khai_ecommerce, countries.is_country) + field: r(khai_ecommerce, countries.is_country_) } default { operator: 'is' @@ -397,7 +447,7 @@ Dashboard khai_test { } } block f_wimh: FilterBlock { - label: 'Param Model Number Param' + label: 'Top N' type: 'field' source: FieldFilterSource { dataset: khai_ecommerce @@ -405,7 +455,7 @@ Dashboard khai_test { } default { operator: 'is' - value: '5' + value: '10' } } block v_c5p0: VizBlock { @@ -546,27 +596,206 @@ Dashboard khai_test { } } } - block v_x3vi: VizBlock { - label: 'Full Name and Total Orders' - viz: DataTable { + block v_rqnl: VizBlock { + label: ' copy' + viz: CombinationChart { dataset: khai_ecommerce - fields: [ + calculation previous_year_revenue { + label: 'Previous Year Revenue' + formula: @aql relative_period( + revenue, + khai_date_d.date_key, + interval(-(param_model.number_param | first()) year) +);; + calc_type: 'measure' + data_type: 'number' + } + calculation previous_month_revenue { + label: 'Previous Month Revenue' + formula: @aql relative_period( + revenue, + khai_date_d.date_key, + interval(-(param_model.number_param | first()) month) +);; + calc_type: 'measure' + data_type: 'number' + } + calculation previous_revenue { + label: 'Previous Revenue' + formula: @aql case( + when: 'year' in param_model.date_grain + , then: previous_year_revenue + , when: 'month' in param_model.date_grain + , then: previous_month_revenue + , else: null +);; + calc_type: 'measure' + data_type: 'number' + } + x_axis: VizFieldFull { + ref: r(khai_date_d.date_key) + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + y_axis { + settings { + show_data_label_by: 'value' + } + series { + mark_type: 'line' + field: VizFieldFull { + ref: r(khai_ecommerce.revenue) + format { + type: 'number' + pattern: '[$$]#,###' + } + } + } + } + y_axis { + settings { + alignment: 'right' + show_data_label_by: 'value' + } + series { + mark_type: 'line' + field: VizFieldFull { + ref: 'previous_revenue' + format { + type: 'number' + pattern: '[$$]#,###' + } + } + settings { + line_style: 'dashed' + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + settings { + hide_label: true + } + } + block f_oit3: FilterBlock { + label: 'Date' + type: 'field' + source: FieldFilterSource { + dataset: khai_ecommerce + field: r(khai_date_d.date_key) + } + default { + operator: 'matches' + value: '2024 to now' + } + settings { + hide_label: true + } + } + block f_th9g: FilterBlock { + label: 'Previous' + type: 'field' + source: FieldFilterSource { + dataset: khai_ecommerce + field: r(param_model.number_param) + } + default { + operator: 'is' + value: '1' + } + settings { + hide_label: true + hide_controls: true + } + } + block f_1rlj: FilterBlock { + label: 'Year or Month' + type: 'field' + source: FieldFilterSource { + dataset: khai_ecommerce + field: r(param_model.date_grain) + } + default { + operator: 'is' + value: 'year' + } + settings { + hide_label: true + hide_controls: true + } + } + block t_fz4z: TextBlock { + content: @md #### Previous;; + } + block v_1boj: VizBlock { + label: 'Full Name and Total Orders rank' + viz: PivotTable { + dataset: khai_ecommerce + calculation rank_orders { + label: 'Rank Orders' + formula: @aql dense_rank( + order: count(orders.id) | desc(), + partition: (khai_date_d.date_key | year()) +);; + calc_type: 'measure' + data_type: 'number' + } + conditions: [ + 'rank_orders <= first(param_model.number_param)' + ] + rows: [ VizFieldFull { - ref: r(users.full_name) + ref: r(khai_date_d.date_key) + transformation: 'datetrunc year' format { - type: 'text' + type: 'date' + pattern: 'yyyy' } }, + VizFieldFull { + ref: r(cities.name) + format { + type: 'text' + } + } + ] + values: [ VizFieldFull { ref: r(orders.total_orders) format { type: 'number' pattern: 'inherited' } + }, + VizFieldFull { + ref: 'rank_orders' + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_rank_orders_1' } ] settings { - show_row_number: true + pagination_size: 1000 + show_row_total: true + show_column_total: true + sorts: [ + SortSetting { + key: 'custom_rank_orders_1' + direction: 'asc' + } + ] row_limit: 5000 aggregate_awareness { enabled: true @@ -575,6 +804,103 @@ Dashboard khai_test { } } } + block f_jccu: FilterBlock { + label: 'Top N copy' + type: 'field' + source: FieldFilterSource { + dataset: khai_ecommerce + field: r(param_model.number_param) + } + default { + operator: 'is' + value: '6' + } + } + block f_irwp: FilterBlock { + label: 'Khai Date D Date Key' + type: 'field' + source: FieldFilterSource { + dataset: khai_ecommerce + field: r(khai_date_d.date_key) + } + default { + operator: 'matches' + value: '2024 to now' + } + } + block v_dn8j: VizBlock { + label: 'GMV (Converted) by Quarter Date Key and Status' + viz: ColumnChart { + dataset: khai_ecommerce + x_axis: VizFieldFull { + ref: r(khai_date_d.date_key) + transformation: 'datetrunc quarter' + format { + type: 'date' + pattern: 'yyyy Qq' + } + } + legend: VizFieldFull { + ref: r(orders.status) + format { + type: 'text' + } + } + y_axis { + settings { + show_data_label_by: 'value' + stack_series_by: 'value' + } + series { + field: VizFieldFull { + ref: r(khai_ecommerce.gmv_converted) + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + settings { + hide_label: true + } + } + block f_slux: FilterBlock { + label: 'Currency' + type: 'field' + source: FieldFilterSource { + dataset: khai_ecommerce + field: r(param_model.currency) + } + default { + operator: 'is' + value: '🇺🇸 USD' + } + settings { + input_type: 'single' + } + } + block f_408l: FilterBlock { + label: 'Date' + type: 'field' + source: FieldFilterSource { + dataset: khai_ecommerce + field: r(khai_date_d.date_key) + } + default { + operator: 'matches' + value: '2024 to now' + } + } interactions: [ FilterInteraction { from: 'v1' @@ -585,7 +911,9 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi' + 'v_rqnl', + 'v_1boj', + 'v_dn8j' ] disabled: true } @@ -600,7 +928,9 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi', + 'v_rqnl', + 'v_1boj', + 'v_dn8j', 'f_kmoy', 'f_vs3y', 'f_z363', @@ -609,7 +939,14 @@ Dashboard khai_test { 'f_m383', 'f_j1la', 'f_wimh', - 'f_jmgl' + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } @@ -624,7 +961,9 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi', + 'v_rqnl', + 'v_1boj', + 'v_dn8j', 'f_vs3y', 'f_z363', 'f_pofb', @@ -632,7 +971,14 @@ Dashboard khai_test { 'f_m383', 'f_j1la', 'f_wimh', - 'f_jmgl' + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } @@ -647,14 +993,23 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi', + 'v_rqnl', + 'v_1boj', + 'v_dn8j', 'f_z363', 'f_pofb', 'f_uuo1', 'f_m383', 'f_j1la', 'f_wimh', - 'f_jmgl' + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } @@ -670,7 +1025,9 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi' + 'v_rqnl', + 'v_1boj', + 'v_dn8j' ] disabled: true } @@ -686,7 +1043,9 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi', + 'v_rqnl', + 'v_1boj', + 'v_dn8j', 'f_ml3q', 'f_kmoy', 'f_vs3y', @@ -695,7 +1054,14 @@ Dashboard khai_test { 'f_m383', 'f_j1la', 'f_wimh', - 'f_jmgl' + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } @@ -711,7 +1077,9 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi', + 'v_rqnl', + 'v_1boj', + 'v_dn8j', 'f_ml3q', 'f_kmoy', 'f_vs3y', @@ -719,7 +1087,14 @@ Dashboard khai_test { 'f_m383', 'f_j1la', 'f_wimh', - 'f_jmgl' + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } @@ -735,14 +1110,23 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi', + 'v_rqnl', + 'v_1boj', + 'v_dn8j', 'f_ml3q', 'f_kmoy', 'f_vs3y', 'f_m383', 'f_j1la', 'f_wimh', - 'f_jmgl' + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } @@ -758,7 +1142,9 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi', + 'v_rqnl', + 'v_1boj', + 'v_dn8j', 'f_ml3q', 'f_kmoy', 'f_vs3y', @@ -767,7 +1153,14 @@ Dashboard khai_test { 'f_uuo1', 'f_j1la', 'f_wimh', - 'f_jmgl' + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } @@ -782,7 +1175,9 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi', + 'v_rqnl', + 'v_1boj', + 'v_dn8j', 'f_ml3q', 'f_kmoy', 'f_vs3y', @@ -791,7 +1186,14 @@ Dashboard khai_test { 'f_uuo1', 'f_m383', 'f_wimh', - 'f_jmgl' + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } @@ -806,7 +1208,9 @@ Dashboard khai_test { 'v_52wr', 'v_c5p0', 'v_okde', - 'v_x3vi' + 'v_rqnl', + 'v_1boj', + 'v_dn8j' ] disabled: true } @@ -822,7 +1226,9 @@ Dashboard khai_test { 'v_6g2o', 'v_c5p0', 'v_okde', - 'v_x3vi' + 'v_rqnl', + 'v_1boj', + 'v_dn8j' ] disabled: true } @@ -838,7 +1244,9 @@ Dashboard khai_test { 'v_6g2o', 'v_c5p0', 'v_okde', - 'v_x3vi', + 'v_rqnl', + 'v_1boj', + 'v_dn8j', 'f_ml3q', 'f_kmoy', 'f_vs3y', @@ -847,7 +1255,14 @@ Dashboard khai_test { 'f_uuo1', 'f_m383', 'f_j1la', - 'f_jmgl' + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } @@ -863,7 +1278,9 @@ Dashboard khai_test { 'v_6g2o', 'v_52wr', 'v_okde', - 'v_x3vi' + 'v_rqnl', + 'v_1boj', + 'v_dn8j' ] disabled: true } @@ -879,7 +1296,9 @@ Dashboard khai_test { 'v_6g2o', 'v_52wr', 'v_okde', - 'v_x3vi', + 'v_rqnl', + 'v_1boj', + 'v_dn8j', 'f_ml3q', 'f_kmoy', 'f_vs3y', @@ -888,7 +1307,14 @@ Dashboard khai_test { 'f_uuo1', 'f_m383', 'f_j1la', - 'f_wimh' + 'f_wimh', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } @@ -904,14 +1330,188 @@ Dashboard khai_test { 'v_6g2o', 'v_52wr', 'v_c5p0', - 'v_x3vi' + 'v_rqnl', + 'v_1boj', + 'v_dn8j' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_rqnl' + to: [ + CustomMapping { + block: [ + 'v1', + 'v_s6re', + 'v_6g2o', + 'v_52wr', + 'v_c5p0', + 'v_okde', + 'v_1boj', + 'v_dn8j' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_oit3' + to: [ + CustomMapping { + block: [ + 'v1', + 'v_s6re', + 'v_6g2o', + 'v_52wr', + 'v_c5p0', + 'v_okde', + 'v_1boj', + 'v_dn8j', + 'f_ml3q', + 'f_kmoy', + 'f_vs3y', + 'f_z363', + 'f_pofb', + 'f_uuo1', + 'f_m383', + 'f_j1la', + 'f_wimh', + 'f_jmgl', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_th9g' + to: [ + CustomMapping { + block: [ + 'v1', + 'v_s6re', + 'v_6g2o', + 'v_52wr', + 'v_c5p0', + 'v_okde', + 'v_1boj', + 'v_dn8j', + 'f_ml3q', + 'f_kmoy', + 'f_vs3y', + 'f_z363', + 'f_pofb', + 'f_uuo1', + 'f_m383', + 'f_j1la', + 'f_wimh', + 'f_jmgl', + 'f_oit3', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_1rlj' + to: [ + CustomMapping { + block: [ + 'v1', + 'v_s6re', + 'v_6g2o', + 'v_52wr', + 'v_c5p0', + 'v_okde', + 'v_1boj', + 'v_dn8j', + 'f_ml3q', + 'f_kmoy', + 'f_vs3y', + 'f_z363', + 'f_pofb', + 'f_uuo1', + 'f_m383', + 'f_j1la', + 'f_wimh', + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_jccu', + 'f_irwp', + 'f_slux', + 'f_408l' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_1boj' + to: [ + CustomMapping { + block: [ + 'v1', + 'v_s6re', + 'v_6g2o', + 'v_52wr', + 'v_c5p0', + 'v_okde', + 'v_rqnl', + 'v_dn8j' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_jccu' + to: [ + CustomMapping { + block: [ + 'v1', + 'v_s6re', + 'v_6g2o', + 'v_52wr', + 'v_c5p0', + 'v_okde', + 'v_rqnl', + 'v_dn8j', + 'f_ml3q', + 'f_kmoy', + 'f_vs3y', + 'f_z363', + 'f_pofb', + 'f_uuo1', + 'f_m383', + 'f_j1la', + 'f_wimh', + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_irwp', + 'f_slux', + 'f_408l' ] disabled: true } ] }, FilterInteraction { - from: 'v_x3vi' + from: 'f_irwp' to: [ CustomMapping { block: [ @@ -920,7 +1520,111 @@ Dashboard khai_test { 'v_6g2o', 'v_52wr', 'v_c5p0', - 'v_okde' + 'v_okde', + 'v_rqnl', + 'v_dn8j', + 'f_ml3q', + 'f_kmoy', + 'f_vs3y', + 'f_z363', + 'f_pofb', + 'f_uuo1', + 'f_m383', + 'f_j1la', + 'f_wimh', + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_slux', + 'f_408l' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_dn8j' + to: [ + CustomMapping { + block: [ + 'v1', + 'v_s6re', + 'v_6g2o', + 'v_52wr', + 'v_c5p0', + 'v_okde', + 'v_rqnl', + 'v_1boj' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_slux' + to: [ + CustomMapping { + block: [ + 'v1', + 'v_s6re', + 'v_6g2o', + 'v_52wr', + 'v_c5p0', + 'v_okde', + 'v_rqnl', + 'v_1boj', + 'f_ml3q', + 'f_kmoy', + 'f_vs3y', + 'f_z363', + 'f_pofb', + 'f_uuo1', + 'f_m383', + 'f_j1la', + 'f_wimh', + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_408l' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_408l' + to: [ + CustomMapping { + block: [ + 'v1', + 'v_s6re', + 'v_6g2o', + 'v_52wr', + 'v_c5p0', + 'v_okde', + 'v_rqnl', + 'v_1boj', + 'f_ml3q', + 'f_kmoy', + 'f_vs3y', + 'f_z363', + 'f_pofb', + 'f_uuo1', + 'f_m383', + 'f_j1la', + 'f_wimh', + 'f_jmgl', + 'f_oit3', + 'f_th9g', + 'f_1rlj', + 'f_jccu', + 'f_irwp', + 'f_slux' ] disabled: true } diff --git a/team-folders/khai/models/param_model.model.aml b/team-folders/khai/models/param_model.model.aml index 5b409b2..cb6494d 100644 --- a/team-folders/khai/models/param_model.model.aml +++ b/team-folders/khai/models/param_model.model.aml @@ -31,6 +31,18 @@ Model param_model { type: 'number' } + param date_grain { + label: 'Date Grain' + type: 'text' + allowed_values: ['month', 'year'] + } + + param currency { + label: 'Display Currency' + type: 'text' + allowed_values: ['🇺🇸 USD', '🇲🇾 MYR', '🇸🇬 SGD', '🇹🇭 THB', '🇻🇳 VND', '🇦🇺 AUD'] + } + owner: 'khai.to@holistics.io' query: @sql select 1;; models: [ diff --git a/team-folders/khai/sales_manager_ecommerce_dashboard.page.aml b/team-folders/khai/sales_manager_ecommerce_dashboard.page.aml new file mode 100644 index 0000000..c0b7f63 --- /dev/null +++ b/team-folders/khai/sales_manager_ecommerce_dashboard.page.aml @@ -0,0 +1,93 @@ +Dashboard sales_manager_ecommerce_dashboard { + title: 'Sales Manager Ecommerce Dashboard' + owner: 'thinh.nt+explorer@holistics.io' + block v_0icq: VizBlock { + label: 'Revenue, Total Users, and Revenue Per Active Customers by Country Name' + viz: PivotTable { + dataset: khai_ecommerce + rows: [ + VizFieldFull { + label: 'Country Name' + ref: r(countries.name) + format { + type: 'text' + } + } + ] + values: [ + VizFieldFull { + ref: r(khai_ecommerce.revenue) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(khai_ecommerce.total_users) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(khai_ecommerce.revenue_per_active_customers) + format { + type: 'number' + pattern: '[$$]#,###0.00' + group_separator: ',' + decimal_separator: '.' + } + } + ] + settings { + show_row_total: true + show_column_total: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_c5oo: VizBlock { + label: 'Revenue Per Active Customers' + viz: MetricKpi { + dataset: khai_ecommerce + value: VizFieldFull { + ref: r(khai_ecommerce.revenue_per_active_customers) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + alignment: 'left' + } + } + settings { + hide_label: true + } + } + view: CanvasLayout { + label: 'View 1' + width: 960 + height: 480 + grid_size: 20 + auto_expand_vertically: true + block v_0icq { + position: pos(40, 40, 620, 420) + } + block v_c5oo { + position: pos(680, 40, 260, 120) + } + mobile { + mode: 'auto' + } + } + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml b/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml index 5aab5d7..ccb3f85 100644 --- a/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml +++ b/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml @@ -42,7 +42,7 @@ Dashboard dynamic_datasouce_test { view: CanvasLayout { label: 'View 1' - height: 840 + height: 1120 grid_size: 20 block title { position: pos(20, 20, 1160, 60) diff --git a/team-folders/tai/dashboards/tai_cohort_retention.page.aml b/team-folders/tai/dashboards/tai_cohort_retention.page.aml new file mode 100644 index 0000000..3450b38 --- /dev/null +++ b/team-folders/tai/dashboards/tai_cohort_retention.page.aml @@ -0,0 +1,388 @@ +Dashboard tai_cohort_retention { + title: 'Cohort Retention (from Khai)' + + view: CanvasLayout { + label: 'View 1' + height: 1840 + grid_size: 20 + mobile { + mode: 'auto' + } + block v1 { + position: pos(20, 20, 2180, 520) + layer: 1 + } + block v_grip { + position: pos(40, 640, 300, 520) + } + block v_xt6f { + position: pos(340, 640, 1520, 520) + } + width: 2220 + } + + theme: H.themes.vanilla + block v1: VizBlock { + label: 'Cohort Retention' + viz: PivotTable { + dataset: khai_ecommerce + calculation first_acquired_at { + label: 'First Acquired At' + formula: @aql dimensionalize( + min(orders.created_at), + users.id +);; + calc_type: 'dimension' + data_type: 'datetime' + model: users + } + calculation months_from_first_orders { + label: 'Months From First Orders' + formula: @aql date_diff( + 'month', + users.first_acquired_at, + orders.created_at +);; + calc_type: 'dimension' + data_type: 'number' + model: orders + } + calculation total_users_retention { + label: 'Total Users Retention' + formula: @aql (total_users * 1.0) +/ +(total_users | of_all(orders.months_from_first_orders));; + calc_type: 'measure' + data_type: 'number' + } + filter { + field: ref('users', 'first_acquired_at') + operator: 'matches' + value: 'last year to current year' + } + theme { + table { + general { + borders { + outer: true + vertical: true + } + } + } + } + rows: [ + VizFieldFull { + ref: ref('users', 'first_acquired_at') + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + ] + columns: [ + VizFieldFull { + ref: ref('orders', 'months_from_first_orders') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + values: [ + VizFieldFull { + ref: 'total_users_retention' + format { + type: 'number' + pattern: '#,###0.00%' + group_separator: ',' + decimal_separator: '.' + } + uname: 'custom_total_users_retention' + }, + VizFieldFull { + ref: r(khai_ecommerce.total_users) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + conditional_formats: [ + ConditionalFormat { + key: 'custom_total_users_retention' + format: ScaleFormat { + min { + value: 0.2 + color: '#FFFFFF' + } + max { + value: 0.7 + color: '#47B881' + } + } + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + column_styles: [ + ColumnStyle { + key: 'custom_total_users_retention' + width: 74 + } + ] + } + } + } + block v_grip: VizBlock { + label: 'Cohort Retention copy' + viz: PivotTable { + dataset: khai_ecommerce + calculation first_acquired_at { + label: 'First Acquired At' + formula: @aql dimensionalize( + min(orders.created_at), + users.id +);; + calc_type: 'dimension' + data_type: 'datetime' + model: users + } + calculation months_from_first_orders { + label: 'Months From First Orders' + formula: @aql date_diff( + 'month', + users.first_acquired_at, + orders.created_at +);; + calc_type: 'dimension' + data_type: 'number' + model: orders + } + calculation total_users_retention { + label: 'Total Users Retention' + formula: @aql (total_users * 1.0) +/ +(total_users | of_all(orders.months_from_first_orders));; + calc_type: 'measure' + data_type: 'number' + } + filter { + field: ref('users', 'first_acquired_at') + operator: 'matches' + value: 'last year to current year' + } + filter { + field: ref('orders', 'months_from_first_orders') + operator: 'less_than' + value: '1' + } + theme { + table { + general { + borders { + outer: true + vertical: true + } + } + } + } + rows: [ + VizFieldFull { + ref: ref('users', 'first_acquired_at') + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + ] + columns: [ + VizFieldFull { + ref: ref('orders', 'months_from_first_orders') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + values: [ + VizFieldFull { + ref: 'total_users_retention' + format { + type: 'number' + pattern: '#,###0.00%' + group_separator: ',' + decimal_separator: '.' + } + uname: 'custom_total_users_retention' + }, + VizFieldFull { + ref: r(khai_ecommerce.total_users) + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_total_users' + } + ] + settings { + conditional_formats: [ + ConditionalFormat { + key: 'custom_total_users_retention' + format: ScaleFormat { + min { + value: 0.2 + color: '#FFFFFF' + } + max { + value: 0.7 + color: '#47B881' + } + } + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + column_styles: [ + ColumnStyle { + key: 'custom_total_users_retention' + width: 62 + }, + ColumnStyle { + key: 'custom_total_users' + width: 91 + } + ] + } + } + settings { + hide_label: true + } + } + block v_xt6f: VizBlock { + label: 'Cohort Retention copy copy' + viz: PivotTable { + dataset: khai_ecommerce + calculation first_acquired_at { + label: 'First Acquired At' + formula: @aql dimensionalize( + min(orders.created_at), + users.id +);; + calc_type: 'dimension' + data_type: 'datetime' + model: users + } + calculation months_from_first_orders { + label: 'Months From First Orders' + formula: @aql date_diff( + 'month', + users.first_acquired_at, + orders.created_at +);; + calc_type: 'dimension' + data_type: 'number' + model: orders + } + calculation total_users_retention { + label: 'Total Users Retention' + formula: @aql (total_users * 1.0) +/ +(total_users | of_all(orders.months_from_first_orders));; + calc_type: 'measure' + data_type: 'number' + } + filter { + field: ref('users', 'first_acquired_at') + operator: 'matches' + value: 'last year to current year' + } + filter { + field: ref('orders', 'months_from_first_orders') + operator: 'greater_than' + value: '0' + } + theme { + table { + general { + borders { + outer: true + vertical: true + } + } + } + } + rows: [ + VizFieldFull { + ref: ref('users', 'first_acquired_at') + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + hidden: true + } + ] + columns: [ + VizFieldFull { + ref: ref('orders', 'months_from_first_orders') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + values: [ + VizFieldFull { + ref: 'total_users_retention' + format { + type: 'number' + pattern: '#,###0.00%' + group_separator: ',' + decimal_separator: '.' + } + uname: 'custom_total_users_retention' + } + ] + settings { + conditional_formats: [ + ConditionalFormat { + key: 'custom_total_users_retention' + format: ScaleFormat { + min { + value: 0.2 + color: '#FFFFFF' + } + max { + value: 0.7 + color: '#47B881' + } + } + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + column_styles: [ + ColumnStyle { + key: 'custom_total_users_retention' + width: 111 + } + ] + } + } + settings { + hide_label: true + } + } +} \ No newline at end of file diff --git a/team-folders/tai/dashboards/tai_test_new_block.page.aml b/team-folders/tai/dashboards/tai_test_new_block.page.aml deleted file mode 100644 index f3af660..0000000 --- a/team-folders/tai/dashboards/tai_test_new_block.page.aml +++ /dev/null @@ -1,108 +0,0 @@ -Dashboard tai_test_new_block { - title: 'Tai test new block' - description: '' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v_yzjw: VizBlock { - label: 'Total Orders' - viz: DataTable { - dataset: demo_ecommerce - fields: [ - VizFieldFull { - ref: r(demo_ecommerce.total_orders) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_zv68: VizBlock { - label: 'Id and Status' - viz: DataTable { - dataset: demo_ecommerce - fields: [ - VizFieldFull { - ref: r(ecommerce_orders.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_orders.status) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_u2un: VizBlock { - label: 'City Name' - viz: DataTable { - dataset: demo_ecommerce - fields: [ - VizFieldFull { - ref: r(ecommerce_cities.name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - - view: CanvasLayout { - label: 'View 1' - height: 840 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1160, 60) - } - block v_yzjw { - position: pos(20, 100, 400, 300) - layer: 1 - } - block v_zv68 { - position: pos(440, 100, 400, 300) - layer: 2 - } - block v_u2un { - position: pos(20, 420, 400, 300) - layer: 3 - } - mobile { - mode: 'auto' - } - } - - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/team-folders/tai/test_extend/tai_ecom.page.aml b/team-folders/tai/test_extend/tai_ecom.page.aml new file mode 100644 index 0000000..84fc7e5 --- /dev/null +++ b/team-folders/tai/test_extend/tai_ecom.page.aml @@ -0,0 +1,1796 @@ +// use lib +// use demo + +Dashboard tai_ecom { + title: 'Ecommerce Dashboard - Pro' + + block hd1: TextBlock { + content: @md + demo;; + } + block hd2: TextBlock { + content: @md
+

Ecommerce Dashboard

+
;; + } + block hd3: TextBlock { + content: @md

;; + theme { + background { + bg_image: 'linear-gradient(97deg, #051527 20%, #071945 80%)' + } + } + } + block t2: TextBlock { + content: @md
+

+This dashboard tracks the KPIs of all managers for their respective teams. This will also be presented in our monthly presentation to our board and investors. +

+ +
;; + } + block v1: VizBlock { + label: ' KPI Overview' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('dim_dates', 'date_key') + operator: 'matches' + value: 'last 1 years to today' + } + columns: [ + VizFieldFull { + ref: ref('dim_dates', 'date_key') + transformation: 'datetrunc year' + format { + type: 'date' + pattern: 'yyyy' + } + } + ] + values: [ + VizFieldFull { + ref: ref('ecommerce_orders', 'total_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_total_orders_count' + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'cancelled_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'refunded_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'delivered_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'nmv') + format { + type: 'number' + pattern: '[$$]#,###0.00' + } + }, + VizFieldFull { + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###0.00' + } + }, + VizFieldFull { + ref: ref('order_master', 'aov') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + value_labels_position { + placement: 'rows' + } + column_styles: [ + ColumnStyle { + key: 'custom_total_orders_count' + width: 278 + } + ] + } + } + settings { + hide_label: true + } + } + block v2: VizBlock { + label: 'GMV' + viz: MetricKpi { + dataset: demo_ecommerce + // calculation f_2fb1cc3 { + // label: 'GMT last year' + // formula: @aml order_master.gmv * 0.87;; + // calc_type: 'measure' + // data_type: 'number' + // } + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + value: VizFieldFull { + label: 'Gross Merchandise Value' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###' + } + } + compare_value: VizPopSettings { + field: ref('order_master', 'order_created_at') + duration: 1 + granularity: 'year' + } + } + settings { + hide_label: true + } + } + block v2_dup_dup: VizBlock { + label: 'Top selling product category' + viz: PieChart { + dataset: demo_ecommerce + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + legend: VizFieldFull { + ref: ref('map_categories', 'parent_category') + format { + type: 'text' + } + } + series { + field: VizFieldFull { + label: ' ' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###' + } + } + settings { + point { + value: 'Clothes' + color: '#255DD4' + } + point { + value: 'Groceries' + color: '#18A59E' + } + point { + value: 'Skin Care' + color: '#F2B602' + } + point { + value: 'Home Furniture' + color: '#AF7DED' + } + point { + value: 'Mobiles & Tablets' + color: '#A50E43' + } + point { + value: 'Home Entertainment' + color: '#07326C' + } + } + } + settings { + display_as_donut: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v6: VizBlock { + label: 'Top selling products' + viz: DataTable { + dataset: demo_ecommerce + calculation f_28374b6 { + label: 'Product Image' + formula: @aml concat('');; + calc_type: 'dimension' + data_type: 'text' + } + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + fields: [ + VizFieldFull { + label: 'Product Name' + ref: ref('ecommerce_products', 'product_google_link') + format { + type: 'html' + } + uname: 'ecommerce_products_product_google_link' + }, + VizFieldFull { + ref: 'f_28374b6' + format { + type: 'html' + } + uname: 'f_28374b6_text' + }, + VizFieldFull { + ref: ref('order_master', 'discount') + aggregation: 'avg' + format { + type: 'number' + pattern: '#,###%' + } + }, + VizFieldFull { + label: 'Quantity Sold' + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + label: 'GMV' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###' + } + } + ] + settings { + pagination_size: 100 + row_height: 'multiple_lines' + sorts: [ + SortSetting { + field_index: 4 + direction: 'desc' + } + ] + conditional_formats: [ + ConditionalFormat { + ref: ref('order_master', 'gmv') + format: ScaleFormat { + min { + value: 0 + color: '#E9EFFB' + } + max { + value: 100000 + color: '#255DD4' + } + } + }, + ConditionalFormat { + ref: ref('order_master', 'order_count') + format: ScaleFormat { + min { + value: 0 + color: '#FFFFFF' + } + max { + value: 600 + color: '#47B881' + } + } + } + ] + column_width { + manual_widths: [ + ColumnWidth { + key: 'ecommerce_products_product_google_link' + width: 145 + }, + ColumnWidth { + key: 'f_28374b6_text' + width: 99 + } + ] + } + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v7: VizBlock { + label: 'Cohort Retention' + viz: RetentionHeatmap { + dataset: demo_ecommerce + filter { + field: ref('user_cohort_retention', 'cohort_month') + operator: 'matches' + value: '2023' + } + cohort: VizFieldFull { + label: 'Cohort Month' + ref: ref('user_cohort_retention', 'cohort_month') + transformation: 'datetrunc month' + format { + type: 'date' + } + } + cohort_size: VizFieldFull { + ref: ref('user_cohort_retention', 'cohort_size') + format { + type: 'number' + pattern: 'inherited' + } + } + cohort_duration: VizFieldFull { + ref: ref('user_cohort_retention', 'relative_month_disp') + format { + type: 'text' + } + } + cohort_value: VizFieldFull { + ref: ref('user_cohort_retention', 'active_users_count') + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + block users_vs_orders_growth: VizBlock { + label: 'Users vs Orders Growth' + viz: CombinationChart { + dataset: demo_ecommerce + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'sign_up_date') + transformation: 'datetrunc quarter' + format { + type: 'date' + } + } + y_axis { + series { + mark_type: 'column' + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#18A59E' + } + } + } + y_axis { + settings { + alignment: 'right' + } + series { + mark_type: 'line' + field: VizFieldFull { + ref: ref('order_master', 'delivered_orders_count') + format { + type: 'number' + } + } + settings { + color: '#255DD4' + line_interpolation: 'smooth' + } + } + } + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v10: VizBlock { + label: 'Total Users compared with Target Users' + viz: MetricKpi { + dataset: demo_ecommerce + calculation f_d80427a { + label: 'Target Users' + formula: @aml ecommerce_users.users_signed_up_count * 1.38;; + calc_type: 'measure' + data_type: 'number' + } + value: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + compare_value: VizFieldFull { + ref: 'f_d80427a' + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + display_mode: 'progress' + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v12: VizBlock { + label: 'Daily GMV vs. 7-day Moving Average' + viz: CombinationChart { + dataset: demo_ecommerce + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + x_axis: VizFieldFull { + ref: ref('order_master', 'order_created_at') + transformation: 'datetrunc day' + format { + type: 'date' + pattern: 'LLL dd, yyyy' + } + } + y_axis { + series { + mark_type: 'line' + field: VizFieldFull { + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '#,###' + } + } + settings { + color: '#D1EDEC' + line_interpolation: 'smooth' + } + } + series { + mark_type: 'line' + field: VizFieldFull { + label: '7-day MovAvg of GMV' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '#,###' + } + analytic: MovingCalculationField { + type: 'avg' + order: 'row' + range { + previous: 7 + next: 0 + } + null_if_not_enough_values: true + } + } + settings { + color: '#18A59E' + line_interpolation: 'smooth' + } + } + } + settings { + legend_label: 'right' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + description: @md # Description +abc;; + } + block filter_by_country: FilterBlock { + label: 'Country' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: ref('ecommerce_countries', 'name') + } + default { + operator: 'is' + value: [] + } + settings { + hide_label: true + input_type: 'nullable-single' + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block t5: TextBlock { + content: @md

Overview

;; + } + block t6: TextBlock { + content: @md

Regional Analysis

;; + } + block t8: TextBlock { + content: @md

User Analysis

;; + } + block filter_by_country_text: TextBlock { + content: @md

Filter by Country

;; + } + block t10: TextBlock { + content: @md + + ;; + } + block t11: TextBlock { + content: @md + + ;; + } + block t12: TextBlock { + content: @md + + ;; + } + block v13: VizBlock { + label: 'GMV by Country' + viz: BarChart { + dataset: demo_ecommerce + legend: VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + y_axis { + settings { + axis_max: 12000000 + show_data_label_by: 'value' + } + series { + field: VizFieldFull { + label: ' ' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '#,###' + } + } + settings { + color: '#255DD4' + point { + value: 'India' + color: '#AF7DED' + } + point { + value: 'France' + color: '#18A59E' + } + point { + value: 'Germany' + color: '#07326C' + } + point { + value: 'Vietnam' + color: '#07326C' + } + point { + value: 'Australia' + color: '#255DD4' + } + point { + value: 'Indonesia' + color: '#A50E43' + } + point { + value: 'Singapore' + color: '#F2B602' + } + point { + value: 'South Korea' + color: '#E27712' + } + point { + value: 'United States' + color: '#18A59E' + } + point { + value: 'United Kingdom' + color: '#255DD4' + } + } + } + } + settings { + legend_label: 'left' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block filter_by_country_wrapper: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block filter_by_age_group_text: TextBlock { + content: @md

Filter by Age Group

;; + } + block filter_by_age_group: FilterBlock { + label: 'Age Group' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: ref('ecommerce_users', 'age_group') + } + default { + operator: 'is' + value: [] + } + settings { + hide_label: true + input_type: 'nullable-single' + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block filter_by_city: FilterBlock { + label: 'City' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: ref('ecommerce_cities', 'name') + } + default { + operator: 'is' + value: [] + } + settings { + hide_label: true + input_type: 'nullable-single' + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block filter_by_city_text: TextBlock { + content: @md

Filter by City

;; + } + block v15: VizBlock { + label: 'Average Order Value over time' + viz: CombinationChart { + dataset: demo_ecommerce + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + x_axis: VizFieldFull { + ref: ref('order_master', 'order_created_at') + transformation: 'datetrunc week' + format { + type: 'date' + pattern: 'wwww' + } + } + y_axis { + series { + mark_type: 'line' + field: VizFieldFull { + ref: ref('order_master', 'aov') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#18A59E' + } + } + } + settings { + pop { + field: ref('order_master', 'order_created_at') + duration: 1 + granularity: 'year' + show_growth_rate: true + } + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v16: VizBlock { + label: 'Sales Funnel' + viz: ConversionFunnel { + dataset: demo_ecommerce_users + breakdown_by: VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + values: [ + VizFieldFull { + ref: ref('ecommerce_users', 'users_signed_up_count') + format { + type: 'number' + } + }, + VizFieldFull { + label: 'Users Purchased' + ref: ref('user_facts_aggr', 'buyers_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + label: 'Users Repeated Purchased' + ref: ref('user_facts_aggr', 'repeated_buyers_count') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + circle_color: '#18A59E' + columns_color: '#255DD4' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block t38: TextBlock { + content: @md

;; + theme { + background { + bg_image: 'linear-gradient(97deg, #051527 20%, #071945 80%)' + } + } + } + block t39: TextBlock { + content: @md + + demo + ;; + } + block t40: TextBlock { + content: @md + + + + +;; + } + // block t46: background_gray() + block t47: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t49: TextBlock { + content: @md
;; + } + block t51: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t52: TextBlock { + content: @md
;; + } + block t53: TextBlock { + content: @md
;; + } + block t54: TextBlock { + content: @md To embed external content;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block filter_by_city_wrapper: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block filter_by_age_group_wrapper: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block v17: VizBlock { + label: 'Total Users and Delivered Orders Count by Quarter Sign Up Date' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('ecommerce_users', 'age_group') + operator: 'is_not' + value: '3. From 40 to 49' + } + rows: [ + VizFieldFull { + ref: ref('ecommerce_countries', 'continent_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + ] + columns: [ + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + ] + values: [ + VizFieldFull { + ref: ref('order_master', 'revenue') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_total: true + show_column_total: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + } + } + } + block v18: VizBlock { + label: 'Customer Info and Buying Behavior' + viz: DataTable { + dataset: demo_ecommerce + fields: [ + VizFieldFull { + ref: ref('ecommerce_users', 'full_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + uname: 'ecommerce_countries_name' + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_products', 'total_products') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'cancelled_order_ratio') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_cancelled_order_ratio' + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + column_styles: [ + ColumnStyle { + key: 'ecommerce_countries_name' + width: 216 + }, + ColumnStyle { + key: 'custom_cancelled_order_ratio' + width: 180 + } + ] + } + } + } + block p1: PopBlock { + label: 'Compare with Period' + } + block v19: VizBlock { + label: 'Total Users and Total Users by Age Demographic and Gender' + viz: ColumnChart { + dataset: demo_ecommerce + theme { + + } + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + legend: VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + } + y_axis { + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#07326C' + point { + value: 'Male' + color: '#FB8761' + } + point { + value: 'Female' + color: '#64628c' + } + } + } + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + break_by_legend: false + } + } + } + settings { + x_axis_show_null_datetime: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v20: VizBlock { + label: ' KPI Overview' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('dim_dates', 'date_key') + operator: 'matches' + value: '12 months ago to last month end' + } + columns: [ + VizFieldFull { + ref: ref('dim_dates', 'date_key') + transformation: 'datetrunc year' + format { + type: 'date' + pattern: 'yyyy' + } + } + ] + values: [ + VizFieldFull { + ref: ref('ecommerce_orders', 'total_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_total_orders_count' + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'cancelled_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'refunded_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'delivered_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'nmv') + format { + type: 'number' + pattern: '[$$]#,###0.00' + } + }, + VizFieldFull { + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###0.00' + } + }, + VizFieldFull { + ref: ref('order_master', 'aov') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_total: true + aggregate_awareness { + enabled: true + debug_comments: true + } + value_labels_position { + placement: 'rows' + } + column_styles: [ + ColumnStyle { + key: 'custom_total_orders_count' + width: 322 + } + ] + } + } + settings { + hide_label: true + } + } + block v21: VizBlock { + label: ' KPI Overview' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('dim_dates', 'date_key') + operator: 'matches' + value: 'last 1 years to today' + } + columns: [ + VizFieldFull { + ref: ref('dim_dates', 'date_key') + transformation: 'datetrunc year' + format { + type: 'date' + pattern: 'yyyy' + } + } + ] + values: [ + VizFieldFull { + label: '%∆ Total Orders Count (prev. 1y)' + ref: ref('ecommerce_orders', 'total_orders_count') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_total_orders_count' + }, + VizFieldFull { + label: '%∆ Cancelled Orders Count (prev. 1y)' + ref: ref('ecommerce_orders', 'cancelled_orders_count') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_cancelled_orders_count' + }, + VizFieldFull { + label: '%∆ Refunded Orders Count (prev. 1y)' + ref: ref('ecommerce_orders', 'refunded_orders_count') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_refunded_orders_count' + }, + VizFieldFull { + label: '%∆ Delivered Orders Count (prev. 1y)' + ref: ref('ecommerce_orders', 'delivered_orders_count') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_delivered_orders_count' + }, + VizFieldFull { + label: '%∆ Nmv (prev. 1y)' + ref: ref('order_master', 'nmv') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_nmv' + }, + VizFieldFull { + label: '%∆ Gmv (prev. 1y)' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_gmv' + }, + VizFieldFull { + label: '%∆ Aov (prev. 1y)' + ref: ref('order_master', 'aov') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_aov' + } + ] + settings { + conditional_formats: [ + ConditionalFormat { + key: 'custom_total_orders_count' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_total_orders_count' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_total_orders_count' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_cancelled_orders_count' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_cancelled_orders_count' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_cancelled_orders_count' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_refunded_orders_count' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_refunded_orders_count' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_refunded_orders_count' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_delivered_orders_count' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_delivered_orders_count' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_delivered_orders_count' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_nmv' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_nmv' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_nmv' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_gmv' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_gmv' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_gmv' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_aov' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_aov' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_aov' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + } + ] + aggregate_awareness { + enabled: true + debug_comments: true + } + value_labels_position { + placement: 'rows' + } + column_styles: [ + ColumnStyle { + key: 'custom_total_orders_count' + width: 328 + } + ] + } + } + settings { + hide_label: true + } + } + view: CanvasLayout { + label: 'View 1' + width: 1540 + height: 4460 + grid_size: 20 + block hd1 { + position: pos(1320, 20, 180, 50) + } + block hd2 { + position: pos(40, 20, 640, 60) + } + block hd3 { + position: pos(0, 0, 1540, 200) + layer: -1 + } + block t2 { + position: pos(40, 100, 660, 50) + } + block v1 { + position: pos(60, 700, 760, 380) + } + block v2 { + position: pos(80, 360, 300, 140) + } + block v2_dup_dup { + position: pos(440, 2200, 380, 500) + } + block v6 { + position: pos(840, 2200, 680, 500) + } + block v7 { + position: pos(60, 3280, 1440, 430) + } + block users_vs_orders_growth { + position: pos(380, 2860, 560, 400) + } + block v10 { + position: pos(80, 500, 320, 140) + } + block v12 { + position: pos(480, 340, 1000, 300) + layer: -1 + } + block filter_by_country { + position: pos(80, 2920, 260, 40) + } + block t5 { + position: pos(40, 220, 1460, 80) + } + block t6 { + position: pos(40, 1190, 1460, 80) + } + block t8 { + position: pos(60, 2760, 1460, 80) + } + block filter_by_country_text { + position: pos(80, 2880, 260, 40) + } + block t10 { + position: pos(920, 100, 180, 50) + } + block t11 { + position: pos(1120, 100, 180, 50) + } + block t12 { + position: pos(1320, 100, 180, 50) + } + block v13 { + position: pos(40, 1280, 720, 460) + } + block filter_by_country_wrapper { + position: pos(60, 2860, 300, 120) + layer: -2 + } + block filter_by_age_group_text { + position: pos(80, 3160, 260, 40) + } + block filter_by_age_group { + position: pos(80, 3200, 260, 40) + } + block filter_by_city { + position: pos(80, 3060, 260, 40) + } + block filter_by_city_text { + position: pos(80, 3020, 260, 40) + layer: 1 + } + block v15 { + position: pos(960, 2860, 560, 400) + } + block v16 { + position: pos(780, 1280, 720, 460) + } + block t38 { + position: pos(0, 4300, 1540, 170) + layer: -1 + } + block t39 { + position: pos(60, 3760, 200, 70) + } + block t40 { + position: pos(1120, 4340, 400, 110) + } + block t47 { + position: pos(1420, 1140, 80, 100) + layer: 1 + } + block t49 { + position: pos(40, 660, 1460, 420) + layer: -4 + } + block t51 { + position: pos(1440, 2720, 80, 100) + layer: 1 + } + block t52 { + position: pos(460, 320, 1040, 340) + layer: -2 + } + block t53 { + position: pos(40, 320, 400, 340) + layer: -2 + } + block t54 { + position: pos(60, 2200, 360, 500) + } + block filter_by_city_wrapper { + position: pos(60, 3000, 300, 120) + layer: -1 + } + block filter_by_age_group_wrapper { + position: pos(60, 3140, 300, 120) + layer: -1 + } + block v17 { + position: pos(40, 1760, 1480, 420) + } + block v18 { + position: pos(60, 3720, 1480, 500) + } + block p1 { + position: pos(1300, 2860, 220, 60) + layer: 2 + } + block v19 { + position: pos(20, 4490, 400, 300) + layer: 3 + } + block v20 { + position: pos(280, 700, 1180, 380) + layer: -3 + } + block v21 { + position: pos(280, 700, 860, 260) + layer: -1 + } + mobile { + mode: 'auto' + } + } + settings { + timezone: 'America/Los_Angeles' + cache_duration: 10 + } + interactions: [ + PopInteraction { + from: 'p1' + to: [ + CustomMapping { + block: 'v15' + field: ref('order_master', 'order_created_at') + } + ] + } + ] +} \ No newline at end of file diff --git a/team-folders/tai/test_extend/tai_ecom_external.page.aml b/team-folders/tai/test_extend/tai_ecom_external.page.aml new file mode 100644 index 0000000..e941781 --- /dev/null +++ b/team-folders/tai/test_extend/tai_ecom_external.page.aml @@ -0,0 +1,43 @@ +const hide_position = pos(-200, 0, 0, 0) + +Dashboard tai_ecom_external = tai_ecom.extend({ + view: tai_ecom.view.extend({ + // hide country filter + block filter_by_country { + position: hide_position + } + block filter_by_country_text { + position: hide_position + } + block filter_by_country_wrapper { + position: hide_position + } + + // hide city filter + block filter_by_city { + position: hide_position + } + block filter_by_city_text { + position: hide_position + } + block filter_by_city_wrapper { + position: hide_position + } + + // hide age group + block filter_by_age_group { + position: hide_position + } + block filter_by_age_group_text { + position: hide_position + } + block filter_by_age_group_wrapper { + position: hide_position + } + + // move users vs order growth + block users_vs_orders_growth { + position: pos(60, 2860, 560, 400) + } + }) +}) \ No newline at end of file diff --git a/team-folders/tri.dvm/dashboards/tri-test.page.aml b/team-folders/tri.dvm/dashboards/tri-test.page.aml index 8aeaedb..6c6bc57 100644 --- a/team-folders/tri.dvm/dashboards/tri-test.page.aml +++ b/team-folders/tri.dvm/dashboards/tri-test.page.aml @@ -71,22 +71,22 @@ Dashboard tri_test { } .highcharts-root { - --series-1: rgba(237,154,100,1); - --series-2: rgba(237,154,100,0.7); - --series-3: rgba(237,154,100,0.5); + --color-primary: rgba(237,154,100,1); + --color-secondary: rgba(237,154,100,0.7); + --color-dark: rgba(237,154,100,0.5); } .highcharts-root .highcharts-column-series:nth-child(6n + 1) path.highcharts-point { - fill: var(--series-1); + fill: var(--color-primary); } .highcharts-root .highcharts-column-series:nth-child(6n + 3) path.highcharts-point { - fill: var(--series-2); + fill: var(--color-secondary); } .highcharts-root .highcharts-column-series:nth-child(6n + 5) path.highcharts-point { - fill: var(--series-3); + fill: var(--color-dark); } @@ -96,30 +96,30 @@ Dashboard tri_test { .highcharts-root .highcharts-series:nth-child(6n + 1 of .highcharts-line-series) path.highcharts-graph { - stroke: var(--series-1); + stroke: var(--color-primary); } .highcharts-root .highcharts-series:nth-child(6n + 3 of .highcharts-line-series) path.highcharts-graph { - stroke: var(--series-2); + stroke: var(--color-secondary); } .highcharts-root .highcharts-series:nth-child(6n + 5 of .highcharts-line-series) path.highcharts-graph { - stroke: var(--series-3); + stroke: var(--color-dark); } .highcharts-root .highcharts-series-group :nth-child(3n + 1 of .highcharts-markers) path { - fill: var(--series-1); + fill: var(--color-primary); } .highcharts-root .highcharts-series-group :nth-child(3n + 2 of .highcharts-markers) path { - fill: var(--series-2); + fill: var(--color-secondary); } .highcharts-root .highcharts-series-group :nth-child(3n + 3 of .highcharts-markers) path { - fill: var(--series-3); + fill: var(--color-dark); } @@ -131,16 +131,16 @@ Dashboard tri_test { .highcharts-legend :nth-child(3n + 1 of .highcharts-legend-item.highcharts-column-series) .highcharts-point { - fill: var(--series-1); + fill: var(--color-primary); } .highcharts-legend :nth-child(3n + 2 of .highcharts-legend-item.highcharts-column-series) .highcharts-point { - fill: var(--series-2); + fill: var(--color-secondary); } .highcharts-legend :nth-child(3n + 3 of .highcharts-legend-item.highcharts-column-series) .highcharts-point { - fill: var(--series-3); + fill: var(--color-dark); } @@ -148,15 +148,15 @@ Dashboard tri_test { .highcharts-legend :nth-child(3n + 1 of .highcharts-legend-item.highcharts-line-series) .highcharts-graph { - stroke: var(--series-1); + stroke: var(--color-primary); } .highcharts-legend :nth-child(3n + 2 of .highcharts-legend-item.highcharts-line-series) .highcharts-graph { - stroke: var(--series-2) !important; + stroke: var(--color-secondary) !important; } .highcharts-legend :nth-child(3n + 3 of .highcharts-legend-item.highcharts-line-series) .highcharts-graph { - stroke: var(--series-3); + stroke: var(--color-dark); } diff --git a/team-folders/tri.dvm/datasets/bhx_demo_ecommerce.dataset.aml b/team-folders/tri.dvm/datasets/bhx_demo_ecommerce.dataset.aml index 722f07f..88ce38b 100644 --- a/team-folders/tri.dvm/datasets/bhx_demo_ecommerce.dataset.aml +++ b/team-folders/tri.dvm/datasets/bhx_demo_ecommerce.dataset.aml @@ -27,14 +27,22 @@ Dataset bhx_demo_ecommerce { // relationship(bhx_ecommerce_orders_dim_dates, true), ] - view { - model bhx_ecommerce_orders { - } + // view { + // model bhx_ecommerce_orders { - model bhx_ecommerce_users { - field id - } - } + // } + + + + // model bhx_ecommerce_users { + // // field id + // field users_signed_up_count + // } + + // group transaction_abc { + // metric total_users + // } + // } dimension cohort_month { model: bhx_ecommerce_users @@ -118,291 +126,299 @@ Dataset bhx_demo_ecommerce { , else: bhx_ecommerce_countries.name ) ;; } - metric total_users { label: 'Total Users' type: 'number' + hidden: false description: "Total number of users" definition: @aql count(bhx_ecommerce_users.id) ;; - } - - metric total_orders { - label: "Total Orders" - type: "number" - hidden: false - description: "" - definition: @aql count(bhx_ecommerce_orders.id);; - } - - metric gmv { - label: "GMV - Gross Merchandise Value" - type: "number" - hidden: false - description: "GMV - Gross Merchandise Value: Total value of all orders before discount." - definition: @aql bhx_ecommerce_order_items | sum(bhx_ecommerce_order_items.quantity * bhx_ecommerce_products.price);; - format: "[\$\$]#,###0" - } - - metric total_discount { - label: "Total Discount" - type: "number" - hidden: false - description: "Total Discount: Total discount value of all orders." - definition: @aql gmv - revenue;; - format: "[\$\$]#,###0" - } - - metric nmv { - label: "NMV - Net Merchandise Value (Post-Discount & Fulfillment)" - type: "number" - hidden: false - description: "Fulfilled order value after discount. Excludes cancelled/refunded orders.\n\nRepresents the total paid value of fulfilled orders, excluding cancelled and refunded orders, and adjusted for any discounts applied.\n\nThis reflects what customers actually paid for successfully completed transactions, and serves as the revenue base before applying commission." - definition: @aql (bhx_ecommerce_order_items | sum(bhx_ecommerce_order_items.quantity * bhx_ecommerce_products.price * (1 - bhx_ecommerce_orders.discount))) | where(bhx_ecommerce_orders.status not in ['cancelled', 'refunded']);; - format: "[\$\$]#,###0" - } - - metric revenue { - label: "Total Revenue (Platform)" - type: "number" - hidden: false - description: "Represents the total revenue earned by the platform based on fulfilled order value (NMV), multiplied by a commission rate.\nAs of May 2025, this demo assumes a 50% commission margin.\nFormula: revenue = NMV × revenue_commission" - definition: @aql nmv * revenue_commission;; - format: "[\$\$]#,###0" - } - - metric aov { - label: "AOV - Average Order Value" - type: "number" - description: "AOV - Average Order Value: Average value per order (GMV / number of orders)." - hidden: false - definition: @aql gmv / total_orders;; - format: "[\$\$]#,###0" - } - - metric total_orders_across_all { - label: "Total Orders Across All" - type: "number" - hidden: false - description: "" - definition: @aql total_orders | of_all(bhx_ecommerce_orders);; - } - - metric percent_of_total { - label: "Percent Of Total Orders" - type: "number" - hidden: false - description: "" - definition: @aql total_orders * 1.0 / total_orders_across_all;; - format: "#,###0.00%" - } - - metric total_delivered_orders { - label: "Total Delivered Orders" - type: "number" - hidden: false - description: "" - definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'delivered');; - } - - metric total_refunded_orders { - label: "Total Refunded Orders" - type: "number" - hidden: false - description: "" - definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'refunded');; - } - - metric total_cancelled_orders { - label: "Total Cancelled Orders" - type: "number" - hidden: false - description: "" - definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'cancelled');; - } - - metric cancelled_orders_ratio { - label: "Cancelled Order Ratio" - type: "number" - hidden: false - description: "Percentage of orders that were cancelled - Total number of cancelled orders/Total numbers of orders" - definition: @aql total_cancelled_orders / total_orders;; - format: "#,###0.00%" - } - - metric cancelled_value { - label: "Cancelled Value" - type: "number" - hidden: false - description: "Total Value of Cancelled Orders" - definition: @aql gmv | where(bhx_ecommerce_orders.status is 'cancelled');; - format: "[\$\$]#,###0" - } - - metric cancelled_value_ratio { - label: "Cancelled Value Ratio" - type: "number" - hidden: false - description: "Percentage of order values that were cancelled - Total value of cancelled orders/Total revenue" - definition: @aql cancelled_value / gmv;; - format: "#,###0.00%" - } - - metric delivered_value { - label: "Delivered Value" - type: "number" - hidden: false - description: "Total Value of Delivered Orders" - definition: @aql gmv | where(bhx_ecommerce_orders.status is 'delivered');; - format: "[\$\$]#,###0" - } - - metric refunded_value { - label: "Refunded Value" - type: "number" - hidden: false - description: "Total Value of Refunded Orders" - definition: @aql gmv | where(bhx_ecommerce_orders.status is 'refunded');; - format: "[\$\$]#,###0" - } - - - metric retention { - label: 'Cohort Retention' - type: 'number' - definition: @aql (total_users * 1.0) / (total_users | of_all(bhx_ecommerce_orders.month_number)) ;; - format: "#,###0.00%" - } - - metric total_buyers { - label: "Total Buyers" - type: "number" - hidden: false - description: "" - definition: @aql count(bhx_ecommerce_users.id) | where(bhx_ecommerce_users.is_buyer is true);; - } - - metric total_repeated_buyers { - label: "Total Repeated Buyers" - type: "number" - hidden: false - description: "" - definition: @aql count(bhx_ecommerce_users.id) | where(bhx_ecommerce_users.is_repeated_buyer is true);; - } - - - metric running_total { - label: "Running Total Orders" - type: "number" - hidden: false - description: "" - definition: @aql running_total(total_orders, bhx_ecommerce_orders.created_at | year());; - } - - metric dynamic_metric { - label: 'Dynamic Metric (no format)' - type: 'number' - description: 'This dynamic metric doesnt take the format into considering, theyre all in their raw form' - definition: @aql - case( + format: "" + } + + // metric total_orders { + // label: "Total Orders" + // type: "number" + // hidden: false + // description: "" + // definition: @aql count(bhx_ecommerce_orders.id);; + // } + + // metric gmv { + // label: "GMV - Gross Merchandise Value" + // type: "number" + // hidden: false + // description: "GMV - Gross Merchandise Value: Total value of all orders before discount." + // definition: @aql bhx_ecommerce_order_items | sum(bhx_ecommerce_order_items.quantity * bhx_ecommerce_products.price);; + // format: "[\$\$]#,###0" + // } + + // metric total_discount { + // label: "Total Discount" + // type: "number" + // hidden: false + // description: "Total Discount: Total discount value of all orders." + // definition: @aql gmv - revenue;; + // format: "[\$\$]#,###0" + // } + + // metric nmv { + // label: "NMV - Net Merchandise Value (Post-Discount & Fulfillment)" + // type: "number" + // hidden: false + // description: "Fulfilled order value after discount. Excludes cancelled/refunded orders.\n\nRepresents the total paid value of fulfilled orders, excluding cancelled and refunded orders, and adjusted for any discounts applied.\n\nThis reflects what customers actually paid for successfully completed transactions, and serves as the revenue base before applying commission." + // definition: @aql (bhx_ecommerce_order_items | sum(bhx_ecommerce_order_items.quantity * bhx_ecommerce_products.price * (1 - bhx_ecommerce_orders.discount))) | where(bhx_ecommerce_orders.status not in ['cancelled', 'refunded']);; + // format: "[\$\$]#,###0" + // } + + // metric revenue { + // label: "Total Revenue (Platform)" + // type: "number" + // hidden: false + // description: "Represents the total revenue earned by the platform based on fulfilled order value (NMV), multiplied by a commission rate.\nAs of May 2025, this demo assumes a 50% commission margin.\nFormula: revenue = NMV × revenue_commission" + // definition: @aql nmv * revenue_commission;; + // format: "[\$\$]#,###0" + // } + + // metric aov { + // label: "AOV - Average Order Value" + // type: "number" + // description: "AOV - Average Order Value: Average value per order (GMV / number of orders)." + // hidden: false + // definition: @aql gmv / total_orders;; + // format: "[\$\$]#,###0" + // } + + // metric total_orders_across_all { + // label: "Total Orders Across All" + // type: "number" + // hidden: false + // description: "" + // definition: @aql total_orders | of_all(bhx_ecommerce_orders);; + // } + + // metric percent_of_total { + // label: "Percent Of Total Orders" + // type: "number" + // hidden: false + // description: "" + // definition: @aql total_orders * 1.0 / total_orders_across_all;; + // format: "#,###0.00%" + // } + + // metric total_delivered_orders { + // label: "Total Delivered Orders" + // type: "number" + // hidden: false + // description: "" + // definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'delivered');; + // } + + // metric total_refunded_orders { + // label: "Total Refunded Orders" + // type: "number" + // hidden: false + // description: "" + // definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'refunded');; + // } + + // metric total_cancelled_orders { + // label: "Total Cancelled Orders" + // type: "number" + // hidden: false + // description: "" + // definition: @aql total_orders | where(bhx_ecommerce_orders.status is 'cancelled');; + // } + + // metric cancelled_orders_ratio { + // label: "Cancelled Order Ratio" + // type: "number" + // hidden: false + // description: "Percentage of orders that were cancelled - Total number of cancelled orders/Total numbers of orders" + // definition: @aql total_cancelled_orders / total_orders;; + // format: "#,###0.00%" + // } + + // metric cancelled_value { + // label: "Cancelled Value" + // type: "number" + // hidden: false + // description: "Total Value of Cancelled Orders" + // definition: @aql gmv | where(bhx_ecommerce_orders.status is 'cancelled');; + // format: "[\$\$]#,###0" + // } + + // metric cancelled_value_ratio { + // label: "Cancelled Value Ratio" + // type: "number" + // hidden: false + // description: "Percentage of order values that were cancelled - Total value of cancelled orders/Total revenue" + // definition: @aql cancelled_value / gmv;; + // format: "#,###0.00%" + // } + + // metric delivered_value { + // label: "Delivered Value" + // type: "number" + // hidden: false + // description: "Total Value of Delivered Orders" + // definition: @aql gmv | where(bhx_ecommerce_orders.status is 'delivered');; + // format: "[\$\$]#,###0" + // } + + // metric refunded_value { + // label: "Refunded Value" + // type: "number" + // hidden: false + // description: "Total Value of Refunded Orders" + // definition: @aql gmv | where(bhx_ecommerce_orders.status is 'refunded');; + // format: "[\$\$]#,###0" + // } + + + // metric retention { + // label: 'Cohort Retention' + // type: 'number' + // definition: @aql (total_users * 1.0) / (total_users | of_all(bhx_ecommerce_orders.month_number)) ;; + // format: "#,###0.00%" + // } + + // metric total_buyers { + // label: "Total Buyers" + // type: "number" + // hidden: false + // description: "" + // definition: @aql count(bhx_ecommerce_users.id) | where(bhx_ecommerce_users.is_buyer is true);; + // } + + // metric total_repeated_buyers { + // label: "Total Repeated Buyers" + // type: "number" + // hidden: false + // description: "" + // definition: @aql count(bhx_ecommerce_users.id) | where(bhx_ecommerce_users.is_repeated_buyer is true);; + // } + + + // metric running_total { + // label: "Running Total Orders" + // type: "number" + // hidden: false + // description: "" + // definition: @aql running_total(total_orders, bhx_ecommerce_orders.created_at | year());; + // } + + // metric dynamic_metric { + // label: 'Dynamic Metric (no format)' + // type: 'number' + // description: 'This dynamic metric doesnt take the format into considering, theyre all in their raw form' + // definition: @aql + // case( - when: 'total users' in param_model_demo.metric_selections - , then: bhx_ecommerce_users.total_users - - , when: 'total orders' in param_model_demo.metric_selections - , then: total_orders - - , when: 'platform revenue' in param_model_demo.metric_selections - , then: revenue - - , when: 'GMV' in param_model_demo.metric_selections - , then: gmv - - , when: 'NMV' in param_model_demo.metric_selections - , then: nmv - - , when: 'AOV' in param_model_demo.metric_selections - , then: aov - - ) - ;; - } - - metric dynamic_metric_currency { - label: 'Dynamic Metric (Currency)' - type: 'number' - description: 'Only contains list of metrics with currency (Revenue, GMV, NMV, AOV)' - definition: @aql - case( - when: 'platform revenue' in param_model_demo.metric_selections_currency - , then: revenue - - , when: 'GMV' in param_model_demo.metric_selections_currency - , then: gmv - - , when: 'NMV' in param_model_demo.metric_selections_currency - , then: nmv - - , when: 'AOV' in param_model_demo.metric_selections_currency - , then: aov - - ) - ;; - format: "[\$\$]#,###0" - } - - metric revenue_commission { - label: "Revenue Commission Rate (Demo from May 2025)" - type: "number" - hidden: false - description: "Commission margin (%) our platform earns on NMV transactions. Set to 50% as of May 2025 for demonstration purposes. Used in revenue calculation: revenue = NMV × commission_rate." - definition: @aql 0.5;; - format: "#,###%" - } - - metric running_total_orders { - label: "Running Total Orders" - type: "number" - hidden: false - description: "Cumulative total of orders over time, aggregated by year to show growth trends." - definition: @aql running_total(total_orders, bhx_ecommerce_orders.created_at | year());; - } - metric abc { - label: "abc" - type: "number" - hidden: false - description: "" - definition: @aql bhx_ecommerce_products.profit | running_total();; - } - metric avxb { - label: "Avxb" - type: "number" - description: "" - definition: @aql bhx_ecommerce_orders.delivered_orders_count - bhx_ecommerce_orders.cancelled_orders_count + 10044;; - } - metric aaa { - label: "A" - type: "number" - description: "" - definition: @aql 1;; - } - metric rt { - label: "A" - type: "number" - description: "" - definition: @aql 1;; - } - metric b { - label: "undefined" - type: "number" - description: "" - definition: @aql 11;; - } - metric ad { - label: "1" - type: "number" - description: "" - definition: @aql 1;; - } + // when: 'total users' in param_model_demo.metric_selections + // , then: bhx_ecommerce_users.total_users + + // , when: 'total orders' in param_model_demo.metric_selections + // , then: total_orders + + // , when: 'platform revenue' in param_model_demo.metric_selections + // , then: revenue + + // , when: 'GMV' in param_model_demo.metric_selections + // , then: gmv + + // , when: 'NMV' in param_model_demo.metric_selections + // , then: nmv + + // , when: 'AOV' in param_model_demo.metric_selections + // , then: aov + + // ) + // ;; + // } + + // metric dynamic_metric_currency { + // label: 'Dynamic Metric (Currency)' + // type: 'number' + // description: 'Only contains list of metrics with currency (Revenue, GMV, NMV, AOV)' + // definition: @aql + // case( + // when: 'platform revenue' in param_model_demo.metric_selections_currency + // , then: revenue + + // , when: 'GMV' in param_model_demo.metric_selections_currency + // , then: gmv + + // , when: 'NMV' in param_model_demo.metric_selections_currency + // , then: nmv + + // , when: 'AOV' in param_model_demo.metric_selections_currency + // , then: aov + + // ) + // ;; + // format: "[\$\$]#,###0" + // } + + // metric revenue_commission { + // label: "Revenue Commission Rate (Demo from May 2025)" + // type: "number" + // hidden: false + // description: "Commission margin (%) our platform earns on NMV transactions. Set to 50% as of May 2025 for demonstration purposes. Used in revenue calculation: revenue = NMV × commission_rate." + // definition: @aql 0.5;; + // format: "#,###%" + // } + + // metric running_total_orders { + // label: "Running Total Orders" + // type: "number" + // hidden: false + // description: "Cumulative total of orders over time, aggregated by year to show growth trends." + // definition: @aql running_total(total_orders, bhx_ecommerce_orders.created_at | year());; + // } + // metric abc { + // label: "abc" + // type: "number" + // hidden: false + // description: "" + // definition: @aql bhx_ecommerce_products.profit | running_total();; + // } + // metric avxb { + // label: "Avxb" + // type: "number" + // description: "" + // definition: @aql bhx_ecommerce_orders.delivered_orders_count - bhx_ecommerce_orders.cancelled_orders_count + 10044;; + // } + // metric aaa { + // label: "A" + // type: "number" + // description: "" + // definition: @aql 1;; + // } + // metric rt { + // label: "A" + // type: "number" + // description: "" + // definition: @aql 1;; + // } + // metric b { + // label: "undefined" + // type: "number" + // description: "" + // definition: @aql 11;; + // } + // metric ad { + // label: "1" + // type: "number" + // description: "" + // definition: @aql 1;; + // } + // metric metric_c8e74d8 { + // label: "Count of Products Category Id" + // type: "number" + // hidden: false + // description: "" + // definition: @aql count(bhx_ecommerce_products.category_id);; + // } owner: 'tri.dvm@holistics.io' diff --git a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_categories.model.aml b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_categories.model.aml index 87c41fb..5838b50 100644 --- a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_categories.model.aml +++ b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_categories.model.aml @@ -27,6 +27,7 @@ Model bhx_ecommerce_categories { definition: @sql concat({{ name }},'','Hi') ;; } + dimension parent_id { label: 'Parent Id' type: 'number' diff --git a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_countries.model.aml b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_countries.model.aml index 295a703..6bce4af 100644 --- a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_countries.model.aml +++ b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_countries.model.aml @@ -6,6 +6,13 @@ Model bhx_ecommerce_countries { table_name: '"ecommerce"."countries"' owner: 'tri.dvm@holistics.io' + param dynamic_metric { + label: 'Dynamic Metric' + type: 'text' + description: 'Dynamic metric values' + allowed_values: ['Total Users', 'Total Orders', 'Total Revenue'] + } + dimension code { label: 'Country Code' type: 'text' diff --git a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_orders.model.aml b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_orders.model.aml index e4a3d9f..3f8c5b6 100644 --- a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_orders.model.aml +++ b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_orders.model.aml @@ -55,70 +55,70 @@ Model bhx_ecommerce_orders { definition: @sql LPAD((DATE_PART('month', {{ created_at }}))::text, 2, '0') || ' ' || TO_CHAR({{ created_at }}, 'Month');; description: "Month created of order" } - measure cumm_orders { - label: 'Cumulative Orders' - type: 'number' - definition: @aql running_total(ecommerce_orders.total_order, ecommerce_orders.order_month) ;; - description: "The cumulative total of orders." - aggregation_type: "custom" - } - measure delivered_orders_count { - label: "Delivered Orders Count" - type: "number" - definition: @sql count( case when {{#SOURCE.status}} = 'delivered' then 1 else null end);; - description: "The total number of orders we delivered this period." - aggregation_type: "custom" - } - measure cancelled_orders_count { - label: 'Cancelled Orders Count' - type: 'number' - definition: @sql count( case when {{#SOURCE.status}} = 'cancelled' then 1 else null end);; - description: "The total number of orders we canceled this period." - aggregation_type: "custom" - } - measure refunded_orders_count { - label: 'Refunded Orders Count' - type: 'number' - definition: @sql count(distinct case when {{status}} = 'refunded' then {{id}} else null end);; - description: "The total number of orders we refunded this period." - aggregation_type: "custom" - } - measure total_order { - label: "Total Orders Count" - type: "number" - definition: @sql {{ id }};; - description: "The total number of orders" - aggregation_type: "count" - } - measure total_orders_count { - label: "Total Orders Count" - type: "number" - definition: @sql {{ id }};; - aggregation_type: "count" - } + // measure cumm_orders { + // label: 'Cumulative Orders' + // type: 'number' + // definition: @aql running_total(ecommerce_orders.total_order, ecommerce_orders.order_month) ;; + // description: "The cumulative total of orders." + // aggregation_type: "custom" + // } + // measure delivered_orders_count { + // label: "Delivered Orders Count" + // type: "number" + // definition: @sql count( case when {{#SOURCE.status}} = 'delivered' then 1 else null end);; + // description: "The total number of orders we delivered this period." + // aggregation_type: "custom" + // } + // measure cancelled_orders_count { + // label: 'Cancelled Orders Count' + // type: 'number' + // definition: @sql count( case when {{#SOURCE.status}} = 'cancelled' then 1 else null end);; + // description: "The total number of orders we canceled this period." + // aggregation_type: "custom" + // } + // measure refunded_orders_count { + // label: 'Refunded Orders Count' + // type: 'number' + // definition: @sql count(distinct case when {{status}} = 'refunded' then {{id}} else null end);; + // description: "The total number of orders we refunded this period." + // aggregation_type: "custom" + // } + // measure total_order { + // label: "Total Orders Count" + // type: "number" + // definition: @sql {{ id }};; + // description: "The total number of orders" + // aggregation_type: "count" + // } + // measure total_orders_count { + // label: "Total Orders Count" + // type: "number" + // definition: @sql {{ id }};; + // aggregation_type: "count" + // } - measure first_order_date { - label: "First Order Date" - type: "datetime" - definition: @sql min({{ created_at }}) ;; - } + // measure first_order_date { + // label: "First Order Date" + // type: "datetime" + // definition: @sql min({{ created_at }}) ;; + // } - measure days_since_last_order { - label: "Days Since Last Order" - type: "number" - definition: @sql DATE_PART('Day', CURRENT_TIMESTAMP - max({{ created_at }}));; - aggregation_type: "custom" - } + // measure days_since_last_order { + // label: "Days Since Last Order" + // type: "number" + // definition: @sql DATE_PART('Day', CURRENT_TIMESTAMP - max({{ created_at }}));; + // aggregation_type: "custom" + // } - measure orders_2023 { - label: '2023' - type: "number" - definition: @aql count(ecommerce_orders.id) | where(ecommerce_orders.created_at matches @2023) ;; - } + // measure orders_2023 { + // label: '2023' + // type: "number" + // definition: @aql count(ecommerce_orders.id) | where(ecommerce_orders.created_at matches @2023) ;; + // } - measure orders_2024 { - label: '2024' - type: "number" - definition: @aql count(ecommerce_orders.id) | where(ecommerce_orders.created_at matches @2024) ;; - } + // measure orders_2024 { + // label: '2024' + // type: "number" + // definition: @aql count(ecommerce_orders.id) | where(ecommerce_orders.created_at matches @2024) ;; + // } } \ No newline at end of file diff --git a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_users.model.aml b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_users.model.aml index 1f75ccd..e431a6f 100644 --- a/team-folders/tri.dvm/models/table-models/bhx_ecommerce_users.model.aml +++ b/team-folders/tri.dvm/models/table-models/bhx_ecommerce_users.model.aml @@ -26,7 +26,7 @@ Model bhx_ecommerce_users { label: 'Email User' type: 'text' definition: @aql concat( - 'mailto:', ecommerce_users.email + 'mailto:', bhx_ecommerce_users.email );; } @@ -48,7 +48,7 @@ Model bhx_ecommerce_users { label: 'linkedin_search' type: 'text' definition: @aql concat( - 'https://www.linkedin.com/search/results/all/?keywords=',ecommerce_users.full_name + 'https://www.linkedin.com/search/results/all/?keywords=',bhx_ecommerce_countries.full_name );; } @@ -86,7 +86,7 @@ Model bhx_ecommerce_users { case ( when: in(1, H.current_user.pii_access), - then: ecommerce_users.email, + then: bhx_ecommerce_users.email, else: '(redacted)' );; } @@ -177,7 +177,7 @@ end;; measure total_users_aql { label: "Total Users (AQL)" type: "number" - definition: @aql count(ecommerce_users.id);; + definition: @aql count(bhx_ecommerce_users.id);; hidden: false } diff --git a/team-folders/tri.dvm/dashboards/untitled_9.page.aml b/test_new.page.aml similarity index 59% rename from team-folders/tri.dvm/dashboards/untitled_9.page.aml rename to test_new.page.aml index f7aa7ad..96ceff1 100644 --- a/team-folders/tri.dvm/dashboards/untitled_9.page.aml +++ b/test_new.page.aml @@ -1,16 +1,16 @@ -Dashboard untitled_9 { - title: 'Untitled 9' - description: '' +Dashboard test_new { + title: 'Test New' + owner: 'tan.nguyen@holistics.io' block title: TextBlock { content: @md # Your title goes here ;; } - block v1: VizBlock { - label: 'Percent Of Total' + block v_c3vu: VizBlock { + label: 'Total Users' viz: DataTable { - dataset: demo_ecommerce + dataset: bhx_demo_ecommerce fields: [ VizFieldFull { - ref: 'percent_of_total' + ref: r(bhx_demo_ecommerce.total_users) format { type: 'number' pattern: 'inherited' @@ -27,22 +27,22 @@ Dashboard untitled_9 { } } } - + interactions: [] view: CanvasLayout { label: 'View 1' - height: 840 + width: 1300 + height: 270 grid_size: 20 + auto_expand_vertically: true block title { - position: pos(20, 20, 1160, 60) + position: pos(20, 20, 1260, 60) } - block v1 { - position: pos(640, 60, 400, 300) - layer: 1 + block v_c3vu { + position: pos(350, 100, 620, 420) } mobile { mode: 'auto' } } - theme: H.themes.vanilla } \ No newline at end of file diff --git a/thong/pii_ecommerce.dataset.aml b/thong/pii_ecommerce.dataset.aml new file mode 100644 index 0000000..a2d7759 --- /dev/null +++ b/thong/pii_ecommerce.dataset.aml @@ -0,0 +1,26 @@ +Dataset pii_ecommerce { + label: 'PII Ecommerce', + description: '' + data_source_name: 'demodb' + models: [ + pii_users, + ecommerce_products, + ecommerce_merchants, + ecommerce_countries, + ecommerce_orders, + ecommerce_order_items, + ecommerce_cities, + map_categories + ] + relationships: [ + relationship(ecommerce_order_items.order_id > ecommerce_orders.id, true), + relationship(ecommerce_orders.user_id > pii_users.id, true), + relationship(pii_users.city_id > ecommerce_cities.id, true), + relationship(ecommerce_cities.country_code > ecommerce_countries.code, true), + relationship(ecommerce_order_items.product_id > ecommerce_products.id, true), + // relationship(ecommerce_products.id - ecommerce_product_images.product_id, true), + relationship(ecommerce_products.merchant_id > ecommerce_merchants.id, true), + relationship(ecommerce_products_map_categories, true), + relationship(ecommerce_merchants.city_id > ecommerce_cities.id, false) + ] +} \ No newline at end of file diff --git a/thong/pii_users.model.aml b/thong/pii_users.model.aml new file mode 100644 index 0000000..eae5947 --- /dev/null +++ b/thong/pii_users.model.aml @@ -0,0 +1,75 @@ +const pii = +if (H.current_user.pii_access != 1) { + '\'(redacted)\'' +} else { + 'email' +} + +Model pii_users { + type: 'query' + label: 'Users' + description: '' + data_source_name: 'demodb' + + dimension email { + label: 'Email' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.email }};; + } + dimension id { + label: "Id" + type: "number" + hidden: false + definition: @sql {{ #SOURCE.id }};; + primary_key: false + } + dimension sign_up_at { + label: "Sign Up At" + type: "datetime" + hidden: false + definition: @sql {{ #SOURCE.sign_up_at }};; + primary_key: false + } + dimension first_name { + label: "First Name" + type: "text" + hidden: false + definition: @sql {{ #SOURCE.first_name }};; + primary_key: false + } + dimension last_name { + label: "Last Name" + type: "text" + hidden: false + definition: @sql {{ #SOURCE.last_name }};; + primary_key: false + } + dimension birth_date { + label: "Birth Date" + type: "date" + hidden: false + definition: @sql {{ #SOURCE.birth_date }};; + primary_key: false + } + dimension gender { + label: "Gender" + type: "text" + hidden: false + definition: @sql {{ #SOURCE.gender }};; + primary_key: false + } + dimension city_id { + label: "City Id" + type: "number" + hidden: false + definition: @sql {{ #SOURCE.city_id }};; + primary_key: false + } + + + owner: 'thong.do@holistics.io' + query: @sql select id, sign_up_at, first_name, last_name, birth_date, gender, city_id, ${pii} as email from ecommerce.users;; + models: [ + ] +} \ No newline at end of file diff --git a/toan-test/test_sale.page.aml b/toan-test/test_sale.page.aml new file mode 100644 index 0000000..c6ce44e --- /dev/null +++ b/toan-test/test_sale.page.aml @@ -0,0 +1,55 @@ +Dashboard repro_pop_relative { + title: '[Repro] PoP Relative' + + block v1: VizBlock { + label: 'GMV by Day' + viz: LineChart { + dataset: demo_ecommerce + x_axis: VizFieldFull { + ref: ref('order_master', 'order_created_at') + transformation: 'datetrunc day' + format { type: 'date' } + } + y_axis { + series { + field: VizFieldFull { + ref: ref('order_master', 'gmv') + format { type: 'number' } + } + } + } + } +} + + + block p1: PopBlock { + label: 'Compare To' + default { + type: 'relative' + duration: 1 + granularity: 'month' + show_growth_rate: true + } + } + + interactions: [ + PopInteraction { + from: 'p1' + to: [ + CustomMapping { + block: 'v1' + field: ref('order_master', 'order_created_at') + } + ] + } + ] + + view: CanvasLayout { + label: 'View 1' + height: 500 + grid_size: 10 + + block p1 { position: pos(20, 20, 300, 100) layer: 1 } + block v1 { position: pos(20, 140, 1000, 320) layer: 1 } + } +} diff --git a/untitled_5.page.aml b/untitled_5.page.aml new file mode 100644 index 0000000..e2833c0 --- /dev/null +++ b/untitled_5.page.aml @@ -0,0 +1,24 @@ +Dashboard untitled_5 { + title: 'Untitled' + description: '' + owner: 'thang.lk@holistics.io' + block title: TextBlock { + content: @md # Your title goes here sdas;; + } + + view: CanvasLayout { + label: 'View 1' + width: 1300 + height: 800 + grid_size: 20 + auto_expand_vertically: true + block title { + position: pos(20, 20, 280, 140) + } + mobile { + mode: 'auto' + } + } + + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/untitled_8.page.aml b/untitled_8.page.aml deleted file mode 100644 index dac616a..0000000 --- a/untitled_8.page.aml +++ /dev/null @@ -1,55 +0,0 @@ -Dashboard untitled_8 { - title: 'Untitled' - description: '' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v_w1kk: VizBlock { - label: 'Running Total compared with Running Total (Prev. 2y)' - viz: MetricKpi { - dataset: demo_ecommerce_internal_training - value: VizFieldFull { - ref: r(demo_ecommerce_internal_training.running_total) - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizPopSettings { - field: r(order_master.order_created_at) - value: AbsolutePopValue { - from: '2025-09-01' - to: '2025-09-06' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - - view: CanvasLayout { - label: 'View 1' - height: 840 - grid_size: 20 - block title { - position: pos(20, 20, 1160, 60) - } - block v_w1kk { - position: pos(20, 100, 260, 180) - layer: 1 - } - mobile { - mode: 'auto' - } - } - - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/version.aml b/version.aml index 9001afa..7acbb58 100644 --- a/version.aml +++ b/version.aml @@ -1 +1 @@ -const AML_VERSION = '2.0' \ No newline at end of file +const AML_VERSION = '2.0' \ No newline at end of file From 81605d09b8b491defda5ebc701e311e39a656797 Mon Sep 17 00:00:00 2001 From: son hoang Date: Wed, 21 Jan 2026 12:04:16 +0000 Subject: [PATCH 12/28] Update label of dataset 'ecommerce' to 'ecommerce2' in 'ecommerce.thang.dataset.aml' --- team-folders/Thang/ecommerce.thang.dataset.aml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/team-folders/Thang/ecommerce.thang.dataset.aml b/team-folders/Thang/ecommerce.thang.dataset.aml index 770b430..c4a295b 100644 --- a/team-folders/Thang/ecommerce.thang.dataset.aml +++ b/team-folders/Thang/ecommerce.thang.dataset.aml @@ -1,5 +1,5 @@ Dataset ecommerce { - label: 'ecommerce' + label: 'ecommerce2' description: '' data_source_name: 'movies_lens' models: [ From 2f11fa79e06aa2a53dc3ed94b3396a5e3e157263 Mon Sep 17 00:00:00 2001 From: son hoang Date: Wed, 21 Jan 2026 12:06:56 +0000 Subject: [PATCH 13/28] Restore to version "Update dashboard 'untitled_10_2' in reporting" (#2e9bbe) --- _10_blocks.page.aml | 422 ++++ _1_block.page.aml | 89 + .../dashboards/embed_demo_sales.page.aml | 144 +- .../datasets/demo_ecommerce.dataset.aml | 9 +- .../embed/ecommerce_portal.embed.aml | 1 - .../2. Query Models/order_master.model.aml | 2 + ecommerce_orders.model.aml | 45 - ecommerce_sales.model.aml | 52 - hoa_test.page.aml | 22 - .../Amyra/demo_ecommerce_amyra.page.aml | 6 +- .../Minh/ecommerce (test themes).page.aml | 71 +- .../demo_ecommerce_dashboard_thang.page.aml | 1376 ------------- .../Thang/ecommerce.thang.dataset.aml | 69 - .../Thang/ecommerce_dashboard_thang.page.aml | 751 ------- team-folders/Thang/ecommerce_orders.model.aml | 60 - team-folders/Thang/ecommerce_users.model.aml | 94 - team-folders/Vux/vux-test.page.aml | 173 -- .../Onboarding Dashboard.page.aml | 1 - .../khai/datasets/khai_ecommerce.dataset.aml | 2 +- team-folders/khai/khai_test.page.aml | 2 +- .../dynamic_datasouce_test.page.aml | 2 +- .../dashboards/tai_cohort_retention.page.aml | 388 ---- .../tai/test_extend/tai_ecom.page.aml | 1796 ----------------- .../test_extend/tai_ecom_external.page.aml | 43 - test_new.page.aml | 4 +- untitled_5.page.aml | 24 - version.aml | 2 +- 27 files changed, 631 insertions(+), 5019 deletions(-) create mode 100644 _10_blocks.page.aml create mode 100644 _1_block.page.aml delete mode 100644 ecommerce_orders.model.aml delete mode 100644 ecommerce_sales.model.aml delete mode 100644 hoa_test.page.aml delete mode 100644 team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml delete mode 100644 team-folders/Thang/ecommerce.thang.dataset.aml delete mode 100644 team-folders/Thang/ecommerce_dashboard_thang.page.aml delete mode 100644 team-folders/Thang/ecommerce_orders.model.aml delete mode 100644 team-folders/Thang/ecommerce_users.model.aml delete mode 100644 team-folders/Vux/vux-test.page.aml delete mode 100644 team-folders/tai/dashboards/tai_cohort_retention.page.aml delete mode 100644 team-folders/tai/test_extend/tai_ecom.page.aml delete mode 100644 team-folders/tai/test_extend/tai_ecom_external.page.aml delete mode 100644 untitled_5.page.aml diff --git a/_10_blocks.page.aml b/_10_blocks.page.aml new file mode 100644 index 0000000..dd815bb --- /dev/null +++ b/_10_blocks.page.aml @@ -0,0 +1,422 @@ +Dashboard _10_blocks { + title: '10 blocks' + owner: 'toan.lt@holistics.io' + block title: TextBlock { + content: @md # Your title goes here ;; + } + block v_0fvm: VizBlock { + label: 'product table' + viz: DataTable { + dataset: demo_ecommerce_version_base + fields: [ + VizFieldFull { + ref: r(ecommerce_products.id) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(ecommerce_products.category_id) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(ecommerce_products.name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_products.merchant_id) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(ecommerce_products.price) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_v9fd: VizBlock { + label: 'product pivot' + viz: PivotTable { + dataset: demo_ecommerce_version_base + rows: [ + VizFieldFull { + ref: r(ecommerce_products.created_at) + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + ] + columns: [ + VizFieldFull { + ref: r(ecommerce_products.name) + format { + type: 'text' + } + } + ] + values: [ + VizFieldFull { + ref: r(ecommerce_products.id) + aggregation: 'count' + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_total: true + show_column_total: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_ea3m: VizBlock { + label: 'product metric' + viz: MetricKpi { + dataset: demo_ecommerce_version_base + value: VizFieldFull { + ref: r(ecommerce_products.price) + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + } + compare_value: VizFieldFull { + ref: r(ecommerce_products.created_at) + aggregation: 'count' + format { + type: 'number' + } + } + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + alignment: 'left' + } + } + settings { + hide_label: true + } + } + block v_gzxp: VizBlock { + label: 'product area' + viz: AreaChart { + dataset: demo_ecommerce_version_base + x_axis: VizFieldFull { + ref: r(ecommerce_products.created_at) + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + y_axis { + series { + field: VizFieldFull { + ref: r(ecommerce_products.id) + aggregation: 'count' + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_z8ld: VizBlock { + label: 'Sum of Price by Month Created At and Cost' + viz: LineChart { + dataset: demo_ecommerce_version_base + x_axis: VizFieldFull { + ref: r(ecommerce_products.created_at) + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + y_axis { + series { + field: VizFieldFull { + ref: r(ecommerce_products.price) + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_ikhf: VizBlock { + label: 'Sum of Price by Month Created At' + viz: ColumnChart { + dataset: demo_ecommerce_version_base + x_axis: VizFieldFull { + ref: r(ecommerce_products.created_at) + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + y_axis { + series { + field: VizFieldFull { + ref: r(ecommerce_products.price) + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_zur6: VizBlock { + label: 'Sum of Price by Month Created At' + viz: BarChart { + dataset: demo_ecommerce_version_base + x_axis: VizFieldFull { + ref: r(ecommerce_products.created_at) + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + y_axis { + series { + field: VizFieldFull { + ref: r(ecommerce_products.price) + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_rqx8: VizBlock { + label: 'Count of Merchant Id by Product ID and Category Id' + viz: PointMap { + dataset: demo_ecommerce_version_base + lng: VizFieldFull { + ref: r(ecommerce_products.category_id) + format { + type: 'number' + pattern: 'inherited' + } + } + lat: VizFieldFull { + ref: r(ecommerce_products.id) + format { + type: 'number' + pattern: 'inherited' + } + } + value: VizFieldFull { + ref: r(ecommerce_products.merchant_id) + aggregation: 'count' + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + default_view { + zoom_level: 5 + center { + lat: 71.1111062496851 + lng: 18.83056640625 + } + } + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_abky: VizBlock { + label: 'Sum of Price by Product Name' + viz: ConversionFunnel { + dataset: demo_ecommerce_version_base + breakdown_by: VizFieldFull { + ref: r(ecommerce_products.name) + format { + type: 'text' + } + } + values: [ + VizFieldFull { + ref: r(ecommerce_products.price) + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_jflr: VizBlock { + label: 'Product ID and Sum of Price' + viz: CustomChart { + dataset: demo_ecommerce_version_base + custom_chart_id: 25612 + field id_field: VizFieldFull { + ref: r(ecommerce_products.id) + format { + type: 'number' + pattern: 'inherited' + } + } + field metric_field: VizFieldFull { + ref: r(ecommerce_products.price) + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + } + setting num_buckets: 10 + settings { + row_limit: 5000 + } + } + } + block f_products_product_id: FilterBlock { + label: 'Products Product ID' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce_version_base + field: r(ecommerce_products.id) + } + default { + operator: 'greater_than' + value: '$H_NIL$' + } + } + view: CanvasLayout { + label: 'View 1' + width: 1300 + height: 1740 + grid_size: 20 + auto_expand_vertically: true + block title { + position: pos(20, 20, 1260, 60) + } + block v_0fvm { + position: pos(20, 180, 580, 280) + } + block v_v9fd { + position: pos(680, 180, 600, 280) + } + block v_ea3m { + position: pos(20, 500, 380, 260) + } + block v_gzxp { + position: pos(420, 500, 400, 260) + } + block v_z8ld { + position: pos(840, 500, 420, 260) + } + block v_ikhf { + position: pos(20, 780, 380, 380) + } + block v_zur6 { + position: pos(420, 780, 400, 380) + } + block v_rqx8 { + position: pos(840, 780, 420, 380) + } + block v_abky { + position: pos(20, 1180, 620, 420) + } + block v_jflr { + position: pos(660, 1180, 620, 420) + } + block f_products_product_id { + position: pos(20, 80, 300, 80) + } + mobile { + mode: 'auto' + } + } + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/_1_block.page.aml b/_1_block.page.aml new file mode 100644 index 0000000..b7f75f1 --- /dev/null +++ b/_1_block.page.aml @@ -0,0 +1,89 @@ +Dashboard _1_block { + title: '1 block' + owner: 'toan.lt@holistics.io' + block title: TextBlock { + content: @md # Your title goes here ;; + } + block v_u6q9: VizBlock { + label: 'product table' + viz: DataTable { + dataset: demo_ecommerce_version_base + fields: [ + VizFieldFull { + ref: r(ecommerce_products.id) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(ecommerce_products.category_id) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(ecommerce_products.name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_products.merchant_id) + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: r(ecommerce_products.price) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_products_price: FilterBlock { + label: 'Products Price' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce_version_base + field: r(ecommerce_products.price) + } + default { + operator: 'greater_than' + value: '$H_NIL$' + } + } + view: CanvasLayout { + label: 'View 1' + width: 1300 + height: 800 + grid_size: 20 + auto_expand_vertically: true + block title { + position: pos(20, 20, 1260, 60) + } + block v_u6q9 { + position: pos(20, 100, 620, 420) + } + block f_products_price { + position: pos(660, 100, 300, 80) + } + mobile { + mode: 'auto' + } + } + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/demo ecommerce/dashboards/embed_demo_sales.page.aml b/demo ecommerce/dashboards/embed_demo_sales.page.aml index a9e481d..0dc63a6 100644 --- a/demo ecommerce/dashboards/embed_demo_sales.page.aml +++ b/demo ecommerce/dashboards/embed_demo_sales.page.aml @@ -134,7 +134,7 @@ Dashboard embed_demo_landing_page_2 { pattern: 'inherited' } } - + ] settings { show_row_number: true @@ -261,23 +261,52 @@ ecommerce_users.sign_up_date calc_type: 'measure' data_type: 'number' } - filter { - field: r(order_master.last_order_value) - operator: 'is' - value: '1' + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'sign_up_date') + transformation: 'datetrunc quarter' + format { + type: 'date' + } } - settings { - x_axis_show_null_datetime: true - pop { - field: r(ecommerce_users.sign_up_date) - value: RelativePopValue { - duration: 3 - granularity: 'month' + y_axis { + series { + mark_type: 'column' + field { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#005A32FF' } } - aggregate_awareness { - enabled: true - debug_comments: true + } + y_axis { + settings { + alignment: 'right' + } + series { + mark_type: 'line' + field { + ref: 'f_3f16a1c' + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#41ab5d' + line_interpolation: 'smooth' + } + } + } + settings { + pop { + field: ref('ecommerce_users', 'sign_up_date') + duration: 3 + granularity: 'month' } } } @@ -396,7 +425,7 @@ ecommerce_users.sign_up_date type: 'field' source: FieldFilterSource { dataset: demo_ecommerce - field: r(ecommerce_products.name) + field: ref('ecommerce_products', 'name') } default { operator: 'is' @@ -404,7 +433,7 @@ ecommerce_users.sign_up_date } settings { drillthrough: Drillthrough { - enabled: false + enabled: true sources: [ AutoDrillthroughSource { } @@ -541,22 +570,10 @@ ecommerce_users.sign_up_date granularity: 'year' } } - block f_order_master_last_order_value: FilterBlock { - label: 'Order Master Last Order Value' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce - field: r(order_master.last_order_value) - } - default { - operator: 'is' - value: [] - } - } view: CanvasLayout { label: 'View 1' width: 1420 - height: 1520 + height: 1530 block f1 { position: pos(-320, 10, 300, 80) } @@ -570,22 +587,22 @@ ecommerce_users.sign_up_date position: pos(-20, 100, 1480, 20) } block t2 { - position: pos(750, 330, 650, 40) + position: pos(750, 340, 650, 40) } block t5 { position: pos(30, 10, 170, 90) } block t9 { - position: pos(40, 330, 650, 40) + position: pos(40, 340, 650, 40) } block v1 { position: pos(360, 20, 360, 60) } block v2 { - position: pos(750, 770, 650, 240) + position: pos(750, 780, 650, 240) } block v3 { - position: pos(40, 770, 650, 240) + position: pos(40, 780, 650, 240) } block v4 { position: pos(40, 140, 240, 140) @@ -600,7 +617,7 @@ ecommerce_users.sign_up_date position: pos(1160, 140, 240, 140) } block v8 { - position: pos(40, 380, 650, 370) + position: pos(40, 390, 650, 370) } block t10 { position: pos(300, 120, 10, 180) @@ -616,24 +633,24 @@ ecommerce_users.sign_up_date position: pos(1140, 120, 10, 180) } block t14 { - position: pos(20, 310, 690, 720) + position: pos(20, 320, 690, 720) layer: -2 } block t15 { - position: pos(730, 310, 690, 720) + position: pos(730, 320, 690, 720) layer: -2 } block v11 { - position: pos(750, 380, 650, 370) + position: pos(750, 390, 650, 370) } block v12 { position: pos(320, 140, 240, 140) } block v13 { - position: pos(730, 1040, 680, 450) + position: pos(730, 1050, 680, 450) } block v14 { - position: pos(10, 1040, 700, 450) + position: pos(10, 1050, 700, 450) } block box1 { position: pos(20, 120, 1400, 180) @@ -643,45 +660,18 @@ ecommerce_users.sign_up_date position: pos(230, 30, 10, 40) } block d1 { - position: pos(520, 320, 170, 100) + position: pos(520, 330, 170, 100) } block p1 { - position: pos(1190, 320, 210, 80) - } - block f_order_master_last_order_value { - position: pos(400, 580, 300, 80) + position: pos(1190, 330, 210, 80) } } interactions: [ - FilterInteraction { - from: 'f1' - to: [ - CustomMapping { - block: 'f_order_master_last_order_value' - disabled: true - } - ] - }, FilterInteraction { from: 'f3' to: [ CustomMapping { - block: [ - 'f1', - 'f_order_master_last_order_value' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_order_master_last_order_value' - to: [ - CustomMapping { - block: [ - 'f1', - 'f3' - ] + block: 'f1' disabled: true } ] @@ -696,7 +686,7 @@ ecommerce_users.sign_up_date 'v8', 'v12' ] - field: r(ecommerce_users.sign_up_date) + field: ref('ecommerce_users', 'sign_up_date') }, CustomMapping { block: [ @@ -704,11 +694,11 @@ ecommerce_users.sign_up_date 'v6', 'v7' ] - field: r(order_master.order_created_at) + field: ref('order_master', 'order_created_at') }, CustomMapping { block: 'v11' - field: r(dim_dates.date_key) + field: ref('dim_dates', 'date_key') } ] }, @@ -717,11 +707,11 @@ ecommerce_users.sign_up_date to: [ CustomMapping { block: 'v8' - field: r(ecommerce_users.sign_up_date) + field: ref('ecommerce_users', 'sign_up_date') }, CustomMapping { block: 'v11' - field: r(dim_dates.date_key) + field: ref('dim_dates', 'date_key') } ] }, @@ -730,11 +720,11 @@ ecommerce_users.sign_up_date to: [ CustomMapping { block: 'v11' - field: r(dim_dates.date_key) + field: ref('dim_dates', 'date_key') }, CustomMapping { block: 'v8' - field: r(ecommerce_users.sign_up_date) + field: ref('ecommerce_users', 'sign_up_date') } ] } diff --git a/demo ecommerce/datasets/demo_ecommerce.dataset.aml b/demo ecommerce/datasets/demo_ecommerce.dataset.aml index 81072e4..3baebe0 100644 --- a/demo ecommerce/datasets/demo_ecommerce.dataset.aml +++ b/demo ecommerce/datasets/demo_ecommerce.dataset.aml @@ -254,7 +254,7 @@ pre_aggregates: { label: "Total Orders" type: "number" hidden: false - description: "Total number of order after `01-2025`" + description: "" definition: @aql count(ecommerce_orders.id);; format: "#,###" } @@ -262,14 +262,14 @@ pre_aggregates: { label: "Total Orders Across All" type: "number" hidden: false - description: "Counts the total number of orders across all records in the ecommerce_orders table, ignoring any grouping or filtering by dimensions" + description: "" definition: @aql count(ecommerce_orders.id) | of_all(ecommerce_orders);; } metric percent_of_total { label: "Percent Of Total" type: "number" hidden: false - description: "Calculates the percentage of total orders represented by the current context, by dividing the total number of orders by the total number of orders across all records" + description: "" definition: @aql total_orders * 1.0 / total_orders_across_all;; format: "#,###0.0\%" } @@ -291,14 +291,13 @@ pre_aggregates: { label: "Running Total" type: "number" hidden: false - description: "Calculates the cumulative sum of total orders over time, grouped by year based on the ecommerce_orders.created_at field." + description: "" definition: @aql running_total(total_orders, ecommerce_orders.created_at | year());; } metric dynamic_metric { label: 'Dynamic Metric' type: 'number' - description: "Depending on the selection, this metric outputs total users, total products, total orders, percent of total, average order value, or revenue" definition: @aql case( when: 'total users' in param_model_nam.metric_selections diff --git a/demo ecommerce/embed/ecommerce_portal.embed.aml b/demo ecommerce/embed/ecommerce_portal.embed.aml index 4252564..4714b48 100644 --- a/demo ecommerce/embed/ecommerce_portal.embed.aml +++ b/demo ecommerce/embed/ecommerce_portal.embed.aml @@ -6,7 +6,6 @@ EmbedPortal ecommerce_portal { _2_category_breakdown, _3_customer_demographics, _4_product_x_merchant_drill_down, - // dataset demo_ecommerce ], } \ No newline at end of file diff --git a/demo ecommerce/models/2. Query Models/order_master.model.aml b/demo ecommerce/models/2. Query Models/order_master.model.aml index bcd5ada..f22cb61 100644 --- a/demo ecommerce/models/2. Query Models/order_master.model.aml +++ b/demo ecommerce/models/2. Query Models/order_master.model.aml @@ -384,3 +384,5 @@ Model order_master { ] } } + +order_master.dim_selector \ No newline at end of file diff --git a/ecommerce_orders.model.aml b/ecommerce_orders.model.aml deleted file mode 100644 index f4e299d..0000000 --- a/ecommerce_orders.model.aml +++ /dev/null @@ -1,45 +0,0 @@ -Model ecommerce_orders3 { - type: 'table' - label: 'Orders' - description: '' - data_source_name: 'demodb' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension status { - label: 'Status' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.status }};; - } - dimension created_at { - label: 'Created At' - type: 'datetime' - hidden: false - definition: @sql {{ #SOURCE.created_at }};; - } - dimension user_id { - label: 'User Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.user_id }};; - } - dimension discount { - label: 'Discount' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.discount }};; - } - dimension delivery_attempts { - label: 'Delivery Attempts' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.delivery_attempts }};; - } - - owner: 'thang.lk@holistics.io' - table_name: '"ecommerce"."orders"' -} diff --git a/ecommerce_sales.model.aml b/ecommerce_sales.model.aml deleted file mode 100644 index 562e816..0000000 --- a/ecommerce_sales.model.aml +++ /dev/null @@ -1,52 +0,0 @@ -Model ecommerce_sales { - type: 'table' - label: 'Sales' - description: '' - data_source_name: 'demodb' - dimension order_id { - label: 'Order Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.order_id }};; - primary_key: true - } - dimension order_created_date { - label: 'Order Created Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.order_created_date }};; - } - dimension delivered_date { - label: 'Delivered Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.delivered_date }};; - } - dimension cancelled_date { - label: 'Cancelled Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.cancelled_date }};; - } - dimension refunded_date { - label: 'Refunded Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.refunded_date }};; - } - dimension user_id { - label: 'User Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.user_id }};; - } - dimension discount { - label: 'Discount' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.discount }};; - } - - owner: 'thang.lk@holistics.io' - table_name: '"ecommerce"."sales"' -} diff --git a/hoa_test.page.aml b/hoa_test.page.aml deleted file mode 100644 index 22c214a..0000000 --- a/hoa_test.page.aml +++ /dev/null @@ -1,22 +0,0 @@ -Dashboard hoa_test { - title: 'hoa test' - owner: 'hoa.huynh@holistics.io' - block title: TextBlock { - content: @md # Your title goes here ;; - } - interactions: [] - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 800 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - mobile { - mode: 'auto' - } - } - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/team-folders/Amyra/demo_ecommerce_amyra.page.aml b/team-folders/Amyra/demo_ecommerce_amyra.page.aml index dbe8a2a..7b486a8 100644 --- a/team-folders/Amyra/demo_ecommerce_amyra.page.aml +++ b/team-folders/Amyra/demo_ecommerce_amyra.page.aml @@ -174,12 +174,12 @@ This dashboard tracks the KPIs of all managers for their respective teams. This viz: PieChart { dataset: demo_ecommerce filter { - field: r(order_master.order_created_at) + field: ref('order_master', 'order_created_at') operator: 'matches' value: '2023' } legend: VizFieldFull { - ref: r(map_categories.parent_category) + ref: ref('map_categories', 'parent_category') format { type: 'text' } @@ -187,7 +187,7 @@ This dashboard tracks the KPIs of all managers for their respective teams. This series { field: VizFieldFull { label: ' ' - ref: r(order_master.gmv) + ref: ref('order_master', 'gmv') format { type: 'number' pattern: '[$$]#,###' diff --git a/team-folders/Minh/ecommerce (test themes).page.aml b/team-folders/Minh/ecommerce (test themes).page.aml index ded2c47..f2ae1fa 100644 --- a/team-folders/Minh/ecommerce (test themes).page.aml +++ b/team-folders/Minh/ecommerce (test themes).page.aml @@ -1,7 +1,13 @@ Dashboard ecommerce_cua_minh { title: 'Ecommerce Dashboard' description: '''''' - theme: H.themes.midnight + theme: H.themes.classic.extend( + { + canvas { + + } + } + ) block css: TextBlock { content: @md - - - - -;; - } - // block t46: background_gray() - block t47: TextBlock { - content: @md
- - - - - - - - - -
;; - } - block t49: TextBlock { - content: @md
;; - } - block t51: TextBlock { - content: @md
- - - - - - - - - -
;; - } - block t52: TextBlock { - content: @md
;; - } - block t53: TextBlock { - content: @md
;; - } - block t55: TextBlock { - content: @md

;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block t56: TextBlock { - content: @md

;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block v17: VizBlock { - label: 'Total Users and Delivered Orders Count by Quarter Sign Up Date' - viz: PivotTable { - dataset: demo_ecommerce - filter { - field: ref('ecommerce_users', 'age_group') - operator: 'is_not' - value: '3. From 40 to 49' - } - rows: [ - VizFieldFull { - ref: ref('ecommerce_countries', 'continent_name') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - } - ] - columns: [ - VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: ref('order_master', 'revenue') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'order_count') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - frozen_columns: 0 - } - } - } - block v18: VizBlock { - label: 'Customer Info and Buying Behavior' - viz: DataTable { - dataset: demo_ecommerce - fields: [ - VizFieldFull { - ref: ref('ecommerce_users', 'full_name') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - uname: 'ecommerce_countries_name' - }, - VizFieldFull { - ref: ref('order_master', 'order_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_products', 'total_products') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'cancelled_order_ratio') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_cancelled_order_ratio' - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - frozen_columns: 0 - column_styles: [ - ColumnStyle { - key: 'ecommerce_countries_name' - width: 216 - }, - ColumnStyle { - key: 'custom_cancelled_order_ratio' - width: 180 - } - ] - } - } - } - block p1: PopBlock { - label: 'Compare with Period' - } - block v19: VizBlock { - label: 'Total Users and Total Users by Age Demographic and Gender' - viz: ColumnChart { - dataset: demo_ecommerce - theme { - - } - x_axis: VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - } - legend: VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#07326C' - point { - value: 'Male' - color: '#FB8761' - } - point { - value: 'Female' - color: '#64628c' - } - } - } - series { - field: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - break_by_legend: false - } - } - } - settings { - x_axis_show_null_datetime: true - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block f_users_gender: FilterBlock { - label: 'Users Gender' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce - field: r(ecommerce_users.gender) - } - default { - operator: 'is' - value: [] - } - } - view: CanvasLayout { - label: 'View 1' - width: 1540 - height: 4460 - grid_size: 20 - block hd1 { - position: pos(1320, 20, 180, 60) - } - block hd2 { - position: pos(180, 360, 640, 60) - } - block hd3 { - position: pos(0, 0, 1540, 200) - layer: -1 - } - block t2 { - position: pos(40, 100, 660, 60) - } - block v1 { - position: pos(60, 800, 1420, 380) - } - block v2 { - position: pos(80, 460, 300, 140) - } - block v2_dup_dup { - position: pos(440, 2300, 380, 500) - } - block v6 { - position: pos(840, 2300, 680, 500) - } - block v7 { - position: pos(60, 3380, 1440, 440) - } - block v8 { - position: pos(380, 2960, 560, 400) - } - block v10 { - position: pos(80, 600, 320, 140) - } - block v12 { - position: pos(480, 440, 1000, 300) - layer: -1 - } - block f1 { - position: pos(80, 3020, 260, 40) - } - block t5 { - position: pos(40, 320, 1460, 80) - } - block t6 { - position: pos(40, 1300, 1460, 80) - } - block t8 { - position: pos(60, 2860, 1460, 80) - } - block t9 { - position: pos(80, 2980, 260, 40) - } - block t10 { - position: pos(920, 100, 180, 60) - } - block t11 { - position: pos(1120, 100, 180, 60) - } - block t12 { - position: pos(1320, 100, 180, 60) - } - block v13 { - position: pos(40, 1380, 720, 460) - } - block t26 { - position: pos(60, 2960, 300, 120) - layer: -2 - } - block t28 { - position: pos(80, 3260, 260, 40) - } - block f2 { - position: pos(80, 3300, 260, 40) - } - block f3 { - position: pos(80, 3160, 260, 40) - } - block t32 { - position: pos(80, 3120, 260, 40) - layer: 1 - } - block v15 { - position: pos(960, 2960, 560, 400) - } - block v16 { - position: pos(780, 1380, 720, 460) - } - block t38 { - position: pos(0, 4400, 1540, 180) - layer: -1 - } - block t39 { - position: pos(60, 3860, 200, 80) - } - block t40 { - position: pos(1120, 4440, 400, 120) - } - block t47 { - position: pos(1420, 1240, 80, 100) - layer: 1 - } - block t49 { - position: pos(40, 780, 1460, 420) - layer: -2 - } - block t51 { - position: pos(1440, 2820, 80, 100) - layer: 1 - } - block t52 { - position: pos(460, 420, 1040, 340) - layer: -2 - } - block t53 { - position: pos(40, 420, 400, 340) - layer: -2 - } - block t55 { - position: pos(60, 3100, 300, 120) - layer: -1 - } - block t56 { - position: pos(60, 3240, 300, 120) - layer: -1 - } - block v17 { - position: pos(40, 1860, 1480, 420) - } - block v18 { - position: pos(60, 3820, 1480, 500) - } - block p1 { - position: pos(1300, 2960, 220, 60) - layer: 2 - } - block v19 { - position: pos(40, 2300, 380, 500) - layer: 3 - } - block f_users_gender { - position: pos(1160, 220, 300, 80) - layer: -1 - } - } - settings { - timezone: 'America/Los_Angeles' - cache_duration: 10 - } - interactions: [ - FilterInteraction { - from: 'f1' - to: [ - CustomMapping { - block: 'f_users_gender' - disabled: true - } - ] - }, - FilterInteraction { - from: 'f2' - to: [ - CustomMapping { - block: 'f_users_gender' - disabled: true - } - ] - }, - FilterInteraction { - from: 'f3' - to: [ - CustomMapping { - block: 'f_users_gender' - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_users_gender' - to: [ - CustomMapping { - block: [ - 'f1', - 'f2', - 'f3' - ] - disabled: true - } - ] - }, - PopInteraction { - from: 'p1' - to: [ - CustomMapping { - block: 'v15' - field: r(order_master.order_created_at) - } - ] - } - ] -} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce.thang.dataset.aml b/team-folders/Thang/ecommerce.thang.dataset.aml deleted file mode 100644 index c4a295b..0000000 --- a/team-folders/Thang/ecommerce.thang.dataset.aml +++ /dev/null @@ -1,69 +0,0 @@ -Dataset ecommerce { - label: 'ecommerce2' - description: '' - data_source_name: 'movies_lens' - models: [ - ecommerce_orders2, - ecommerce_users2 - ] - relationships: [ - relationship(ecommerce_orders2.user_id > ecommerce_users2.id, true) - ] - metric avg_delivered_orders_per_user { - label: "Avg Delivered Orders Per User" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2.completed_orders_count - / ecommerce_users2.total_users;; - } - metric high_value_users { - label: "High value users" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2 -| group(ecommerce_users2.id) -| filter( - count(ecommerce_orders2.id) - | where(ecommerce_orders2.status == 'delivered') - >= 20 - ) -| count();; - format: "" - } - metric medium_value_user { - label: "Medium Value User" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2 -| filter(ecommerce_orders2.status == 'delivered') -| group(ecommerce_users2.id) -| filter(count(ecommerce_orders2.id) >= 5 and count(ecommerce_orders2.id) <= 19) -| count() -;; - } - metric low_value_user { - label: "Low Value User" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2 -| group(ecommerce_users2.id) -| filter( - count(ecommerce_orders2.id) - | where(ecommerce_orders2.status == 'delivered') - <= 2 - ) -| count();; - } - dimension dimension_0df1960 { - label: "Concat field" - type: "text" - hidden: false - description: "" - definition: @aql concat(cast(ecommerce_orders2.id, 'text'), " ", ecommerce_orders2.status);; - model: ecommerce_orders2 - } -} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_dashboard_thang.page.aml b/team-folders/Thang/ecommerce_dashboard_thang.page.aml deleted file mode 100644 index 7f690f0..0000000 --- a/team-folders/Thang/ecommerce_dashboard_thang.page.aml +++ /dev/null @@ -1,751 +0,0 @@ -Dashboard ecommerce_dashboard_thang { - title: 'Ecommerce. Customer Order Behavior Overview. Thang' - description: '' - owner: 'thang.lk@holistics.io' - block title: TextBlock { - content: @md Customer Order Behavior Overview;; - } - block v_noyg: VizBlock { - label: 'Order created in Dec 2022' - viz: DataTable { - dataset: ecommerce - filter { - field: r(ecommerce_orders2.created_at) - operator: 'matches' - value: 'dec 2022' - } - fields: [ - VizFieldFull { - ref: r(ecommerce_orders2.created_at) - format { - type: 'datetime' - } - }, - VizFieldFull { - ref: r(ecommerce_users2.full_name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_users2.email) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_xita: VizBlock { - label: 'Number of orders place by each user' - viz: DataTable { - dataset: ecommerce - fields: [ - VizFieldFull { - ref: r(ecommerce_users2.full_name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_orders2.all_orders_count) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_up3p: VizBlock { - label: 'Top customer by successful orders' - viz: DataTable { - dataset: ecommerce - fields: [ - VizFieldFull { - ref: r(ecommerce_users2.full_name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_users2.email) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_orders2.delivered_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_delivered_orders_count_1' - }, - VizFieldFull { - ref: r(ecommerce_orders2.all_orders_count) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - sorts: [ - SortSetting { - key: 'custom_delivered_orders_count_1' - direction: 'desc' - } - ] - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_o1kl: VizBlock { - label: 'Low value user → onboarding, trust, education' - viz: DataTable { - dataset: ecommerce - filter { - field: r(ecommerce_orders2.delivered_orders_count) - operator: 'less_than' - value: '2' - } - fields: [ - VizFieldFull { - ref: r(ecommerce_users2.full_name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_users2.email) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_orders2.delivered_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_delivered_orders_count_1' - }, - VizFieldFull { - ref: r(ecommerce_orders2.all_orders_count) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - sorts: [ - SortSetting { - key: 'custom_delivered_orders_count_1' - direction: 'desc' - } - ] - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_5iy6: VizBlock { - label: 'Which Age Groups Complete More Orders?' - description: 'Each dot represents an age group' - viz: ScatterChart { - dataset: ecommerce - filter { - field: r(ecommerce_users2.age_group) - operator: 'is' - value: '3. From 30 to 39' - } - x_col: VizFieldFull { - ref: r(ecommerce_orders2.delivered_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - y_col: VizFieldFull { - ref: r(ecommerce_users2.total_users) - format { - type: 'number' - pattern: 'inherited' - } - } - group_col: VizFieldFull { - ref: r(ecommerce_users2.age_group) - format { - type: 'text' - } - } - settings { - row_limit: 5000 - } - } - } - block v_inr6: VizBlock { - label: 'Total Delivered Orders' - viz: DataTable { - dataset: ecommerce - fields: [ - VizFieldFull { - label: 'Total Delivered Orders' - ref: r(ecommerce_orders2.delivered_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_570z: VizBlock { - label: 'Avg Delivered Orders Per User' - viz: MetricKpi { - dataset: ecommerce - value: VizFieldFull { - ref: r(ecommerce.avg_delivered_orders_per_user) - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_ch4j: VizBlock { - label: 'High value users' - viz: DataTable { - dataset: ecommerce - filter { - field: r(ecommerce_orders2.delivered_orders_count) - operator: 'greater_than' - value: '20' - } - fields: [ - VizFieldFull { - ref: r(ecommerce_users2.full_name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_orders2.delivered_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_delivered_orders_count_1' - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_k1c5: VizBlock { - label: 'User Segmentation by Order' - viz: BarChart { - dataset: ecommerce - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce.low_value_user) - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color_palette: 0 - } - } - series { - field: VizFieldFull { - ref: r(ecommerce.medium_value_user) - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color_palette: 0 - } - } - series { - field: VizFieldFull { - ref: r(ecommerce.high_value_users) - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color_palette: 0 - } - } - } - settings { - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_1fcq: VizBlock { - label: 'Sign Up Date and Last Name' - viz: DataTable { - dataset: ecommerce - fields: [ - VizFieldFull { - ref: r(ecommerce_users2.sign_up_date) - format { - type: 'date' - } - }, - VizFieldFull { - ref: r(ecommerce_users2.last_name) - format { - type: 'text' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block f_orders_status: FilterBlock { - label: 'Orders Status' - type: 'field' - source: FieldFilterSource { - dataset: ecommerce - field: r(ecommerce_orders2.status) - } - default { - operator: 'is' - value: 'delivered' - } - settings { - drillthrough: Drillthrough { - enabled: true - sources: [ - CustomDrillthroughSource { - sources: [ - '_0_ecommerce_dashboard_30' - ] - } - ] - } - } - } - block p_period_comparison: PopBlock { - label: 'Period Comparison' - default { - type: 'relative' - duration: 1 - granularity: 'year' - } - } - block d_date_drill: DateDrillBlock { - label: 'Date Drill' - } - block f_orders_id: FilterBlock { - label: 'Orders Id' - type: 'field' - source: FieldFilterSource { - dataset: ecommerce - field: r(ecommerce_orders2.id) - } - default { - operator: 'is' - value: [] - } - settings { - drillthrough: Drillthrough { - enabled: true - sources: [ - AutoDrillthroughSource { - } - ] - } - } - } - block f_users_gender: FilterBlock { - label: 'Users Gender' - type: 'field' - source: FieldFilterSource { - dataset: ecommerce - field: r(ecommerce_users2.gender) - } - default { - operator: 'is' - value: 'm' - } - settings { - input_type: 'multiple' - } - } - block f_orders_status_bnp2: FilterBlock { - label: 'Orders Status' - type: 'field' - source: FieldFilterSource { - dataset: ecommerce - field: r(ecommerce_orders2.status) - } - default { - operator: 'is' - value: [] - } - } - - view: TabLayout { - label: 'View 1' - tab view_1: CanvasLayout { - label: 'Tab 1' - width: 1300 - height: 3470 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - block v_noyg { - position: pos(660, 1360, 620, 420) - layer: 1 - } - block v_xita { - position: pos(20, 1360, 620, 420) - layer: 2 - } - block v_up3p { - position: pos(660, 920, 620, 420) - layer: 4 - } - block v_o1kl { - position: pos(20, 1800, 620, 420) - layer: 6 - } - block v_5iy6 { - position: pos(20, 480, 620, 420) - layer: 8 - } - block v_inr6 { - position: pos(20, 310, 620, 160) - layer: 10 - } - block v_570z { - position: pos(660, 300, 620, 160) - layer: 11 - } - block v_ch4j { - position: pos(20, 920, 620, 420) - layer: 6 - } - block v_k1c5 { - position: pos(660, 480, 620, 420) - layer: 12 - } - block v_1fcq { - position: pos(660, 1800, 620, 420) - layer: 13 - } - block f_orders_status { - position: pos(40, 210, 300, 80) - layer: 12 - } - block p_period_comparison { - position: pos(400, 190, 300, 80) - layer: 12 - } - block d_date_drill { - position: pos(740, 190, 300, 80) - layer: 11 - } - block f_orders_id { - position: pos(1060, 190, 300, 80) - layer: 12 - } - block f_users_gender { - position: pos(600, 100, 300, 80) - layer: 12 - } - block f_orders_status_bnp2 { - position: pos(410, 660, 300, 80) - layer: 12 - } - mobile { - mode: 'auto' - } - } - } - interactions: [ - FilterInteraction { - from: 'v_noyg' - to: [ - CustomMapping { - block: [ - 'v_5iy6', - 'v_inr6', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_xita' - to: [ - CustomMapping { - block: [ - 'v_5iy6', - 'v_inr6', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_up3p' - to: [ - CustomMapping { - block: [ - 'v_5iy6', - 'v_inr6', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_o1kl' - to: [ - CustomMapping { - block: [ - 'v_5iy6', - 'v_inr6', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_5iy6' - to: [ - CustomMapping { - block: [ - 'v_noyg', - 'v_xita', - 'v_up3p', - 'v_o1kl', - 'v_inr6', - 'v_ch4j', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_inr6' - to: [ - CustomMapping { - block: [ - 'v_noyg', - 'v_xita', - 'v_up3p', - 'v_o1kl', - 'v_5iy6', - 'v_ch4j', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_570z' - to: [ - CustomMapping { - block: 'v_k1c5' - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_ch4j' - to: [ - CustomMapping { - block: [ - 'v_5iy6', - 'v_inr6', - 'v_k1c5' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_k1c5' - to: [ - CustomMapping { - block: [ - 'v_noyg', - 'v_xita', - 'v_up3p', - 'v_o1kl', - 'v_5iy6', - 'v_inr6', - 'v_570z', - 'v_ch4j' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_orders_status' - to: [ - CustomMapping { - block: [ - 'f_orders_id', - 'f_users_gender', - 'f_orders_status_bnp2' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_orders_id' - to: [ - CustomMapping { - block: [ - 'f_orders_status', - 'f_users_gender', - 'f_orders_status_bnp2' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_users_gender' - to: [ - CustomMapping { - block: [ - 'f_orders_status', - 'f_orders_id', - 'f_orders_status_bnp2' - ] - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_orders_status_bnp2' - to: [ - CustomMapping { - block: [ - 'f_orders_status', - 'f_orders_id', - 'f_users_gender' - ] - disabled: true - } - ] - }, - PopInteraction { - from: 'p_period_comparison' - to: [ - CustomMapping { - block: [ - 'v_noyg', - 'v_xita', - 'v_up3p', - 'v_o1kl', - 'v_inr6', - 'v_570z', - 'v_ch4j', - 'v_k1c5' - ] - field: r(ecommerce_orders2.created_at) - }, - CustomMapping { - block: 'v_1fcq' - field: r(ecommerce_users2.sign_up_date) - } - ] - }, - DateDrillInteraction { - from: 'd_date_drill' - to: [ - CustomMapping { - block: 'v_noyg' - field: r(ecommerce_orders2.created_at) - }, - CustomMapping { - block: 'v_1fcq' - field: r(ecommerce_users2.sign_up_date) - } - ] - } - ] - theme: H.themes.classic -} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_orders.model.aml b/team-folders/Thang/ecommerce_orders.model.aml deleted file mode 100644 index eaa5840..0000000 --- a/team-folders/Thang/ecommerce_orders.model.aml +++ /dev/null @@ -1,60 +0,0 @@ -Model ecommerce_orders2 { - type: 'table' - label: 'Orders' - description: '' - data_source_name: 'demodb' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension status { - label: 'Status' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.status }};; - } - dimension created_at { - label: 'Created At' - type: 'datetime' - hidden: false - definition: @sql {{ #SOURCE.created_at }};; - } - dimension user_id { - label: 'User Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.user_id }};; - } - dimension discount { - label: 'Discount' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.discount }};; - } - dimension delivery_attempts { - label: 'Delivery Attempts' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.delivery_attempts }};; - } - - owner: 'thang.lk@holistics.io' - table_name: '"ecommerce"."orders"' - measure all_orders_count { - label: "All Orders Count" - type: "text" - description: "Total Orders" - definition: @sql count({{id}});; - aggregation_type: "custom" - } - measure delivered_orders_count { - label: "Delivered Orders Count" - type: "text" - description: "" - hidden: false - definition: @sql COUNT(CASE WHEN {{ status }} = 'delivered' THEN {{ id }} ELSE NULL END);; - aggregation_type: "custom" - } -} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_users.model.aml b/team-folders/Thang/ecommerce_users.model.aml deleted file mode 100644 index a88b472..0000000 --- a/team-folders/Thang/ecommerce_users.model.aml +++ /dev/null @@ -1,94 +0,0 @@ -Model ecommerce_users2 { - type: 'table' - label: 'Users' - description: '' - data_source_name: 'demodb' - dimension id { - label: 'Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.id }};; - } - dimension sign_up_date { - label: 'Sign Up Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.sign_up_date }};; - } - dimension sign_up_at { - label: 'Sign Up At' - type: 'datetime' - hidden: false - definition: @sql {{ #SOURCE.sign_up_at }};; - } - dimension first_name { - label: 'First Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.first_name }};; - } - dimension last_name { - label: 'Last Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.last_name }};; - } - dimension email { - label: 'Email' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.email }};; - } - dimension birth_date { - label: 'Birth Date' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.birth_date }};; - } - dimension gender { - label: 'Gender' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.gender }};; - } - dimension city_id { - label: 'City Id' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.city_id }};; - } - dimension full_name { - label: 'Full Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.full_name }};; - } - dimension age { - label: "Age" - type: "number" - description: "" - definition: @sql date_part('year', current_date) - date_part('year', {{ birth_date }});; - } - dimension age_group { - label: "Age Group" - type: "text" - description: "" - definition: @sql case - when {{ age }} < 20 then '1. Under 20' - when {{ age }} >= 20 and {{ age }} < 30 then '2. From 20 to 29' - when {{ age }} >= 30 and {{ age }} < 40 then '3. From 30 to 39' - when {{ age }} >= 40 then '4. 40 and up' -end;; - } - - owner: 'thang.lk@holistics.io' - table_name: '"ecommerce"."users"' - measure total_users { - label: "Total users" - type: "number" - description: "" - hidden: false - definition: @aql count(ecommerce_users2.id);; - aggregation_type: "custom" - } -} \ No newline at end of file diff --git a/team-folders/Vux/vux-test.page.aml b/team-folders/Vux/vux-test.page.aml deleted file mode 100644 index 55cedb0..0000000 --- a/team-folders/Vux/vux-test.page.aml +++ /dev/null @@ -1,173 +0,0 @@ -Dashboard vux_test { - title: 'vux-test' - description: '' - owner: 'vu.dq@holistics.io' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v_a79o: VizBlock { - label: 'Revenue Percentage by Status' - viz: PieChart { - dataset: ecom_dataset_vux - calculation revenue_percentage { - label: 'Revenue Percentage' - formula: @aql (order_master.revenue * 1.0) -/ (order_master.revenue | of_all(order_master, keep_filters: true));; - calc_type: 'measure' - data_type: 'number' - } - legend: VizFieldFull { - ref: r(order_master.status) - format { - type: 'text' - } - } - series { - field: VizFieldFull { - ref: 'revenue_percentage' - format { - type: 'number' - pattern: '#,###%' - } - } - } - settings { - display_as_donut: true - row_limit: 5000 - show_percentage: true - data_label_position: 'none' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_no1k: VizBlock { - label: 'Revenue by Continent' - viz: ColumnChart { - dataset: ecom_dataset_vux - calculation revenue_percentage { - label: 'Revenue Percentage' - formula: @aql (order_master.revenue * 1.0) -/ (order_master.revenue | of_all(order_master, keep_filters: true));; - calc_type: 'measure' - data_type: 'number' - } - legend: VizFieldFull { - ref: r(ecommerce_countries.continent_name) - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(order_master.revenue) - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color_palette: 'seq-magma' - point { - value: 'Asia' - color: '#FBFDBF' - } - point { - value: 'Europe' - color: '#FB8761' - } - point { - value: 'North America' - color: '#B5367A' - } - point { - value: 'Oceania' - color: '#4F127B' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block f_order_master_order_created_at: FilterBlock { - label: 'Order Master Order Created At' - type: 'field' - source: FieldFilterSource { - dataset: ecom_dataset_vux - field: r(order_master.order_created_at) - } - default { - operator: 'matches' - value: '$H_NIL$' - } - } - - view: TabLayout { - label: 'View 1' - tab view_1: CanvasLayout { - label: 'Tab 1' - width: 640 - height: 600 - grid_size: 20 - auto_expand_vertically: true - block v_a79o { - position: pos(20, 120, 600, 460) - } - block f_order_master_order_created_at { - position: pos(20, 20, 300, 80) - } - mobile { - mode: 'auto' - } - } - tab tab_d9q1: CanvasLayout { - label: 'Tab 2' - width: 1300 - height: 800 - grid_size: 20 - auto_expand_vertically: true - mobile { - mode: 'auto' - } - block v_no1k { - position: pos(120, 120, 600, 460) - } - block f_order_master_order_created_at { - position: pos(20, 20, 300, 80) - } - } - } - - theme: H.themes.vanilla - interactions: [ - FilterInteraction { - from: 'v_a79o' - to: [ - CustomMapping { - block: 'v_no1k' - disabled: true - } - ] - }, - FilterInteraction { - from: 'v_no1k' - to: [ - CustomMapping { - block: 'v_a79o' - disabled: true - } - ] - } - ] -} \ No newline at end of file diff --git a/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml b/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml index 4378f36..c61292f 100644 --- a/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml +++ b/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml @@ -1,6 +1,5 @@ Dashboard onboarding_dashboard { title: 'Onboarding Dashboard' - owner: 'vy@holistics.io' description: '' block title: TextBlock { content: @md # Order by Month Dashboard ;; diff --git a/team-folders/khai/datasets/khai_ecommerce.dataset.aml b/team-folders/khai/datasets/khai_ecommerce.dataset.aml index 0f6b841..e6e17c0 100644 --- a/team-folders/khai/datasets/khai_ecommerce.dataset.aml +++ b/team-folders/khai/datasets/khai_ecommerce.dataset.aml @@ -70,7 +70,7 @@ Dataset khai_ecommerce { definition: @aql H.current_user.country_attribute;; model: countries } - dimension is_country_ { + dimension is_country { label: "Is Country" type: "truefalse" description: "" diff --git a/team-folders/khai/khai_test.page.aml b/team-folders/khai/khai_test.page.aml index 419632b..66c09c3 100644 --- a/team-folders/khai/khai_test.page.aml +++ b/team-folders/khai/khai_test.page.aml @@ -374,7 +374,7 @@ Dashboard khai_test { type: 'field' source: FieldFilterSource { dataset: khai_ecommerce - field: r(khai_ecommerce, countries.is_country_) + field: r(khai_ecommerce, countries.is_country) } default { operator: 'is' diff --git a/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml b/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml index ccb3f85..5aab5d7 100644 --- a/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml +++ b/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml @@ -42,7 +42,7 @@ Dashboard dynamic_datasouce_test { view: CanvasLayout { label: 'View 1' - height: 1120 + height: 840 grid_size: 20 block title { position: pos(20, 20, 1160, 60) diff --git a/team-folders/tai/dashboards/tai_cohort_retention.page.aml b/team-folders/tai/dashboards/tai_cohort_retention.page.aml deleted file mode 100644 index 3450b38..0000000 --- a/team-folders/tai/dashboards/tai_cohort_retention.page.aml +++ /dev/null @@ -1,388 +0,0 @@ -Dashboard tai_cohort_retention { - title: 'Cohort Retention (from Khai)' - - view: CanvasLayout { - label: 'View 1' - height: 1840 - grid_size: 20 - mobile { - mode: 'auto' - } - block v1 { - position: pos(20, 20, 2180, 520) - layer: 1 - } - block v_grip { - position: pos(40, 640, 300, 520) - } - block v_xt6f { - position: pos(340, 640, 1520, 520) - } - width: 2220 - } - - theme: H.themes.vanilla - block v1: VizBlock { - label: 'Cohort Retention' - viz: PivotTable { - dataset: khai_ecommerce - calculation first_acquired_at { - label: 'First Acquired At' - formula: @aql dimensionalize( - min(orders.created_at), - users.id -);; - calc_type: 'dimension' - data_type: 'datetime' - model: users - } - calculation months_from_first_orders { - label: 'Months From First Orders' - formula: @aql date_diff( - 'month', - users.first_acquired_at, - orders.created_at -);; - calc_type: 'dimension' - data_type: 'number' - model: orders - } - calculation total_users_retention { - label: 'Total Users Retention' - formula: @aql (total_users * 1.0) -/ -(total_users | of_all(orders.months_from_first_orders));; - calc_type: 'measure' - data_type: 'number' - } - filter { - field: ref('users', 'first_acquired_at') - operator: 'matches' - value: 'last year to current year' - } - theme { - table { - general { - borders { - outer: true - vertical: true - } - } - } - } - rows: [ - VizFieldFull { - ref: ref('users', 'first_acquired_at') - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: ref('orders', 'months_from_first_orders') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - values: [ - VizFieldFull { - ref: 'total_users_retention' - format { - type: 'number' - pattern: '#,###0.00%' - group_separator: ',' - decimal_separator: '.' - } - uname: 'custom_total_users_retention' - }, - VizFieldFull { - ref: r(khai_ecommerce.total_users) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - conditional_formats: [ - ConditionalFormat { - key: 'custom_total_users_retention' - format: ScaleFormat { - min { - value: 0.2 - color: '#FFFFFF' - } - max { - value: 0.7 - color: '#47B881' - } - } - } - ] - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - column_styles: [ - ColumnStyle { - key: 'custom_total_users_retention' - width: 74 - } - ] - } - } - } - block v_grip: VizBlock { - label: 'Cohort Retention copy' - viz: PivotTable { - dataset: khai_ecommerce - calculation first_acquired_at { - label: 'First Acquired At' - formula: @aql dimensionalize( - min(orders.created_at), - users.id -);; - calc_type: 'dimension' - data_type: 'datetime' - model: users - } - calculation months_from_first_orders { - label: 'Months From First Orders' - formula: @aql date_diff( - 'month', - users.first_acquired_at, - orders.created_at -);; - calc_type: 'dimension' - data_type: 'number' - model: orders - } - calculation total_users_retention { - label: 'Total Users Retention' - formula: @aql (total_users * 1.0) -/ -(total_users | of_all(orders.months_from_first_orders));; - calc_type: 'measure' - data_type: 'number' - } - filter { - field: ref('users', 'first_acquired_at') - operator: 'matches' - value: 'last year to current year' - } - filter { - field: ref('orders', 'months_from_first_orders') - operator: 'less_than' - value: '1' - } - theme { - table { - general { - borders { - outer: true - vertical: true - } - } - } - } - rows: [ - VizFieldFull { - ref: ref('users', 'first_acquired_at') - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: ref('orders', 'months_from_first_orders') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - values: [ - VizFieldFull { - ref: 'total_users_retention' - format { - type: 'number' - pattern: '#,###0.00%' - group_separator: ',' - decimal_separator: '.' - } - uname: 'custom_total_users_retention' - }, - VizFieldFull { - ref: r(khai_ecommerce.total_users) - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_total_users' - } - ] - settings { - conditional_formats: [ - ConditionalFormat { - key: 'custom_total_users_retention' - format: ScaleFormat { - min { - value: 0.2 - color: '#FFFFFF' - } - max { - value: 0.7 - color: '#47B881' - } - } - } - ] - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - column_styles: [ - ColumnStyle { - key: 'custom_total_users_retention' - width: 62 - }, - ColumnStyle { - key: 'custom_total_users' - width: 91 - } - ] - } - } - settings { - hide_label: true - } - } - block v_xt6f: VizBlock { - label: 'Cohort Retention copy copy' - viz: PivotTable { - dataset: khai_ecommerce - calculation first_acquired_at { - label: 'First Acquired At' - formula: @aql dimensionalize( - min(orders.created_at), - users.id -);; - calc_type: 'dimension' - data_type: 'datetime' - model: users - } - calculation months_from_first_orders { - label: 'Months From First Orders' - formula: @aql date_diff( - 'month', - users.first_acquired_at, - orders.created_at -);; - calc_type: 'dimension' - data_type: 'number' - model: orders - } - calculation total_users_retention { - label: 'Total Users Retention' - formula: @aql (total_users * 1.0) -/ -(total_users | of_all(orders.months_from_first_orders));; - calc_type: 'measure' - data_type: 'number' - } - filter { - field: ref('users', 'first_acquired_at') - operator: 'matches' - value: 'last year to current year' - } - filter { - field: ref('orders', 'months_from_first_orders') - operator: 'greater_than' - value: '0' - } - theme { - table { - general { - borders { - outer: true - vertical: true - } - } - } - } - rows: [ - VizFieldFull { - ref: ref('users', 'first_acquired_at') - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - hidden: true - } - ] - columns: [ - VizFieldFull { - ref: ref('orders', 'months_from_first_orders') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - values: [ - VizFieldFull { - ref: 'total_users_retention' - format { - type: 'number' - pattern: '#,###0.00%' - group_separator: ',' - decimal_separator: '.' - } - uname: 'custom_total_users_retention' - } - ] - settings { - conditional_formats: [ - ConditionalFormat { - key: 'custom_total_users_retention' - format: ScaleFormat { - min { - value: 0.2 - color: '#FFFFFF' - } - max { - value: 0.7 - color: '#47B881' - } - } - } - ] - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - column_styles: [ - ColumnStyle { - key: 'custom_total_users_retention' - width: 111 - } - ] - } - } - settings { - hide_label: true - } - } -} \ No newline at end of file diff --git a/team-folders/tai/test_extend/tai_ecom.page.aml b/team-folders/tai/test_extend/tai_ecom.page.aml deleted file mode 100644 index 84fc7e5..0000000 --- a/team-folders/tai/test_extend/tai_ecom.page.aml +++ /dev/null @@ -1,1796 +0,0 @@ -// use lib -// use demo - -Dashboard tai_ecom { - title: 'Ecommerce Dashboard - Pro' - - block hd1: TextBlock { - content: @md - demo;; - } - block hd2: TextBlock { - content: @md
-

Ecommerce Dashboard

-
;; - } - block hd3: TextBlock { - content: @md

;; - theme { - background { - bg_image: 'linear-gradient(97deg, #051527 20%, #071945 80%)' - } - } - } - block t2: TextBlock { - content: @md
-

-This dashboard tracks the KPIs of all managers for their respective teams. This will also be presented in our monthly presentation to our board and investors. -

- -
;; - } - block v1: VizBlock { - label: ' KPI Overview' - viz: PivotTable { - dataset: demo_ecommerce - filter { - field: ref('dim_dates', 'date_key') - operator: 'matches' - value: 'last 1 years to today' - } - columns: [ - VizFieldFull { - ref: ref('dim_dates', 'date_key') - transformation: 'datetrunc year' - format { - type: 'date' - pattern: 'yyyy' - } - } - ] - values: [ - VizFieldFull { - ref: ref('ecommerce_orders', 'total_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_total_orders_count' - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'cancelled_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'refunded_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'delivered_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'nmv') - format { - type: 'number' - pattern: '[$$]#,###0.00' - } - }, - VizFieldFull { - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '[$$]#,###0.00' - } - }, - VizFieldFull { - ref: ref('order_master', 'aov') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - value_labels_position { - placement: 'rows' - } - column_styles: [ - ColumnStyle { - key: 'custom_total_orders_count' - width: 278 - } - ] - } - } - settings { - hide_label: true - } - } - block v2: VizBlock { - label: 'GMV' - viz: MetricKpi { - dataset: demo_ecommerce - // calculation f_2fb1cc3 { - // label: 'GMT last year' - // formula: @aml order_master.gmv * 0.87;; - // calc_type: 'measure' - // data_type: 'number' - // } - filter { - field: ref('order_master', 'order_created_at') - operator: 'matches' - value: '2023' - } - value: VizFieldFull { - label: 'Gross Merchandise Value' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '[$$]#,###' - } - } - compare_value: VizPopSettings { - field: ref('order_master', 'order_created_at') - duration: 1 - granularity: 'year' - } - } - settings { - hide_label: true - } - } - block v2_dup_dup: VizBlock { - label: 'Top selling product category' - viz: PieChart { - dataset: demo_ecommerce - filter { - field: ref('order_master', 'order_created_at') - operator: 'matches' - value: '2023' - } - legend: VizFieldFull { - ref: ref('map_categories', 'parent_category') - format { - type: 'text' - } - } - series { - field: VizFieldFull { - label: ' ' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '[$$]#,###' - } - } - settings { - point { - value: 'Clothes' - color: '#255DD4' - } - point { - value: 'Groceries' - color: '#18A59E' - } - point { - value: 'Skin Care' - color: '#F2B602' - } - point { - value: 'Home Furniture' - color: '#AF7DED' - } - point { - value: 'Mobiles & Tablets' - color: '#A50E43' - } - point { - value: 'Home Entertainment' - color: '#07326C' - } - } - } - settings { - display_as_donut: true - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v6: VizBlock { - label: 'Top selling products' - viz: DataTable { - dataset: demo_ecommerce - calculation f_28374b6 { - label: 'Product Image' - formula: @aml concat('');; - calc_type: 'dimension' - data_type: 'text' - } - filter { - field: ref('order_master', 'order_created_at') - operator: 'matches' - value: '2023' - } - fields: [ - VizFieldFull { - label: 'Product Name' - ref: ref('ecommerce_products', 'product_google_link') - format { - type: 'html' - } - uname: 'ecommerce_products_product_google_link' - }, - VizFieldFull { - ref: 'f_28374b6' - format { - type: 'html' - } - uname: 'f_28374b6_text' - }, - VizFieldFull { - ref: ref('order_master', 'discount') - aggregation: 'avg' - format { - type: 'number' - pattern: '#,###%' - } - }, - VizFieldFull { - label: 'Quantity Sold' - ref: ref('order_master', 'order_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - label: 'GMV' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '[$$]#,###' - } - } - ] - settings { - pagination_size: 100 - row_height: 'multiple_lines' - sorts: [ - SortSetting { - field_index: 4 - direction: 'desc' - } - ] - conditional_formats: [ - ConditionalFormat { - ref: ref('order_master', 'gmv') - format: ScaleFormat { - min { - value: 0 - color: '#E9EFFB' - } - max { - value: 100000 - color: '#255DD4' - } - } - }, - ConditionalFormat { - ref: ref('order_master', 'order_count') - format: ScaleFormat { - min { - value: 0 - color: '#FFFFFF' - } - max { - value: 600 - color: '#47B881' - } - } - } - ] - column_width { - manual_widths: [ - ColumnWidth { - key: 'ecommerce_products_product_google_link' - width: 145 - }, - ColumnWidth { - key: 'f_28374b6_text' - width: 99 - } - ] - } - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v7: VizBlock { - label: 'Cohort Retention' - viz: RetentionHeatmap { - dataset: demo_ecommerce - filter { - field: ref('user_cohort_retention', 'cohort_month') - operator: 'matches' - value: '2023' - } - cohort: VizFieldFull { - label: 'Cohort Month' - ref: ref('user_cohort_retention', 'cohort_month') - transformation: 'datetrunc month' - format { - type: 'date' - } - } - cohort_size: VizFieldFull { - ref: ref('user_cohort_retention', 'cohort_size') - format { - type: 'number' - pattern: 'inherited' - } - } - cohort_duration: VizFieldFull { - ref: ref('user_cohort_retention', 'relative_month_disp') - format { - type: 'text' - } - } - cohort_value: VizFieldFull { - ref: ref('user_cohort_retention', 'active_users_count') - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - block users_vs_orders_growth: VizBlock { - label: 'Users vs Orders Growth' - viz: CombinationChart { - dataset: demo_ecommerce - x_axis: VizFieldFull { - ref: ref('ecommerce_users', 'sign_up_date') - transformation: 'datetrunc quarter' - format { - type: 'date' - } - } - y_axis { - series { - mark_type: 'column' - field: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#18A59E' - } - } - } - y_axis { - settings { - alignment: 'right' - } - series { - mark_type: 'line' - field: VizFieldFull { - ref: ref('order_master', 'delivered_orders_count') - format { - type: 'number' - } - } - settings { - color: '#255DD4' - line_interpolation: 'smooth' - } - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v10: VizBlock { - label: 'Total Users compared with Target Users' - viz: MetricKpi { - dataset: demo_ecommerce - calculation f_d80427a { - label: 'Target Users' - formula: @aml ecommerce_users.users_signed_up_count * 1.38;; - calc_type: 'measure' - data_type: 'number' - } - value: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: 'f_d80427a' - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - display_mode: 'progress' - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v12: VizBlock { - label: 'Daily GMV vs. 7-day Moving Average' - viz: CombinationChart { - dataset: demo_ecommerce - filter { - field: ref('order_master', 'order_created_at') - operator: 'matches' - value: '2023' - } - x_axis: VizFieldFull { - ref: ref('order_master', 'order_created_at') - transformation: 'datetrunc day' - format { - type: 'date' - pattern: 'LLL dd, yyyy' - } - } - y_axis { - series { - mark_type: 'line' - field: VizFieldFull { - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '#,###' - } - } - settings { - color: '#D1EDEC' - line_interpolation: 'smooth' - } - } - series { - mark_type: 'line' - field: VizFieldFull { - label: '7-day MovAvg of GMV' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '#,###' - } - analytic: MovingCalculationField { - type: 'avg' - order: 'row' - range { - previous: 7 - next: 0 - } - null_if_not_enough_values: true - } - } - settings { - color: '#18A59E' - line_interpolation: 'smooth' - } - } - } - settings { - legend_label: 'right' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - description: @md # Description -abc;; - } - block filter_by_country: FilterBlock { - label: 'Country' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce - field: ref('ecommerce_countries', 'name') - } - default { - operator: 'is' - value: [] - } - settings { - hide_label: true - input_type: 'nullable-single' - drillthrough: Drillthrough { - enabled: true - sources: [ - AutoDrillthroughSource { - } - ] - } - } - } - block t5: TextBlock { - content: @md

Overview

;; - } - block t6: TextBlock { - content: @md

Regional Analysis

;; - } - block t8: TextBlock { - content: @md

User Analysis

;; - } - block filter_by_country_text: TextBlock { - content: @md

Filter by Country

;; - } - block t10: TextBlock { - content: @md - - ;; - } - block t11: TextBlock { - content: @md - - ;; - } - block t12: TextBlock { - content: @md - - ;; - } - block v13: VizBlock { - label: 'GMV by Country' - viz: BarChart { - dataset: demo_ecommerce - legend: VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - } - y_axis { - settings { - axis_max: 12000000 - show_data_label_by: 'value' - } - series { - field: VizFieldFull { - label: ' ' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '#,###' - } - } - settings { - color: '#255DD4' - point { - value: 'India' - color: '#AF7DED' - } - point { - value: 'France' - color: '#18A59E' - } - point { - value: 'Germany' - color: '#07326C' - } - point { - value: 'Vietnam' - color: '#07326C' - } - point { - value: 'Australia' - color: '#255DD4' - } - point { - value: 'Indonesia' - color: '#A50E43' - } - point { - value: 'Singapore' - color: '#F2B602' - } - point { - value: 'South Korea' - color: '#E27712' - } - point { - value: 'United States' - color: '#18A59E' - } - point { - value: 'United Kingdom' - color: '#255DD4' - } - } - } - } - settings { - legend_label: 'left' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block filter_by_country_wrapper: TextBlock { - content: @md

;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block filter_by_age_group_text: TextBlock { - content: @md

Filter by Age Group

;; - } - block filter_by_age_group: FilterBlock { - label: 'Age Group' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce - field: ref('ecommerce_users', 'age_group') - } - default { - operator: 'is' - value: [] - } - settings { - hide_label: true - input_type: 'nullable-single' - drillthrough: Drillthrough { - enabled: true - sources: [ - AutoDrillthroughSource { - } - ] - } - } - } - block filter_by_city: FilterBlock { - label: 'City' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce - field: ref('ecommerce_cities', 'name') - } - default { - operator: 'is' - value: [] - } - settings { - hide_label: true - input_type: 'nullable-single' - drillthrough: Drillthrough { - enabled: true - sources: [ - AutoDrillthroughSource { - } - ] - } - } - } - block filter_by_city_text: TextBlock { - content: @md

Filter by City

;; - } - block v15: VizBlock { - label: 'Average Order Value over time' - viz: CombinationChart { - dataset: demo_ecommerce - filter { - field: ref('order_master', 'order_created_at') - operator: 'matches' - value: '2023' - } - x_axis: VizFieldFull { - ref: ref('order_master', 'order_created_at') - transformation: 'datetrunc week' - format { - type: 'date' - pattern: 'wwww' - } - } - y_axis { - series { - mark_type: 'line' - field: VizFieldFull { - ref: ref('order_master', 'aov') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#18A59E' - } - } - } - settings { - pop { - field: ref('order_master', 'order_created_at') - duration: 1 - granularity: 'year' - show_growth_rate: true - } - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v16: VizBlock { - label: 'Sales Funnel' - viz: ConversionFunnel { - dataset: demo_ecommerce_users - breakdown_by: VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - } - values: [ - VizFieldFull { - ref: ref('ecommerce_users', 'users_signed_up_count') - format { - type: 'number' - } - }, - VizFieldFull { - label: 'Users Purchased' - ref: ref('user_facts_aggr', 'buyers_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - label: 'Users Repeated Purchased' - ref: ref('user_facts_aggr', 'repeated_buyers_count') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - circle_color: '#18A59E' - columns_color: '#255DD4' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block t38: TextBlock { - content: @md

;; - theme { - background { - bg_image: 'linear-gradient(97deg, #051527 20%, #071945 80%)' - } - } - } - block t39: TextBlock { - content: @md - - demo - ;; - } - block t40: TextBlock { - content: @md - - - - -;; - } - // block t46: background_gray() - block t47: TextBlock { - content: @md
- - - - - - - - - -
;; - } - block t49: TextBlock { - content: @md
;; - } - block t51: TextBlock { - content: @md
- - - - - - - - - -
;; - } - block t52: TextBlock { - content: @md
;; - } - block t53: TextBlock { - content: @md
;; - } - block t54: TextBlock { - content: @md To embed external content;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block filter_by_city_wrapper: TextBlock { - content: @md

;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block filter_by_age_group_wrapper: TextBlock { - content: @md

;; - theme { - border { - border_width: 1 - border_radius: 6 - border_color: '#4896EA' - border_style: 'dashed' - } - background { - bg_color: '#E8F2FD' - } - } - } - block v17: VizBlock { - label: 'Total Users and Delivered Orders Count by Quarter Sign Up Date' - viz: PivotTable { - dataset: demo_ecommerce - filter { - field: ref('ecommerce_users', 'age_group') - operator: 'is_not' - value: '3. From 40 to 49' - } - rows: [ - VizFieldFull { - ref: ref('ecommerce_countries', 'continent_name') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - } - ] - columns: [ - VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: ref('order_master', 'revenue') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'order_count') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - frozen_columns: 0 - } - } - } - block v18: VizBlock { - label: 'Customer Info and Buying Behavior' - viz: DataTable { - dataset: demo_ecommerce - fields: [ - VizFieldFull { - ref: ref('ecommerce_users', 'full_name') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - }, - VizFieldFull { - ref: ref('ecommerce_countries', 'name') - format { - type: 'text' - } - uname: 'ecommerce_countries_name' - }, - VizFieldFull { - ref: ref('order_master', 'order_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_products', 'total_products') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'cancelled_order_ratio') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_cancelled_order_ratio' - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - frozen_columns: 0 - column_styles: [ - ColumnStyle { - key: 'ecommerce_countries_name' - width: 216 - }, - ColumnStyle { - key: 'custom_cancelled_order_ratio' - width: 180 - } - ] - } - } - } - block p1: PopBlock { - label: 'Compare with Period' - } - block v19: VizBlock { - label: 'Total Users and Total Users by Age Demographic and Gender' - viz: ColumnChart { - dataset: demo_ecommerce - theme { - - } - x_axis: VizFieldFull { - ref: ref('ecommerce_users', 'age_group') - format { - type: 'text' - } - } - legend: VizFieldFull { - ref: ref('ecommerce_users', 'gender') - format { - type: 'text' - } - } - y_axis { - series { - field: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#07326C' - point { - value: 'Male' - color: '#FB8761' - } - point { - value: 'Female' - color: '#64628c' - } - } - } - series { - field: VizFieldFull { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - break_by_legend: false - } - } - } - settings { - x_axis_show_null_datetime: true - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v20: VizBlock { - label: ' KPI Overview' - viz: PivotTable { - dataset: demo_ecommerce - filter { - field: ref('dim_dates', 'date_key') - operator: 'matches' - value: '12 months ago to last month end' - } - columns: [ - VizFieldFull { - ref: ref('dim_dates', 'date_key') - transformation: 'datetrunc year' - format { - type: 'date' - pattern: 'yyyy' - } - } - ] - values: [ - VizFieldFull { - ref: ref('ecommerce_orders', 'total_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - uname: 'custom_total_orders_count' - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'cancelled_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'refunded_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('ecommerce_orders', 'delivered_orders_count') - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: ref('order_master', 'nmv') - format { - type: 'number' - pattern: '[$$]#,###0.00' - } - }, - VizFieldFull { - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '[$$]#,###0.00' - } - }, - VizFieldFull { - ref: ref('order_master', 'aov') - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - aggregate_awareness { - enabled: true - debug_comments: true - } - value_labels_position { - placement: 'rows' - } - column_styles: [ - ColumnStyle { - key: 'custom_total_orders_count' - width: 322 - } - ] - } - } - settings { - hide_label: true - } - } - block v21: VizBlock { - label: ' KPI Overview' - viz: PivotTable { - dataset: demo_ecommerce - filter { - field: ref('dim_dates', 'date_key') - operator: 'matches' - value: 'last 1 years to today' - } - columns: [ - VizFieldFull { - ref: ref('dim_dates', 'date_key') - transformation: 'datetrunc year' - format { - type: 'date' - pattern: 'yyyy' - } - } - ] - values: [ - VizFieldFull { - label: '%∆ Total Orders Count (prev. 1y)' - ref: ref('ecommerce_orders', 'total_orders_count') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_total_orders_count' - }, - VizFieldFull { - label: '%∆ Cancelled Orders Count (prev. 1y)' - ref: ref('ecommerce_orders', 'cancelled_orders_count') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_cancelled_orders_count' - }, - VizFieldFull { - label: '%∆ Refunded Orders Count (prev. 1y)' - ref: ref('ecommerce_orders', 'refunded_orders_count') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_refunded_orders_count' - }, - VizFieldFull { - label: '%∆ Delivered Orders Count (prev. 1y)' - ref: ref('ecommerce_orders', 'delivered_orders_count') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_delivered_orders_count' - }, - VizFieldFull { - label: '%∆ Nmv (prev. 1y)' - ref: ref('order_master', 'nmv') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_nmv' - }, - VizFieldFull { - label: '%∆ Gmv (prev. 1y)' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_gmv' - }, - VizFieldFull { - label: '%∆ Aov (prev. 1y)' - ref: ref('order_master', 'aov') - format { - type: 'number' - pattern: '#,###%' - } - analytic: PeriodOverPeriodComparison { - time_dimension: ref('dim_dates', 'date_key') - display: 'percent_change' - comparison_period: 'relative to previous 1 year' - } - uname: 'custom_aov' - } - ] - settings { - conditional_formats: [ - ConditionalFormat { - key: 'custom_total_orders_count' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_total_orders_count' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_total_orders_count' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_cancelled_orders_count' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_cancelled_orders_count' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_cancelled_orders_count' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_refunded_orders_count' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_refunded_orders_count' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_refunded_orders_count' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_delivered_orders_count' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_delivered_orders_count' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_delivered_orders_count' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_nmv' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_nmv' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_nmv' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_gmv' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_gmv' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_gmv' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_aov' - format: SingleFormat { - condition { - operator: 'greater_than' - value: 0 - } - text_color: '#399367' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_aov' - format: SingleFormat { - condition { - operator: 'is' - value: 0 - } - text_color: '#B16920' - background_color: '#00000000' - } - }, - ConditionalFormat { - key: 'custom_aov' - format: SingleFormat { - condition { - operator: 'less_than' - value: 0 - } - text_color: '#BF0E08' - background_color: '#00000000' - } - } - ] - aggregate_awareness { - enabled: true - debug_comments: true - } - value_labels_position { - placement: 'rows' - } - column_styles: [ - ColumnStyle { - key: 'custom_total_orders_count' - width: 328 - } - ] - } - } - settings { - hide_label: true - } - } - view: CanvasLayout { - label: 'View 1' - width: 1540 - height: 4460 - grid_size: 20 - block hd1 { - position: pos(1320, 20, 180, 50) - } - block hd2 { - position: pos(40, 20, 640, 60) - } - block hd3 { - position: pos(0, 0, 1540, 200) - layer: -1 - } - block t2 { - position: pos(40, 100, 660, 50) - } - block v1 { - position: pos(60, 700, 760, 380) - } - block v2 { - position: pos(80, 360, 300, 140) - } - block v2_dup_dup { - position: pos(440, 2200, 380, 500) - } - block v6 { - position: pos(840, 2200, 680, 500) - } - block v7 { - position: pos(60, 3280, 1440, 430) - } - block users_vs_orders_growth { - position: pos(380, 2860, 560, 400) - } - block v10 { - position: pos(80, 500, 320, 140) - } - block v12 { - position: pos(480, 340, 1000, 300) - layer: -1 - } - block filter_by_country { - position: pos(80, 2920, 260, 40) - } - block t5 { - position: pos(40, 220, 1460, 80) - } - block t6 { - position: pos(40, 1190, 1460, 80) - } - block t8 { - position: pos(60, 2760, 1460, 80) - } - block filter_by_country_text { - position: pos(80, 2880, 260, 40) - } - block t10 { - position: pos(920, 100, 180, 50) - } - block t11 { - position: pos(1120, 100, 180, 50) - } - block t12 { - position: pos(1320, 100, 180, 50) - } - block v13 { - position: pos(40, 1280, 720, 460) - } - block filter_by_country_wrapper { - position: pos(60, 2860, 300, 120) - layer: -2 - } - block filter_by_age_group_text { - position: pos(80, 3160, 260, 40) - } - block filter_by_age_group { - position: pos(80, 3200, 260, 40) - } - block filter_by_city { - position: pos(80, 3060, 260, 40) - } - block filter_by_city_text { - position: pos(80, 3020, 260, 40) - layer: 1 - } - block v15 { - position: pos(960, 2860, 560, 400) - } - block v16 { - position: pos(780, 1280, 720, 460) - } - block t38 { - position: pos(0, 4300, 1540, 170) - layer: -1 - } - block t39 { - position: pos(60, 3760, 200, 70) - } - block t40 { - position: pos(1120, 4340, 400, 110) - } - block t47 { - position: pos(1420, 1140, 80, 100) - layer: 1 - } - block t49 { - position: pos(40, 660, 1460, 420) - layer: -4 - } - block t51 { - position: pos(1440, 2720, 80, 100) - layer: 1 - } - block t52 { - position: pos(460, 320, 1040, 340) - layer: -2 - } - block t53 { - position: pos(40, 320, 400, 340) - layer: -2 - } - block t54 { - position: pos(60, 2200, 360, 500) - } - block filter_by_city_wrapper { - position: pos(60, 3000, 300, 120) - layer: -1 - } - block filter_by_age_group_wrapper { - position: pos(60, 3140, 300, 120) - layer: -1 - } - block v17 { - position: pos(40, 1760, 1480, 420) - } - block v18 { - position: pos(60, 3720, 1480, 500) - } - block p1 { - position: pos(1300, 2860, 220, 60) - layer: 2 - } - block v19 { - position: pos(20, 4490, 400, 300) - layer: 3 - } - block v20 { - position: pos(280, 700, 1180, 380) - layer: -3 - } - block v21 { - position: pos(280, 700, 860, 260) - layer: -1 - } - mobile { - mode: 'auto' - } - } - settings { - timezone: 'America/Los_Angeles' - cache_duration: 10 - } - interactions: [ - PopInteraction { - from: 'p1' - to: [ - CustomMapping { - block: 'v15' - field: ref('order_master', 'order_created_at') - } - ] - } - ] -} \ No newline at end of file diff --git a/team-folders/tai/test_extend/tai_ecom_external.page.aml b/team-folders/tai/test_extend/tai_ecom_external.page.aml deleted file mode 100644 index e941781..0000000 --- a/team-folders/tai/test_extend/tai_ecom_external.page.aml +++ /dev/null @@ -1,43 +0,0 @@ -const hide_position = pos(-200, 0, 0, 0) - -Dashboard tai_ecom_external = tai_ecom.extend({ - view: tai_ecom.view.extend({ - // hide country filter - block filter_by_country { - position: hide_position - } - block filter_by_country_text { - position: hide_position - } - block filter_by_country_wrapper { - position: hide_position - } - - // hide city filter - block filter_by_city { - position: hide_position - } - block filter_by_city_text { - position: hide_position - } - block filter_by_city_wrapper { - position: hide_position - } - - // hide age group - block filter_by_age_group { - position: hide_position - } - block filter_by_age_group_text { - position: hide_position - } - block filter_by_age_group_wrapper { - position: hide_position - } - - // move users vs order growth - block users_vs_orders_growth { - position: pos(60, 2860, 560, 400) - } - }) -}) \ No newline at end of file diff --git a/test_new.page.aml b/test_new.page.aml index 96ceff1..02dc38c 100644 --- a/test_new.page.aml +++ b/test_new.page.aml @@ -31,14 +31,14 @@ Dashboard test_new { view: CanvasLayout { label: 'View 1' width: 1300 - height: 270 + height: 810 grid_size: 20 auto_expand_vertically: true block title { position: pos(20, 20, 1260, 60) } block v_c3vu { - position: pos(350, 100, 620, 420) + position: pos(350, 370, 620, 420) } mobile { mode: 'auto' diff --git a/untitled_5.page.aml b/untitled_5.page.aml deleted file mode 100644 index e2833c0..0000000 --- a/untitled_5.page.aml +++ /dev/null @@ -1,24 +0,0 @@ -Dashboard untitled_5 { - title: 'Untitled' - description: '' - owner: 'thang.lk@holistics.io' - block title: TextBlock { - content: @md # Your title goes here sdas;; - } - - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 800 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 280, 140) - } - mobile { - mode: 'auto' - } - } - - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/version.aml b/version.aml index 7acbb58..9001afa 100644 --- a/version.aml +++ b/version.aml @@ -1 +1 @@ -const AML_VERSION = '2.0' \ No newline at end of file +const AML_VERSION = '2.0' \ No newline at end of file From 5d6c40c36c9f756055c4afddf1b1cd4f7d3e70c6 Mon Sep 17 00:00:00 2001 From: son hoang Date: Wed, 21 Jan 2026 12:08:19 +0000 Subject: [PATCH 14/28] Restore to version "Update label of dataset 'ecommerce' to 'ecommerce2' in 'ecommerce.thang.dataset.aml'" (#81605d) --- _10_blocks.page.aml | 422 ---- _1_block.page.aml | 89 - .../dashboards/embed_demo_sales.page.aml | 144 +- .../datasets/demo_ecommerce.dataset.aml | 9 +- .../embed/ecommerce_portal.embed.aml | 1 + .../2. Query Models/order_master.model.aml | 2 - ecommerce_orders.model.aml | 45 + ecommerce_sales.model.aml | 52 + hoa_test.page.aml | 22 + .../Amyra/demo_ecommerce_amyra.page.aml | 6 +- .../Minh/ecommerce (test themes).page.aml | 71 +- .../demo_ecommerce_dashboard_thang.page.aml | 1376 +++++++++++++ .../Thang/ecommerce.thang.dataset.aml | 69 + .../Thang/ecommerce_dashboard_thang.page.aml | 751 +++++++ team-folders/Thang/ecommerce_orders.model.aml | 60 + team-folders/Thang/ecommerce_users.model.aml | 94 + team-folders/Vux/vux-test.page.aml | 173 ++ .../Onboarding Dashboard.page.aml | 1 + .../khai/datasets/khai_ecommerce.dataset.aml | 2 +- team-folders/khai/khai_test.page.aml | 2 +- .../dynamic_datasouce_test.page.aml | 2 +- .../dashboards/tai_cohort_retention.page.aml | 388 ++++ .../tai/test_extend/tai_ecom.page.aml | 1796 +++++++++++++++++ .../test_extend/tai_ecom_external.page.aml | 43 + test_new.page.aml | 4 +- untitled_5.page.aml | 24 + version.aml | 2 +- 27 files changed, 5019 insertions(+), 631 deletions(-) delete mode 100644 _10_blocks.page.aml delete mode 100644 _1_block.page.aml create mode 100644 ecommerce_orders.model.aml create mode 100644 ecommerce_sales.model.aml create mode 100644 hoa_test.page.aml create mode 100644 team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml create mode 100644 team-folders/Thang/ecommerce.thang.dataset.aml create mode 100644 team-folders/Thang/ecommerce_dashboard_thang.page.aml create mode 100644 team-folders/Thang/ecommerce_orders.model.aml create mode 100644 team-folders/Thang/ecommerce_users.model.aml create mode 100644 team-folders/Vux/vux-test.page.aml create mode 100644 team-folders/tai/dashboards/tai_cohort_retention.page.aml create mode 100644 team-folders/tai/test_extend/tai_ecom.page.aml create mode 100644 team-folders/tai/test_extend/tai_ecom_external.page.aml create mode 100644 untitled_5.page.aml diff --git a/_10_blocks.page.aml b/_10_blocks.page.aml deleted file mode 100644 index dd815bb..0000000 --- a/_10_blocks.page.aml +++ /dev/null @@ -1,422 +0,0 @@ -Dashboard _10_blocks { - title: '10 blocks' - owner: 'toan.lt@holistics.io' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v_0fvm: VizBlock { - label: 'product table' - viz: DataTable { - dataset: demo_ecommerce_version_base - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.price) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_v9fd: VizBlock { - label: 'product pivot' - viz: PivotTable { - dataset: demo_ecommerce_version_base - rows: [ - VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - ] - columns: [ - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - ] - values: [ - VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_total: true - show_column_total: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ea3m: VizBlock { - label: 'product metric' - viz: MetricKpi { - dataset: demo_ecommerce_version_base - value: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - compare_value: VizFieldFull { - ref: r(ecommerce_products.created_at) - aggregation: 'count' - format { - type: 'number' - } - } - settings { - aggregate_awareness { - enabled: true - debug_comments: true - } - alignment: 'left' - } - } - settings { - hide_label: true - } - } - block v_gzxp: VizBlock { - label: 'product area' - viz: AreaChart { - dataset: demo_ecommerce_version_base - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_z8ld: VizBlock { - label: 'Sum of Price by Month Created At and Cost' - viz: LineChart { - dataset: demo_ecommerce_version_base - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ikhf: VizBlock { - label: 'Sum of Price by Month Created At' - viz: ColumnChart { - dataset: demo_ecommerce_version_base - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_zur6: VizBlock { - label: 'Sum of Price by Month Created At' - viz: BarChart { - dataset: demo_ecommerce_version_base - x_axis: VizFieldFull { - ref: r(ecommerce_products.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_rqx8: VizBlock { - label: 'Count of Merchant Id by Product ID and Category Id' - viz: PointMap { - dataset: demo_ecommerce_version_base - lng: VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - } - lat: VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - } - value: VizFieldFull { - ref: r(ecommerce_products.merchant_id) - aggregation: 'count' - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - default_view { - zoom_level: 5 - center { - lat: 71.1111062496851 - lng: 18.83056640625 - } - } - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_abky: VizBlock { - label: 'Sum of Price by Product Name' - viz: ConversionFunnel { - dataset: demo_ecommerce_version_base - breakdown_by: VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - } - values: [ - VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_jflr: VizBlock { - label: 'Product ID and Sum of Price' - viz: CustomChart { - dataset: demo_ecommerce_version_base - custom_chart_id: 25612 - field id_field: VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - } - field metric_field: VizFieldFull { - ref: r(ecommerce_products.price) - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - setting num_buckets: 10 - settings { - row_limit: 5000 - } - } - } - block f_products_product_id: FilterBlock { - label: 'Products Product ID' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce_version_base - field: r(ecommerce_products.id) - } - default { - operator: 'greater_than' - value: '$H_NIL$' - } - } - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 1740 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - block v_0fvm { - position: pos(20, 180, 580, 280) - } - block v_v9fd { - position: pos(680, 180, 600, 280) - } - block v_ea3m { - position: pos(20, 500, 380, 260) - } - block v_gzxp { - position: pos(420, 500, 400, 260) - } - block v_z8ld { - position: pos(840, 500, 420, 260) - } - block v_ikhf { - position: pos(20, 780, 380, 380) - } - block v_zur6 { - position: pos(420, 780, 400, 380) - } - block v_rqx8 { - position: pos(840, 780, 420, 380) - } - block v_abky { - position: pos(20, 1180, 620, 420) - } - block v_jflr { - position: pos(660, 1180, 620, 420) - } - block f_products_product_id { - position: pos(20, 80, 300, 80) - } - mobile { - mode: 'auto' - } - } - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/_1_block.page.aml b/_1_block.page.aml deleted file mode 100644 index b7f75f1..0000000 --- a/_1_block.page.aml +++ /dev/null @@ -1,89 +0,0 @@ -Dashboard _1_block { - title: '1 block' - owner: 'toan.lt@holistics.io' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v_u6q9: VizBlock { - label: 'product table' - viz: DataTable { - dataset: demo_ecommerce_version_base - fields: [ - VizFieldFull { - ref: r(ecommerce_products.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.category_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(ecommerce_products.merchant_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(ecommerce_products.price) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block f_products_price: FilterBlock { - label: 'Products Price' - type: 'field' - source: FieldFilterSource { - dataset: demo_ecommerce_version_base - field: r(ecommerce_products.price) - } - default { - operator: 'greater_than' - value: '$H_NIL$' - } - } - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 800 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - block v_u6q9 { - position: pos(20, 100, 620, 420) - } - block f_products_price { - position: pos(660, 100, 300, 80) - } - mobile { - mode: 'auto' - } - } - theme: H.themes.vanilla -} \ No newline at end of file diff --git a/demo ecommerce/dashboards/embed_demo_sales.page.aml b/demo ecommerce/dashboards/embed_demo_sales.page.aml index 0dc63a6..a9e481d 100644 --- a/demo ecommerce/dashboards/embed_demo_sales.page.aml +++ b/demo ecommerce/dashboards/embed_demo_sales.page.aml @@ -134,7 +134,7 @@ Dashboard embed_demo_landing_page_2 { pattern: 'inherited' } } - + ] settings { show_row_number: true @@ -261,52 +261,23 @@ ecommerce_users.sign_up_date calc_type: 'measure' data_type: 'number' } - x_axis: VizFieldFull { - ref: ref('ecommerce_users', 'sign_up_date') - transformation: 'datetrunc quarter' - format { - type: 'date' - } - } - y_axis { - series { - mark_type: 'column' - field { - ref: ref('ecommerce_users', 'total_users') - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#005A32FF' - } - } - } - y_axis { - settings { - alignment: 'right' - } - series { - mark_type: 'line' - field { - ref: 'f_3f16a1c' - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#41ab5d' - line_interpolation: 'smooth' - } - } + filter { + field: r(order_master.last_order_value) + operator: 'is' + value: '1' } settings { + x_axis_show_null_datetime: true pop { - field: ref('ecommerce_users', 'sign_up_date') - duration: 3 - granularity: 'month' + field: r(ecommerce_users.sign_up_date) + value: RelativePopValue { + duration: 3 + granularity: 'month' + } + } + aggregate_awareness { + enabled: true + debug_comments: true } } } @@ -425,7 +396,7 @@ ecommerce_users.sign_up_date type: 'field' source: FieldFilterSource { dataset: demo_ecommerce - field: ref('ecommerce_products', 'name') + field: r(ecommerce_products.name) } default { operator: 'is' @@ -433,7 +404,7 @@ ecommerce_users.sign_up_date } settings { drillthrough: Drillthrough { - enabled: true + enabled: false sources: [ AutoDrillthroughSource { } @@ -570,10 +541,22 @@ ecommerce_users.sign_up_date granularity: 'year' } } + block f_order_master_last_order_value: FilterBlock { + label: 'Order Master Last Order Value' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: r(order_master.last_order_value) + } + default { + operator: 'is' + value: [] + } + } view: CanvasLayout { label: 'View 1' width: 1420 - height: 1530 + height: 1520 block f1 { position: pos(-320, 10, 300, 80) } @@ -587,22 +570,22 @@ ecommerce_users.sign_up_date position: pos(-20, 100, 1480, 20) } block t2 { - position: pos(750, 340, 650, 40) + position: pos(750, 330, 650, 40) } block t5 { position: pos(30, 10, 170, 90) } block t9 { - position: pos(40, 340, 650, 40) + position: pos(40, 330, 650, 40) } block v1 { position: pos(360, 20, 360, 60) } block v2 { - position: pos(750, 780, 650, 240) + position: pos(750, 770, 650, 240) } block v3 { - position: pos(40, 780, 650, 240) + position: pos(40, 770, 650, 240) } block v4 { position: pos(40, 140, 240, 140) @@ -617,7 +600,7 @@ ecommerce_users.sign_up_date position: pos(1160, 140, 240, 140) } block v8 { - position: pos(40, 390, 650, 370) + position: pos(40, 380, 650, 370) } block t10 { position: pos(300, 120, 10, 180) @@ -633,24 +616,24 @@ ecommerce_users.sign_up_date position: pos(1140, 120, 10, 180) } block t14 { - position: pos(20, 320, 690, 720) + position: pos(20, 310, 690, 720) layer: -2 } block t15 { - position: pos(730, 320, 690, 720) + position: pos(730, 310, 690, 720) layer: -2 } block v11 { - position: pos(750, 390, 650, 370) + position: pos(750, 380, 650, 370) } block v12 { position: pos(320, 140, 240, 140) } block v13 { - position: pos(730, 1050, 680, 450) + position: pos(730, 1040, 680, 450) } block v14 { - position: pos(10, 1050, 700, 450) + position: pos(10, 1040, 700, 450) } block box1 { position: pos(20, 120, 1400, 180) @@ -660,18 +643,45 @@ ecommerce_users.sign_up_date position: pos(230, 30, 10, 40) } block d1 { - position: pos(520, 330, 170, 100) + position: pos(520, 320, 170, 100) } block p1 { - position: pos(1190, 330, 210, 80) + position: pos(1190, 320, 210, 80) + } + block f_order_master_last_order_value { + position: pos(400, 580, 300, 80) } } interactions: [ + FilterInteraction { + from: 'f1' + to: [ + CustomMapping { + block: 'f_order_master_last_order_value' + disabled: true + } + ] + }, FilterInteraction { from: 'f3' to: [ CustomMapping { - block: 'f1' + block: [ + 'f1', + 'f_order_master_last_order_value' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_order_master_last_order_value' + to: [ + CustomMapping { + block: [ + 'f1', + 'f3' + ] disabled: true } ] @@ -686,7 +696,7 @@ ecommerce_users.sign_up_date 'v8', 'v12' ] - field: ref('ecommerce_users', 'sign_up_date') + field: r(ecommerce_users.sign_up_date) }, CustomMapping { block: [ @@ -694,11 +704,11 @@ ecommerce_users.sign_up_date 'v6', 'v7' ] - field: ref('order_master', 'order_created_at') + field: r(order_master.order_created_at) }, CustomMapping { block: 'v11' - field: ref('dim_dates', 'date_key') + field: r(dim_dates.date_key) } ] }, @@ -707,11 +717,11 @@ ecommerce_users.sign_up_date to: [ CustomMapping { block: 'v8' - field: ref('ecommerce_users', 'sign_up_date') + field: r(ecommerce_users.sign_up_date) }, CustomMapping { block: 'v11' - field: ref('dim_dates', 'date_key') + field: r(dim_dates.date_key) } ] }, @@ -720,11 +730,11 @@ ecommerce_users.sign_up_date to: [ CustomMapping { block: 'v11' - field: ref('dim_dates', 'date_key') + field: r(dim_dates.date_key) }, CustomMapping { block: 'v8' - field: ref('ecommerce_users', 'sign_up_date') + field: r(ecommerce_users.sign_up_date) } ] } diff --git a/demo ecommerce/datasets/demo_ecommerce.dataset.aml b/demo ecommerce/datasets/demo_ecommerce.dataset.aml index 3baebe0..81072e4 100644 --- a/demo ecommerce/datasets/demo_ecommerce.dataset.aml +++ b/demo ecommerce/datasets/demo_ecommerce.dataset.aml @@ -254,7 +254,7 @@ pre_aggregates: { label: "Total Orders" type: "number" hidden: false - description: "" + description: "Total number of order after `01-2025`" definition: @aql count(ecommerce_orders.id);; format: "#,###" } @@ -262,14 +262,14 @@ pre_aggregates: { label: "Total Orders Across All" type: "number" hidden: false - description: "" + description: "Counts the total number of orders across all records in the ecommerce_orders table, ignoring any grouping or filtering by dimensions" definition: @aql count(ecommerce_orders.id) | of_all(ecommerce_orders);; } metric percent_of_total { label: "Percent Of Total" type: "number" hidden: false - description: "" + description: "Calculates the percentage of total orders represented by the current context, by dividing the total number of orders by the total number of orders across all records" definition: @aql total_orders * 1.0 / total_orders_across_all;; format: "#,###0.0\%" } @@ -291,13 +291,14 @@ pre_aggregates: { label: "Running Total" type: "number" hidden: false - description: "" + description: "Calculates the cumulative sum of total orders over time, grouped by year based on the ecommerce_orders.created_at field." definition: @aql running_total(total_orders, ecommerce_orders.created_at | year());; } metric dynamic_metric { label: 'Dynamic Metric' type: 'number' + description: "Depending on the selection, this metric outputs total users, total products, total orders, percent of total, average order value, or revenue" definition: @aql case( when: 'total users' in param_model_nam.metric_selections diff --git a/demo ecommerce/embed/ecommerce_portal.embed.aml b/demo ecommerce/embed/ecommerce_portal.embed.aml index 4714b48..4252564 100644 --- a/demo ecommerce/embed/ecommerce_portal.embed.aml +++ b/demo ecommerce/embed/ecommerce_portal.embed.aml @@ -6,6 +6,7 @@ EmbedPortal ecommerce_portal { _2_category_breakdown, _3_customer_demographics, _4_product_x_merchant_drill_down, + // dataset demo_ecommerce ], } \ No newline at end of file diff --git a/demo ecommerce/models/2. Query Models/order_master.model.aml b/demo ecommerce/models/2. Query Models/order_master.model.aml index f22cb61..bcd5ada 100644 --- a/demo ecommerce/models/2. Query Models/order_master.model.aml +++ b/demo ecommerce/models/2. Query Models/order_master.model.aml @@ -384,5 +384,3 @@ Model order_master { ] } } - -order_master.dim_selector \ No newline at end of file diff --git a/ecommerce_orders.model.aml b/ecommerce_orders.model.aml new file mode 100644 index 0000000..f4e299d --- /dev/null +++ b/ecommerce_orders.model.aml @@ -0,0 +1,45 @@ +Model ecommerce_orders3 { + type: 'table' + label: 'Orders' + description: '' + data_source_name: 'demodb' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension status { + label: 'Status' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.status }};; + } + dimension created_at { + label: 'Created At' + type: 'datetime' + hidden: false + definition: @sql {{ #SOURCE.created_at }};; + } + dimension user_id { + label: 'User Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.user_id }};; + } + dimension discount { + label: 'Discount' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.discount }};; + } + dimension delivery_attempts { + label: 'Delivery Attempts' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.delivery_attempts }};; + } + + owner: 'thang.lk@holistics.io' + table_name: '"ecommerce"."orders"' +} diff --git a/ecommerce_sales.model.aml b/ecommerce_sales.model.aml new file mode 100644 index 0000000..562e816 --- /dev/null +++ b/ecommerce_sales.model.aml @@ -0,0 +1,52 @@ +Model ecommerce_sales { + type: 'table' + label: 'Sales' + description: '' + data_source_name: 'demodb' + dimension order_id { + label: 'Order Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.order_id }};; + primary_key: true + } + dimension order_created_date { + label: 'Order Created Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.order_created_date }};; + } + dimension delivered_date { + label: 'Delivered Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.delivered_date }};; + } + dimension cancelled_date { + label: 'Cancelled Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.cancelled_date }};; + } + dimension refunded_date { + label: 'Refunded Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.refunded_date }};; + } + dimension user_id { + label: 'User Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.user_id }};; + } + dimension discount { + label: 'Discount' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.discount }};; + } + + owner: 'thang.lk@holistics.io' + table_name: '"ecommerce"."sales"' +} diff --git a/hoa_test.page.aml b/hoa_test.page.aml new file mode 100644 index 0000000..22c214a --- /dev/null +++ b/hoa_test.page.aml @@ -0,0 +1,22 @@ +Dashboard hoa_test { + title: 'hoa test' + owner: 'hoa.huynh@holistics.io' + block title: TextBlock { + content: @md # Your title goes here ;; + } + interactions: [] + view: CanvasLayout { + label: 'View 1' + width: 1300 + height: 800 + grid_size: 20 + auto_expand_vertically: true + block title { + position: pos(20, 20, 1260, 60) + } + mobile { + mode: 'auto' + } + } + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/team-folders/Amyra/demo_ecommerce_amyra.page.aml b/team-folders/Amyra/demo_ecommerce_amyra.page.aml index 7b486a8..dbe8a2a 100644 --- a/team-folders/Amyra/demo_ecommerce_amyra.page.aml +++ b/team-folders/Amyra/demo_ecommerce_amyra.page.aml @@ -174,12 +174,12 @@ This dashboard tracks the KPIs of all managers for their respective teams. This viz: PieChart { dataset: demo_ecommerce filter { - field: ref('order_master', 'order_created_at') + field: r(order_master.order_created_at) operator: 'matches' value: '2023' } legend: VizFieldFull { - ref: ref('map_categories', 'parent_category') + ref: r(map_categories.parent_category) format { type: 'text' } @@ -187,7 +187,7 @@ This dashboard tracks the KPIs of all managers for their respective teams. This series { field: VizFieldFull { label: ' ' - ref: ref('order_master', 'gmv') + ref: r(order_master.gmv) format { type: 'number' pattern: '[$$]#,###' diff --git a/team-folders/Minh/ecommerce (test themes).page.aml b/team-folders/Minh/ecommerce (test themes).page.aml index f2ae1fa..ded2c47 100644 --- a/team-folders/Minh/ecommerce (test themes).page.aml +++ b/team-folders/Minh/ecommerce (test themes).page.aml @@ -1,13 +1,7 @@ Dashboard ecommerce_cua_minh { title: 'Ecommerce Dashboard' description: '''''' - theme: H.themes.classic.extend( - { - canvas { - - } - } - ) + theme: H.themes.midnight block css: TextBlock { content: @md + + + + +;; + } + // block t46: background_gray() + block t47: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t49: TextBlock { + content: @md
;; + } + block t51: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t52: TextBlock { + content: @md
;; + } + block t53: TextBlock { + content: @md
;; + } + block t55: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block t56: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block v17: VizBlock { + label: 'Total Users and Delivered Orders Count by Quarter Sign Up Date' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('ecommerce_users', 'age_group') + operator: 'is_not' + value: '3. From 40 to 49' + } + rows: [ + VizFieldFull { + ref: ref('ecommerce_countries', 'continent_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + ] + columns: [ + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + ] + values: [ + VizFieldFull { + ref: ref('order_master', 'revenue') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_total: true + show_column_total: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + } + } + } + block v18: VizBlock { + label: 'Customer Info and Buying Behavior' + viz: DataTable { + dataset: demo_ecommerce + fields: [ + VizFieldFull { + ref: ref('ecommerce_users', 'full_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + uname: 'ecommerce_countries_name' + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_products', 'total_products') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'cancelled_order_ratio') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_cancelled_order_ratio' + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + column_styles: [ + ColumnStyle { + key: 'ecommerce_countries_name' + width: 216 + }, + ColumnStyle { + key: 'custom_cancelled_order_ratio' + width: 180 + } + ] + } + } + } + block p1: PopBlock { + label: 'Compare with Period' + } + block v19: VizBlock { + label: 'Total Users and Total Users by Age Demographic and Gender' + viz: ColumnChart { + dataset: demo_ecommerce + theme { + + } + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + legend: VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + } + y_axis { + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#07326C' + point { + value: 'Male' + color: '#FB8761' + } + point { + value: 'Female' + color: '#64628c' + } + } + } + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + break_by_legend: false + } + } + } + settings { + x_axis_show_null_datetime: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_users_gender: FilterBlock { + label: 'Users Gender' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: r(ecommerce_users.gender) + } + default { + operator: 'is' + value: [] + } + } + view: CanvasLayout { + label: 'View 1' + width: 1540 + height: 4460 + grid_size: 20 + block hd1 { + position: pos(1320, 20, 180, 60) + } + block hd2 { + position: pos(180, 360, 640, 60) + } + block hd3 { + position: pos(0, 0, 1540, 200) + layer: -1 + } + block t2 { + position: pos(40, 100, 660, 60) + } + block v1 { + position: pos(60, 800, 1420, 380) + } + block v2 { + position: pos(80, 460, 300, 140) + } + block v2_dup_dup { + position: pos(440, 2300, 380, 500) + } + block v6 { + position: pos(840, 2300, 680, 500) + } + block v7 { + position: pos(60, 3380, 1440, 440) + } + block v8 { + position: pos(380, 2960, 560, 400) + } + block v10 { + position: pos(80, 600, 320, 140) + } + block v12 { + position: pos(480, 440, 1000, 300) + layer: -1 + } + block f1 { + position: pos(80, 3020, 260, 40) + } + block t5 { + position: pos(40, 320, 1460, 80) + } + block t6 { + position: pos(40, 1300, 1460, 80) + } + block t8 { + position: pos(60, 2860, 1460, 80) + } + block t9 { + position: pos(80, 2980, 260, 40) + } + block t10 { + position: pos(920, 100, 180, 60) + } + block t11 { + position: pos(1120, 100, 180, 60) + } + block t12 { + position: pos(1320, 100, 180, 60) + } + block v13 { + position: pos(40, 1380, 720, 460) + } + block t26 { + position: pos(60, 2960, 300, 120) + layer: -2 + } + block t28 { + position: pos(80, 3260, 260, 40) + } + block f2 { + position: pos(80, 3300, 260, 40) + } + block f3 { + position: pos(80, 3160, 260, 40) + } + block t32 { + position: pos(80, 3120, 260, 40) + layer: 1 + } + block v15 { + position: pos(960, 2960, 560, 400) + } + block v16 { + position: pos(780, 1380, 720, 460) + } + block t38 { + position: pos(0, 4400, 1540, 180) + layer: -1 + } + block t39 { + position: pos(60, 3860, 200, 80) + } + block t40 { + position: pos(1120, 4440, 400, 120) + } + block t47 { + position: pos(1420, 1240, 80, 100) + layer: 1 + } + block t49 { + position: pos(40, 780, 1460, 420) + layer: -2 + } + block t51 { + position: pos(1440, 2820, 80, 100) + layer: 1 + } + block t52 { + position: pos(460, 420, 1040, 340) + layer: -2 + } + block t53 { + position: pos(40, 420, 400, 340) + layer: -2 + } + block t55 { + position: pos(60, 3100, 300, 120) + layer: -1 + } + block t56 { + position: pos(60, 3240, 300, 120) + layer: -1 + } + block v17 { + position: pos(40, 1860, 1480, 420) + } + block v18 { + position: pos(60, 3820, 1480, 500) + } + block p1 { + position: pos(1300, 2960, 220, 60) + layer: 2 + } + block v19 { + position: pos(40, 2300, 380, 500) + layer: 3 + } + block f_users_gender { + position: pos(1160, 220, 300, 80) + layer: -1 + } + } + settings { + timezone: 'America/Los_Angeles' + cache_duration: 10 + } + interactions: [ + FilterInteraction { + from: 'f1' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f2' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f3' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_users_gender' + to: [ + CustomMapping { + block: [ + 'f1', + 'f2', + 'f3' + ] + disabled: true + } + ] + }, + PopInteraction { + from: 'p1' + to: [ + CustomMapping { + block: 'v15' + field: r(order_master.order_created_at) + } + ] + } + ] +} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce.thang.dataset.aml b/team-folders/Thang/ecommerce.thang.dataset.aml new file mode 100644 index 0000000..c4a295b --- /dev/null +++ b/team-folders/Thang/ecommerce.thang.dataset.aml @@ -0,0 +1,69 @@ +Dataset ecommerce { + label: 'ecommerce2' + description: '' + data_source_name: 'movies_lens' + models: [ + ecommerce_orders2, + ecommerce_users2 + ] + relationships: [ + relationship(ecommerce_orders2.user_id > ecommerce_users2.id, true) + ] + metric avg_delivered_orders_per_user { + label: "Avg Delivered Orders Per User" + type: "number" + hidden: false + description: "" + definition: @aql ecommerce_orders2.completed_orders_count + / ecommerce_users2.total_users;; + } + metric high_value_users { + label: "High value users" + type: "number" + hidden: false + description: "" + definition: @aql ecommerce_orders2 +| group(ecommerce_users2.id) +| filter( + count(ecommerce_orders2.id) + | where(ecommerce_orders2.status == 'delivered') + >= 20 + ) +| count();; + format: "" + } + metric medium_value_user { + label: "Medium Value User" + type: "number" + hidden: false + description: "" + definition: @aql ecommerce_orders2 +| filter(ecommerce_orders2.status == 'delivered') +| group(ecommerce_users2.id) +| filter(count(ecommerce_orders2.id) >= 5 and count(ecommerce_orders2.id) <= 19) +| count() +;; + } + metric low_value_user { + label: "Low Value User" + type: "number" + hidden: false + description: "" + definition: @aql ecommerce_orders2 +| group(ecommerce_users2.id) +| filter( + count(ecommerce_orders2.id) + | where(ecommerce_orders2.status == 'delivered') + <= 2 + ) +| count();; + } + dimension dimension_0df1960 { + label: "Concat field" + type: "text" + hidden: false + description: "" + definition: @aql concat(cast(ecommerce_orders2.id, 'text'), " ", ecommerce_orders2.status);; + model: ecommerce_orders2 + } +} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_dashboard_thang.page.aml b/team-folders/Thang/ecommerce_dashboard_thang.page.aml new file mode 100644 index 0000000..7f690f0 --- /dev/null +++ b/team-folders/Thang/ecommerce_dashboard_thang.page.aml @@ -0,0 +1,751 @@ +Dashboard ecommerce_dashboard_thang { + title: 'Ecommerce. Customer Order Behavior Overview. Thang' + description: '' + owner: 'thang.lk@holistics.io' + block title: TextBlock { + content: @md Customer Order Behavior Overview;; + } + block v_noyg: VizBlock { + label: 'Order created in Dec 2022' + viz: DataTable { + dataset: ecommerce + filter { + field: r(ecommerce_orders2.created_at) + operator: 'matches' + value: 'dec 2022' + } + fields: [ + VizFieldFull { + ref: r(ecommerce_orders2.created_at) + format { + type: 'datetime' + } + }, + VizFieldFull { + ref: r(ecommerce_users2.full_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_users2.email) + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_xita: VizBlock { + label: 'Number of orders place by each user' + viz: DataTable { + dataset: ecommerce + fields: [ + VizFieldFull { + ref: r(ecommerce_users2.full_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_orders2.all_orders_count) + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_up3p: VizBlock { + label: 'Top customer by successful orders' + viz: DataTable { + dataset: ecommerce + fields: [ + VizFieldFull { + ref: r(ecommerce_users2.full_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_users2.email) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_orders2.delivered_orders_count) + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_delivered_orders_count_1' + }, + VizFieldFull { + ref: r(ecommerce_orders2.all_orders_count) + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + sorts: [ + SortSetting { + key: 'custom_delivered_orders_count_1' + direction: 'desc' + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_o1kl: VizBlock { + label: 'Low value user → onboarding, trust, education' + viz: DataTable { + dataset: ecommerce + filter { + field: r(ecommerce_orders2.delivered_orders_count) + operator: 'less_than' + value: '2' + } + fields: [ + VizFieldFull { + ref: r(ecommerce_users2.full_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_users2.email) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_orders2.delivered_orders_count) + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_delivered_orders_count_1' + }, + VizFieldFull { + ref: r(ecommerce_orders2.all_orders_count) + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + sorts: [ + SortSetting { + key: 'custom_delivered_orders_count_1' + direction: 'desc' + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_5iy6: VizBlock { + label: 'Which Age Groups Complete More Orders?' + description: 'Each dot represents an age group' + viz: ScatterChart { + dataset: ecommerce + filter { + field: r(ecommerce_users2.age_group) + operator: 'is' + value: '3. From 30 to 39' + } + x_col: VizFieldFull { + ref: r(ecommerce_orders2.delivered_orders_count) + format { + type: 'number' + pattern: 'inherited' + } + } + y_col: VizFieldFull { + ref: r(ecommerce_users2.total_users) + format { + type: 'number' + pattern: 'inherited' + } + } + group_col: VizFieldFull { + ref: r(ecommerce_users2.age_group) + format { + type: 'text' + } + } + settings { + row_limit: 5000 + } + } + } + block v_inr6: VizBlock { + label: 'Total Delivered Orders' + viz: DataTable { + dataset: ecommerce + fields: [ + VizFieldFull { + label: 'Total Delivered Orders' + ref: r(ecommerce_orders2.delivered_orders_count) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_570z: VizBlock { + label: 'Avg Delivered Orders Per User' + viz: MetricKpi { + dataset: ecommerce + value: VizFieldFull { + ref: r(ecommerce.avg_delivered_orders_per_user) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + alignment: 'left' + } + } + settings { + hide_label: true + } + } + block v_ch4j: VizBlock { + label: 'High value users' + viz: DataTable { + dataset: ecommerce + filter { + field: r(ecommerce_orders2.delivered_orders_count) + operator: 'greater_than' + value: '20' + } + fields: [ + VizFieldFull { + ref: r(ecommerce_users2.full_name) + format { + type: 'text' + } + }, + VizFieldFull { + ref: r(ecommerce_orders2.delivered_orders_count) + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_delivered_orders_count_1' + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_k1c5: VizBlock { + label: 'User Segmentation by Order' + viz: BarChart { + dataset: ecommerce + y_axis { + series { + field: VizFieldFull { + ref: r(ecommerce.low_value_user) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color_palette: 0 + } + } + series { + field: VizFieldFull { + ref: r(ecommerce.medium_value_user) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color_palette: 0 + } + } + series { + field: VizFieldFull { + ref: r(ecommerce.high_value_users) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color_palette: 0 + } + } + } + settings { + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_1fcq: VizBlock { + label: 'Sign Up Date and Last Name' + viz: DataTable { + dataset: ecommerce + fields: [ + VizFieldFull { + ref: r(ecommerce_users2.sign_up_date) + format { + type: 'date' + } + }, + VizFieldFull { + ref: r(ecommerce_users2.last_name) + format { + type: 'text' + } + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_orders_status: FilterBlock { + label: 'Orders Status' + type: 'field' + source: FieldFilterSource { + dataset: ecommerce + field: r(ecommerce_orders2.status) + } + default { + operator: 'is' + value: 'delivered' + } + settings { + drillthrough: Drillthrough { + enabled: true + sources: [ + CustomDrillthroughSource { + sources: [ + '_0_ecommerce_dashboard_30' + ] + } + ] + } + } + } + block p_period_comparison: PopBlock { + label: 'Period Comparison' + default { + type: 'relative' + duration: 1 + granularity: 'year' + } + } + block d_date_drill: DateDrillBlock { + label: 'Date Drill' + } + block f_orders_id: FilterBlock { + label: 'Orders Id' + type: 'field' + source: FieldFilterSource { + dataset: ecommerce + field: r(ecommerce_orders2.id) + } + default { + operator: 'is' + value: [] + } + settings { + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block f_users_gender: FilterBlock { + label: 'Users Gender' + type: 'field' + source: FieldFilterSource { + dataset: ecommerce + field: r(ecommerce_users2.gender) + } + default { + operator: 'is' + value: 'm' + } + settings { + input_type: 'multiple' + } + } + block f_orders_status_bnp2: FilterBlock { + label: 'Orders Status' + type: 'field' + source: FieldFilterSource { + dataset: ecommerce + field: r(ecommerce_orders2.status) + } + default { + operator: 'is' + value: [] + } + } + + view: TabLayout { + label: 'View 1' + tab view_1: CanvasLayout { + label: 'Tab 1' + width: 1300 + height: 3470 + grid_size: 20 + auto_expand_vertically: true + block title { + position: pos(20, 20, 1260, 60) + } + block v_noyg { + position: pos(660, 1360, 620, 420) + layer: 1 + } + block v_xita { + position: pos(20, 1360, 620, 420) + layer: 2 + } + block v_up3p { + position: pos(660, 920, 620, 420) + layer: 4 + } + block v_o1kl { + position: pos(20, 1800, 620, 420) + layer: 6 + } + block v_5iy6 { + position: pos(20, 480, 620, 420) + layer: 8 + } + block v_inr6 { + position: pos(20, 310, 620, 160) + layer: 10 + } + block v_570z { + position: pos(660, 300, 620, 160) + layer: 11 + } + block v_ch4j { + position: pos(20, 920, 620, 420) + layer: 6 + } + block v_k1c5 { + position: pos(660, 480, 620, 420) + layer: 12 + } + block v_1fcq { + position: pos(660, 1800, 620, 420) + layer: 13 + } + block f_orders_status { + position: pos(40, 210, 300, 80) + layer: 12 + } + block p_period_comparison { + position: pos(400, 190, 300, 80) + layer: 12 + } + block d_date_drill { + position: pos(740, 190, 300, 80) + layer: 11 + } + block f_orders_id { + position: pos(1060, 190, 300, 80) + layer: 12 + } + block f_users_gender { + position: pos(600, 100, 300, 80) + layer: 12 + } + block f_orders_status_bnp2 { + position: pos(410, 660, 300, 80) + layer: 12 + } + mobile { + mode: 'auto' + } + } + } + interactions: [ + FilterInteraction { + from: 'v_noyg' + to: [ + CustomMapping { + block: [ + 'v_5iy6', + 'v_inr6', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_xita' + to: [ + CustomMapping { + block: [ + 'v_5iy6', + 'v_inr6', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_up3p' + to: [ + CustomMapping { + block: [ + 'v_5iy6', + 'v_inr6', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_o1kl' + to: [ + CustomMapping { + block: [ + 'v_5iy6', + 'v_inr6', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_5iy6' + to: [ + CustomMapping { + block: [ + 'v_noyg', + 'v_xita', + 'v_up3p', + 'v_o1kl', + 'v_inr6', + 'v_ch4j', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_inr6' + to: [ + CustomMapping { + block: [ + 'v_noyg', + 'v_xita', + 'v_up3p', + 'v_o1kl', + 'v_5iy6', + 'v_ch4j', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_570z' + to: [ + CustomMapping { + block: 'v_k1c5' + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_ch4j' + to: [ + CustomMapping { + block: [ + 'v_5iy6', + 'v_inr6', + 'v_k1c5' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_k1c5' + to: [ + CustomMapping { + block: [ + 'v_noyg', + 'v_xita', + 'v_up3p', + 'v_o1kl', + 'v_5iy6', + 'v_inr6', + 'v_570z', + 'v_ch4j' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_orders_status' + to: [ + CustomMapping { + block: [ + 'f_orders_id', + 'f_users_gender', + 'f_orders_status_bnp2' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_orders_id' + to: [ + CustomMapping { + block: [ + 'f_orders_status', + 'f_users_gender', + 'f_orders_status_bnp2' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_users_gender' + to: [ + CustomMapping { + block: [ + 'f_orders_status', + 'f_orders_id', + 'f_orders_status_bnp2' + ] + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_orders_status_bnp2' + to: [ + CustomMapping { + block: [ + 'f_orders_status', + 'f_orders_id', + 'f_users_gender' + ] + disabled: true + } + ] + }, + PopInteraction { + from: 'p_period_comparison' + to: [ + CustomMapping { + block: [ + 'v_noyg', + 'v_xita', + 'v_up3p', + 'v_o1kl', + 'v_inr6', + 'v_570z', + 'v_ch4j', + 'v_k1c5' + ] + field: r(ecommerce_orders2.created_at) + }, + CustomMapping { + block: 'v_1fcq' + field: r(ecommerce_users2.sign_up_date) + } + ] + }, + DateDrillInteraction { + from: 'd_date_drill' + to: [ + CustomMapping { + block: 'v_noyg' + field: r(ecommerce_orders2.created_at) + }, + CustomMapping { + block: 'v_1fcq' + field: r(ecommerce_users2.sign_up_date) + } + ] + } + ] + theme: H.themes.classic +} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_orders.model.aml b/team-folders/Thang/ecommerce_orders.model.aml new file mode 100644 index 0000000..eaa5840 --- /dev/null +++ b/team-folders/Thang/ecommerce_orders.model.aml @@ -0,0 +1,60 @@ +Model ecommerce_orders2 { + type: 'table' + label: 'Orders' + description: '' + data_source_name: 'demodb' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension status { + label: 'Status' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.status }};; + } + dimension created_at { + label: 'Created At' + type: 'datetime' + hidden: false + definition: @sql {{ #SOURCE.created_at }};; + } + dimension user_id { + label: 'User Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.user_id }};; + } + dimension discount { + label: 'Discount' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.discount }};; + } + dimension delivery_attempts { + label: 'Delivery Attempts' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.delivery_attempts }};; + } + + owner: 'thang.lk@holistics.io' + table_name: '"ecommerce"."orders"' + measure all_orders_count { + label: "All Orders Count" + type: "text" + description: "Total Orders" + definition: @sql count({{id}});; + aggregation_type: "custom" + } + measure delivered_orders_count { + label: "Delivered Orders Count" + type: "text" + description: "" + hidden: false + definition: @sql COUNT(CASE WHEN {{ status }} = 'delivered' THEN {{ id }} ELSE NULL END);; + aggregation_type: "custom" + } +} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce_users.model.aml b/team-folders/Thang/ecommerce_users.model.aml new file mode 100644 index 0000000..a88b472 --- /dev/null +++ b/team-folders/Thang/ecommerce_users.model.aml @@ -0,0 +1,94 @@ +Model ecommerce_users2 { + type: 'table' + label: 'Users' + description: '' + data_source_name: 'demodb' + dimension id { + label: 'Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.id }};; + } + dimension sign_up_date { + label: 'Sign Up Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.sign_up_date }};; + } + dimension sign_up_at { + label: 'Sign Up At' + type: 'datetime' + hidden: false + definition: @sql {{ #SOURCE.sign_up_at }};; + } + dimension first_name { + label: 'First Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.first_name }};; + } + dimension last_name { + label: 'Last Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.last_name }};; + } + dimension email { + label: 'Email' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.email }};; + } + dimension birth_date { + label: 'Birth Date' + type: 'date' + hidden: false + definition: @sql {{ #SOURCE.birth_date }};; + } + dimension gender { + label: 'Gender' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.gender }};; + } + dimension city_id { + label: 'City Id' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.city_id }};; + } + dimension full_name { + label: 'Full Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.full_name }};; + } + dimension age { + label: "Age" + type: "number" + description: "" + definition: @sql date_part('year', current_date) - date_part('year', {{ birth_date }});; + } + dimension age_group { + label: "Age Group" + type: "text" + description: "" + definition: @sql case + when {{ age }} < 20 then '1. Under 20' + when {{ age }} >= 20 and {{ age }} < 30 then '2. From 20 to 29' + when {{ age }} >= 30 and {{ age }} < 40 then '3. From 30 to 39' + when {{ age }} >= 40 then '4. 40 and up' +end;; + } + + owner: 'thang.lk@holistics.io' + table_name: '"ecommerce"."users"' + measure total_users { + label: "Total users" + type: "number" + description: "" + hidden: false + definition: @aql count(ecommerce_users2.id);; + aggregation_type: "custom" + } +} \ No newline at end of file diff --git a/team-folders/Vux/vux-test.page.aml b/team-folders/Vux/vux-test.page.aml new file mode 100644 index 0000000..55cedb0 --- /dev/null +++ b/team-folders/Vux/vux-test.page.aml @@ -0,0 +1,173 @@ +Dashboard vux_test { + title: 'vux-test' + description: '' + owner: 'vu.dq@holistics.io' + block title: TextBlock { + content: @md # Your title goes here ;; + } + block v_a79o: VizBlock { + label: 'Revenue Percentage by Status' + viz: PieChart { + dataset: ecom_dataset_vux + calculation revenue_percentage { + label: 'Revenue Percentage' + formula: @aql (order_master.revenue * 1.0) +/ (order_master.revenue | of_all(order_master, keep_filters: true));; + calc_type: 'measure' + data_type: 'number' + } + legend: VizFieldFull { + ref: r(order_master.status) + format { + type: 'text' + } + } + series { + field: VizFieldFull { + ref: 'revenue_percentage' + format { + type: 'number' + pattern: '#,###%' + } + } + } + settings { + display_as_donut: true + row_limit: 5000 + show_percentage: true + data_label_position: 'none' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v_no1k: VizBlock { + label: 'Revenue by Continent' + viz: ColumnChart { + dataset: ecom_dataset_vux + calculation revenue_percentage { + label: 'Revenue Percentage' + formula: @aql (order_master.revenue * 1.0) +/ (order_master.revenue | of_all(order_master, keep_filters: true));; + calc_type: 'measure' + data_type: 'number' + } + legend: VizFieldFull { + ref: r(ecommerce_countries.continent_name) + format { + type: 'text' + } + } + y_axis { + series { + field: VizFieldFull { + ref: r(order_master.revenue) + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color_palette: 'seq-magma' + point { + value: 'Asia' + color: '#FBFDBF' + } + point { + value: 'Europe' + color: '#FB8761' + } + point { + value: 'North America' + color: '#B5367A' + } + point { + value: 'Oceania' + color: '#4F127B' + } + } + } + } + settings { + row_limit: 5000 + x_axis_show_null_datetime: false + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_order_master_order_created_at: FilterBlock { + label: 'Order Master Order Created At' + type: 'field' + source: FieldFilterSource { + dataset: ecom_dataset_vux + field: r(order_master.order_created_at) + } + default { + operator: 'matches' + value: '$H_NIL$' + } + } + + view: TabLayout { + label: 'View 1' + tab view_1: CanvasLayout { + label: 'Tab 1' + width: 640 + height: 600 + grid_size: 20 + auto_expand_vertically: true + block v_a79o { + position: pos(20, 120, 600, 460) + } + block f_order_master_order_created_at { + position: pos(20, 20, 300, 80) + } + mobile { + mode: 'auto' + } + } + tab tab_d9q1: CanvasLayout { + label: 'Tab 2' + width: 1300 + height: 800 + grid_size: 20 + auto_expand_vertically: true + mobile { + mode: 'auto' + } + block v_no1k { + position: pos(120, 120, 600, 460) + } + block f_order_master_order_created_at { + position: pos(20, 20, 300, 80) + } + } + } + + theme: H.themes.vanilla + interactions: [ + FilterInteraction { + from: 'v_a79o' + to: [ + CustomMapping { + block: 'v_no1k' + disabled: true + } + ] + }, + FilterInteraction { + from: 'v_no1k' + to: [ + CustomMapping { + block: 'v_a79o' + disabled: true + } + ] + } + ] +} \ No newline at end of file diff --git a/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml b/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml index c61292f..4378f36 100644 --- a/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml +++ b/team-folders/VyHuynh/Vy's Dashboard/Onboarding Dashboard.page.aml @@ -1,5 +1,6 @@ Dashboard onboarding_dashboard { title: 'Onboarding Dashboard' + owner: 'vy@holistics.io' description: '' block title: TextBlock { content: @md # Order by Month Dashboard ;; diff --git a/team-folders/khai/datasets/khai_ecommerce.dataset.aml b/team-folders/khai/datasets/khai_ecommerce.dataset.aml index e6e17c0..0f6b841 100644 --- a/team-folders/khai/datasets/khai_ecommerce.dataset.aml +++ b/team-folders/khai/datasets/khai_ecommerce.dataset.aml @@ -70,7 +70,7 @@ Dataset khai_ecommerce { definition: @aql H.current_user.country_attribute;; model: countries } - dimension is_country { + dimension is_country_ { label: "Is Country" type: "truefalse" description: "" diff --git a/team-folders/khai/khai_test.page.aml b/team-folders/khai/khai_test.page.aml index 66c09c3..419632b 100644 --- a/team-folders/khai/khai_test.page.aml +++ b/team-folders/khai/khai_test.page.aml @@ -374,7 +374,7 @@ Dashboard khai_test { type: 'field' source: FieldFilterSource { dataset: khai_ecommerce - field: r(khai_ecommerce, countries.is_country) + field: r(khai_ecommerce, countries.is_country_) } default { operator: 'is' diff --git a/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml b/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml index 5aab5d7..ccb3f85 100644 --- a/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml +++ b/team-folders/tai/dashboards/dynamic_datasouce_test.page.aml @@ -42,7 +42,7 @@ Dashboard dynamic_datasouce_test { view: CanvasLayout { label: 'View 1' - height: 840 + height: 1120 grid_size: 20 block title { position: pos(20, 20, 1160, 60) diff --git a/team-folders/tai/dashboards/tai_cohort_retention.page.aml b/team-folders/tai/dashboards/tai_cohort_retention.page.aml new file mode 100644 index 0000000..3450b38 --- /dev/null +++ b/team-folders/tai/dashboards/tai_cohort_retention.page.aml @@ -0,0 +1,388 @@ +Dashboard tai_cohort_retention { + title: 'Cohort Retention (from Khai)' + + view: CanvasLayout { + label: 'View 1' + height: 1840 + grid_size: 20 + mobile { + mode: 'auto' + } + block v1 { + position: pos(20, 20, 2180, 520) + layer: 1 + } + block v_grip { + position: pos(40, 640, 300, 520) + } + block v_xt6f { + position: pos(340, 640, 1520, 520) + } + width: 2220 + } + + theme: H.themes.vanilla + block v1: VizBlock { + label: 'Cohort Retention' + viz: PivotTable { + dataset: khai_ecommerce + calculation first_acquired_at { + label: 'First Acquired At' + formula: @aql dimensionalize( + min(orders.created_at), + users.id +);; + calc_type: 'dimension' + data_type: 'datetime' + model: users + } + calculation months_from_first_orders { + label: 'Months From First Orders' + formula: @aql date_diff( + 'month', + users.first_acquired_at, + orders.created_at +);; + calc_type: 'dimension' + data_type: 'number' + model: orders + } + calculation total_users_retention { + label: 'Total Users Retention' + formula: @aql (total_users * 1.0) +/ +(total_users | of_all(orders.months_from_first_orders));; + calc_type: 'measure' + data_type: 'number' + } + filter { + field: ref('users', 'first_acquired_at') + operator: 'matches' + value: 'last year to current year' + } + theme { + table { + general { + borders { + outer: true + vertical: true + } + } + } + } + rows: [ + VizFieldFull { + ref: ref('users', 'first_acquired_at') + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + ] + columns: [ + VizFieldFull { + ref: ref('orders', 'months_from_first_orders') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + values: [ + VizFieldFull { + ref: 'total_users_retention' + format { + type: 'number' + pattern: '#,###0.00%' + group_separator: ',' + decimal_separator: '.' + } + uname: 'custom_total_users_retention' + }, + VizFieldFull { + ref: r(khai_ecommerce.total_users) + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + conditional_formats: [ + ConditionalFormat { + key: 'custom_total_users_retention' + format: ScaleFormat { + min { + value: 0.2 + color: '#FFFFFF' + } + max { + value: 0.7 + color: '#47B881' + } + } + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + column_styles: [ + ColumnStyle { + key: 'custom_total_users_retention' + width: 74 + } + ] + } + } + } + block v_grip: VizBlock { + label: 'Cohort Retention copy' + viz: PivotTable { + dataset: khai_ecommerce + calculation first_acquired_at { + label: 'First Acquired At' + formula: @aql dimensionalize( + min(orders.created_at), + users.id +);; + calc_type: 'dimension' + data_type: 'datetime' + model: users + } + calculation months_from_first_orders { + label: 'Months From First Orders' + formula: @aql date_diff( + 'month', + users.first_acquired_at, + orders.created_at +);; + calc_type: 'dimension' + data_type: 'number' + model: orders + } + calculation total_users_retention { + label: 'Total Users Retention' + formula: @aql (total_users * 1.0) +/ +(total_users | of_all(orders.months_from_first_orders));; + calc_type: 'measure' + data_type: 'number' + } + filter { + field: ref('users', 'first_acquired_at') + operator: 'matches' + value: 'last year to current year' + } + filter { + field: ref('orders', 'months_from_first_orders') + operator: 'less_than' + value: '1' + } + theme { + table { + general { + borders { + outer: true + vertical: true + } + } + } + } + rows: [ + VizFieldFull { + ref: ref('users', 'first_acquired_at') + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + } + ] + columns: [ + VizFieldFull { + ref: ref('orders', 'months_from_first_orders') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + values: [ + VizFieldFull { + ref: 'total_users_retention' + format { + type: 'number' + pattern: '#,###0.00%' + group_separator: ',' + decimal_separator: '.' + } + uname: 'custom_total_users_retention' + }, + VizFieldFull { + ref: r(khai_ecommerce.total_users) + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_total_users' + } + ] + settings { + conditional_formats: [ + ConditionalFormat { + key: 'custom_total_users_retention' + format: ScaleFormat { + min { + value: 0.2 + color: '#FFFFFF' + } + max { + value: 0.7 + color: '#47B881' + } + } + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + column_styles: [ + ColumnStyle { + key: 'custom_total_users_retention' + width: 62 + }, + ColumnStyle { + key: 'custom_total_users' + width: 91 + } + ] + } + } + settings { + hide_label: true + } + } + block v_xt6f: VizBlock { + label: 'Cohort Retention copy copy' + viz: PivotTable { + dataset: khai_ecommerce + calculation first_acquired_at { + label: 'First Acquired At' + formula: @aql dimensionalize( + min(orders.created_at), + users.id +);; + calc_type: 'dimension' + data_type: 'datetime' + model: users + } + calculation months_from_first_orders { + label: 'Months From First Orders' + formula: @aql date_diff( + 'month', + users.first_acquired_at, + orders.created_at +);; + calc_type: 'dimension' + data_type: 'number' + model: orders + } + calculation total_users_retention { + label: 'Total Users Retention' + formula: @aql (total_users * 1.0) +/ +(total_users | of_all(orders.months_from_first_orders));; + calc_type: 'measure' + data_type: 'number' + } + filter { + field: ref('users', 'first_acquired_at') + operator: 'matches' + value: 'last year to current year' + } + filter { + field: ref('orders', 'months_from_first_orders') + operator: 'greater_than' + value: '0' + } + theme { + table { + general { + borders { + outer: true + vertical: true + } + } + } + } + rows: [ + VizFieldFull { + ref: ref('users', 'first_acquired_at') + transformation: 'datetrunc month' + format { + type: 'date' + pattern: 'LLL yyyy' + } + hidden: true + } + ] + columns: [ + VizFieldFull { + ref: ref('orders', 'months_from_first_orders') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + values: [ + VizFieldFull { + ref: 'total_users_retention' + format { + type: 'number' + pattern: '#,###0.00%' + group_separator: ',' + decimal_separator: '.' + } + uname: 'custom_total_users_retention' + } + ] + settings { + conditional_formats: [ + ConditionalFormat { + key: 'custom_total_users_retention' + format: ScaleFormat { + min { + value: 0.2 + color: '#FFFFFF' + } + max { + value: 0.7 + color: '#47B881' + } + } + } + ] + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + column_styles: [ + ColumnStyle { + key: 'custom_total_users_retention' + width: 111 + } + ] + } + } + settings { + hide_label: true + } + } +} \ No newline at end of file diff --git a/team-folders/tai/test_extend/tai_ecom.page.aml b/team-folders/tai/test_extend/tai_ecom.page.aml new file mode 100644 index 0000000..84fc7e5 --- /dev/null +++ b/team-folders/tai/test_extend/tai_ecom.page.aml @@ -0,0 +1,1796 @@ +// use lib +// use demo + +Dashboard tai_ecom { + title: 'Ecommerce Dashboard - Pro' + + block hd1: TextBlock { + content: @md + demo;; + } + block hd2: TextBlock { + content: @md
+

Ecommerce Dashboard

+
;; + } + block hd3: TextBlock { + content: @md

;; + theme { + background { + bg_image: 'linear-gradient(97deg, #051527 20%, #071945 80%)' + } + } + } + block t2: TextBlock { + content: @md
+

+This dashboard tracks the KPIs of all managers for their respective teams. This will also be presented in our monthly presentation to our board and investors. +

+ +
;; + } + block v1: VizBlock { + label: ' KPI Overview' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('dim_dates', 'date_key') + operator: 'matches' + value: 'last 1 years to today' + } + columns: [ + VizFieldFull { + ref: ref('dim_dates', 'date_key') + transformation: 'datetrunc year' + format { + type: 'date' + pattern: 'yyyy' + } + } + ] + values: [ + VizFieldFull { + ref: ref('ecommerce_orders', 'total_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_total_orders_count' + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'cancelled_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'refunded_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'delivered_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'nmv') + format { + type: 'number' + pattern: '[$$]#,###0.00' + } + }, + VizFieldFull { + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###0.00' + } + }, + VizFieldFull { + ref: ref('order_master', 'aov') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + value_labels_position { + placement: 'rows' + } + column_styles: [ + ColumnStyle { + key: 'custom_total_orders_count' + width: 278 + } + ] + } + } + settings { + hide_label: true + } + } + block v2: VizBlock { + label: 'GMV' + viz: MetricKpi { + dataset: demo_ecommerce + // calculation f_2fb1cc3 { + // label: 'GMT last year' + // formula: @aml order_master.gmv * 0.87;; + // calc_type: 'measure' + // data_type: 'number' + // } + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + value: VizFieldFull { + label: 'Gross Merchandise Value' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###' + } + } + compare_value: VizPopSettings { + field: ref('order_master', 'order_created_at') + duration: 1 + granularity: 'year' + } + } + settings { + hide_label: true + } + } + block v2_dup_dup: VizBlock { + label: 'Top selling product category' + viz: PieChart { + dataset: demo_ecommerce + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + legend: VizFieldFull { + ref: ref('map_categories', 'parent_category') + format { + type: 'text' + } + } + series { + field: VizFieldFull { + label: ' ' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###' + } + } + settings { + point { + value: 'Clothes' + color: '#255DD4' + } + point { + value: 'Groceries' + color: '#18A59E' + } + point { + value: 'Skin Care' + color: '#F2B602' + } + point { + value: 'Home Furniture' + color: '#AF7DED' + } + point { + value: 'Mobiles & Tablets' + color: '#A50E43' + } + point { + value: 'Home Entertainment' + color: '#07326C' + } + } + } + settings { + display_as_donut: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v6: VizBlock { + label: 'Top selling products' + viz: DataTable { + dataset: demo_ecommerce + calculation f_28374b6 { + label: 'Product Image' + formula: @aml concat('');; + calc_type: 'dimension' + data_type: 'text' + } + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + fields: [ + VizFieldFull { + label: 'Product Name' + ref: ref('ecommerce_products', 'product_google_link') + format { + type: 'html' + } + uname: 'ecommerce_products_product_google_link' + }, + VizFieldFull { + ref: 'f_28374b6' + format { + type: 'html' + } + uname: 'f_28374b6_text' + }, + VizFieldFull { + ref: ref('order_master', 'discount') + aggregation: 'avg' + format { + type: 'number' + pattern: '#,###%' + } + }, + VizFieldFull { + label: 'Quantity Sold' + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + label: 'GMV' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###' + } + } + ] + settings { + pagination_size: 100 + row_height: 'multiple_lines' + sorts: [ + SortSetting { + field_index: 4 + direction: 'desc' + } + ] + conditional_formats: [ + ConditionalFormat { + ref: ref('order_master', 'gmv') + format: ScaleFormat { + min { + value: 0 + color: '#E9EFFB' + } + max { + value: 100000 + color: '#255DD4' + } + } + }, + ConditionalFormat { + ref: ref('order_master', 'order_count') + format: ScaleFormat { + min { + value: 0 + color: '#FFFFFF' + } + max { + value: 600 + color: '#47B881' + } + } + } + ] + column_width { + manual_widths: [ + ColumnWidth { + key: 'ecommerce_products_product_google_link' + width: 145 + }, + ColumnWidth { + key: 'f_28374b6_text' + width: 99 + } + ] + } + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v7: VizBlock { + label: 'Cohort Retention' + viz: RetentionHeatmap { + dataset: demo_ecommerce + filter { + field: ref('user_cohort_retention', 'cohort_month') + operator: 'matches' + value: '2023' + } + cohort: VizFieldFull { + label: 'Cohort Month' + ref: ref('user_cohort_retention', 'cohort_month') + transformation: 'datetrunc month' + format { + type: 'date' + } + } + cohort_size: VizFieldFull { + ref: ref('user_cohort_retention', 'cohort_size') + format { + type: 'number' + pattern: 'inherited' + } + } + cohort_duration: VizFieldFull { + ref: ref('user_cohort_retention', 'relative_month_disp') + format { + type: 'text' + } + } + cohort_value: VizFieldFull { + ref: ref('user_cohort_retention', 'active_users_count') + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + block users_vs_orders_growth: VizBlock { + label: 'Users vs Orders Growth' + viz: CombinationChart { + dataset: demo_ecommerce + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'sign_up_date') + transformation: 'datetrunc quarter' + format { + type: 'date' + } + } + y_axis { + series { + mark_type: 'column' + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#18A59E' + } + } + } + y_axis { + settings { + alignment: 'right' + } + series { + mark_type: 'line' + field: VizFieldFull { + ref: ref('order_master', 'delivered_orders_count') + format { + type: 'number' + } + } + settings { + color: '#255DD4' + line_interpolation: 'smooth' + } + } + } + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v10: VizBlock { + label: 'Total Users compared with Target Users' + viz: MetricKpi { + dataset: demo_ecommerce + calculation f_d80427a { + label: 'Target Users' + formula: @aml ecommerce_users.users_signed_up_count * 1.38;; + calc_type: 'measure' + data_type: 'number' + } + value: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + compare_value: VizFieldFull { + ref: 'f_d80427a' + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + display_mode: 'progress' + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v12: VizBlock { + label: 'Daily GMV vs. 7-day Moving Average' + viz: CombinationChart { + dataset: demo_ecommerce + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + x_axis: VizFieldFull { + ref: ref('order_master', 'order_created_at') + transformation: 'datetrunc day' + format { + type: 'date' + pattern: 'LLL dd, yyyy' + } + } + y_axis { + series { + mark_type: 'line' + field: VizFieldFull { + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '#,###' + } + } + settings { + color: '#D1EDEC' + line_interpolation: 'smooth' + } + } + series { + mark_type: 'line' + field: VizFieldFull { + label: '7-day MovAvg of GMV' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '#,###' + } + analytic: MovingCalculationField { + type: 'avg' + order: 'row' + range { + previous: 7 + next: 0 + } + null_if_not_enough_values: true + } + } + settings { + color: '#18A59E' + line_interpolation: 'smooth' + } + } + } + settings { + legend_label: 'right' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + description: @md # Description +abc;; + } + block filter_by_country: FilterBlock { + label: 'Country' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: ref('ecommerce_countries', 'name') + } + default { + operator: 'is' + value: [] + } + settings { + hide_label: true + input_type: 'nullable-single' + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block t5: TextBlock { + content: @md

Overview

;; + } + block t6: TextBlock { + content: @md

Regional Analysis

;; + } + block t8: TextBlock { + content: @md

User Analysis

;; + } + block filter_by_country_text: TextBlock { + content: @md

Filter by Country

;; + } + block t10: TextBlock { + content: @md + + ;; + } + block t11: TextBlock { + content: @md + + ;; + } + block t12: TextBlock { + content: @md + + ;; + } + block v13: VizBlock { + label: 'GMV by Country' + viz: BarChart { + dataset: demo_ecommerce + legend: VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + y_axis { + settings { + axis_max: 12000000 + show_data_label_by: 'value' + } + series { + field: VizFieldFull { + label: ' ' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '#,###' + } + } + settings { + color: '#255DD4' + point { + value: 'India' + color: '#AF7DED' + } + point { + value: 'France' + color: '#18A59E' + } + point { + value: 'Germany' + color: '#07326C' + } + point { + value: 'Vietnam' + color: '#07326C' + } + point { + value: 'Australia' + color: '#255DD4' + } + point { + value: 'Indonesia' + color: '#A50E43' + } + point { + value: 'Singapore' + color: '#F2B602' + } + point { + value: 'South Korea' + color: '#E27712' + } + point { + value: 'United States' + color: '#18A59E' + } + point { + value: 'United Kingdom' + color: '#255DD4' + } + } + } + } + settings { + legend_label: 'left' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block filter_by_country_wrapper: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block filter_by_age_group_text: TextBlock { + content: @md

Filter by Age Group

;; + } + block filter_by_age_group: FilterBlock { + label: 'Age Group' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: ref('ecommerce_users', 'age_group') + } + default { + operator: 'is' + value: [] + } + settings { + hide_label: true + input_type: 'nullable-single' + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block filter_by_city: FilterBlock { + label: 'City' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: ref('ecommerce_cities', 'name') + } + default { + operator: 'is' + value: [] + } + settings { + hide_label: true + input_type: 'nullable-single' + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block filter_by_city_text: TextBlock { + content: @md

Filter by City

;; + } + block v15: VizBlock { + label: 'Average Order Value over time' + viz: CombinationChart { + dataset: demo_ecommerce + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + x_axis: VizFieldFull { + ref: ref('order_master', 'order_created_at') + transformation: 'datetrunc week' + format { + type: 'date' + pattern: 'wwww' + } + } + y_axis { + series { + mark_type: 'line' + field: VizFieldFull { + ref: ref('order_master', 'aov') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#18A59E' + } + } + } + settings { + pop { + field: ref('order_master', 'order_created_at') + duration: 1 + granularity: 'year' + show_growth_rate: true + } + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v16: VizBlock { + label: 'Sales Funnel' + viz: ConversionFunnel { + dataset: demo_ecommerce_users + breakdown_by: VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + values: [ + VizFieldFull { + ref: ref('ecommerce_users', 'users_signed_up_count') + format { + type: 'number' + } + }, + VizFieldFull { + label: 'Users Purchased' + ref: ref('user_facts_aggr', 'buyers_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + label: 'Users Repeated Purchased' + ref: ref('user_facts_aggr', 'repeated_buyers_count') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + circle_color: '#18A59E' + columns_color: '#255DD4' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block t38: TextBlock { + content: @md

;; + theme { + background { + bg_image: 'linear-gradient(97deg, #051527 20%, #071945 80%)' + } + } + } + block t39: TextBlock { + content: @md + + demo + ;; + } + block t40: TextBlock { + content: @md + + + + +;; + } + // block t46: background_gray() + block t47: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t49: TextBlock { + content: @md
;; + } + block t51: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t52: TextBlock { + content: @md
;; + } + block t53: TextBlock { + content: @md
;; + } + block t54: TextBlock { + content: @md To embed external content;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block filter_by_city_wrapper: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block filter_by_age_group_wrapper: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block v17: VizBlock { + label: 'Total Users and Delivered Orders Count by Quarter Sign Up Date' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('ecommerce_users', 'age_group') + operator: 'is_not' + value: '3. From 40 to 49' + } + rows: [ + VizFieldFull { + ref: ref('ecommerce_countries', 'continent_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + ] + columns: [ + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + ] + values: [ + VizFieldFull { + ref: ref('order_master', 'revenue') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_total: true + show_column_total: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + } + } + } + block v18: VizBlock { + label: 'Customer Info and Buying Behavior' + viz: DataTable { + dataset: demo_ecommerce + fields: [ + VizFieldFull { + ref: ref('ecommerce_users', 'full_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + uname: 'ecommerce_countries_name' + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_products', 'total_products') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'cancelled_order_ratio') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_cancelled_order_ratio' + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + column_styles: [ + ColumnStyle { + key: 'ecommerce_countries_name' + width: 216 + }, + ColumnStyle { + key: 'custom_cancelled_order_ratio' + width: 180 + } + ] + } + } + } + block p1: PopBlock { + label: 'Compare with Period' + } + block v19: VizBlock { + label: 'Total Users and Total Users by Age Demographic and Gender' + viz: ColumnChart { + dataset: demo_ecommerce + theme { + + } + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + legend: VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + } + y_axis { + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#07326C' + point { + value: 'Male' + color: '#FB8761' + } + point { + value: 'Female' + color: '#64628c' + } + } + } + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + break_by_legend: false + } + } + } + settings { + x_axis_show_null_datetime: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v20: VizBlock { + label: ' KPI Overview' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('dim_dates', 'date_key') + operator: 'matches' + value: '12 months ago to last month end' + } + columns: [ + VizFieldFull { + ref: ref('dim_dates', 'date_key') + transformation: 'datetrunc year' + format { + type: 'date' + pattern: 'yyyy' + } + } + ] + values: [ + VizFieldFull { + ref: ref('ecommerce_orders', 'total_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_total_orders_count' + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'cancelled_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'refunded_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_orders', 'delivered_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'nmv') + format { + type: 'number' + pattern: '[$$]#,###0.00' + } + }, + VizFieldFull { + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###0.00' + } + }, + VizFieldFull { + ref: ref('order_master', 'aov') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_total: true + aggregate_awareness { + enabled: true + debug_comments: true + } + value_labels_position { + placement: 'rows' + } + column_styles: [ + ColumnStyle { + key: 'custom_total_orders_count' + width: 322 + } + ] + } + } + settings { + hide_label: true + } + } + block v21: VizBlock { + label: ' KPI Overview' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('dim_dates', 'date_key') + operator: 'matches' + value: 'last 1 years to today' + } + columns: [ + VizFieldFull { + ref: ref('dim_dates', 'date_key') + transformation: 'datetrunc year' + format { + type: 'date' + pattern: 'yyyy' + } + } + ] + values: [ + VizFieldFull { + label: '%∆ Total Orders Count (prev. 1y)' + ref: ref('ecommerce_orders', 'total_orders_count') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_total_orders_count' + }, + VizFieldFull { + label: '%∆ Cancelled Orders Count (prev. 1y)' + ref: ref('ecommerce_orders', 'cancelled_orders_count') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_cancelled_orders_count' + }, + VizFieldFull { + label: '%∆ Refunded Orders Count (prev. 1y)' + ref: ref('ecommerce_orders', 'refunded_orders_count') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_refunded_orders_count' + }, + VizFieldFull { + label: '%∆ Delivered Orders Count (prev. 1y)' + ref: ref('ecommerce_orders', 'delivered_orders_count') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_delivered_orders_count' + }, + VizFieldFull { + label: '%∆ Nmv (prev. 1y)' + ref: ref('order_master', 'nmv') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_nmv' + }, + VizFieldFull { + label: '%∆ Gmv (prev. 1y)' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_gmv' + }, + VizFieldFull { + label: '%∆ Aov (prev. 1y)' + ref: ref('order_master', 'aov') + format { + type: 'number' + pattern: '#,###%' + } + analytic: PeriodOverPeriodComparison { + time_dimension: ref('dim_dates', 'date_key') + display: 'percent_change' + comparison_period: 'relative to previous 1 year' + } + uname: 'custom_aov' + } + ] + settings { + conditional_formats: [ + ConditionalFormat { + key: 'custom_total_orders_count' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_total_orders_count' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_total_orders_count' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_cancelled_orders_count' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_cancelled_orders_count' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_cancelled_orders_count' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_refunded_orders_count' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_refunded_orders_count' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_refunded_orders_count' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_delivered_orders_count' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_delivered_orders_count' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_delivered_orders_count' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_nmv' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_nmv' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_nmv' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_gmv' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_gmv' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_gmv' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_aov' + format: SingleFormat { + condition { + operator: 'greater_than' + value: 0 + } + text_color: '#399367' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_aov' + format: SingleFormat { + condition { + operator: 'is' + value: 0 + } + text_color: '#B16920' + background_color: '#00000000' + } + }, + ConditionalFormat { + key: 'custom_aov' + format: SingleFormat { + condition { + operator: 'less_than' + value: 0 + } + text_color: '#BF0E08' + background_color: '#00000000' + } + } + ] + aggregate_awareness { + enabled: true + debug_comments: true + } + value_labels_position { + placement: 'rows' + } + column_styles: [ + ColumnStyle { + key: 'custom_total_orders_count' + width: 328 + } + ] + } + } + settings { + hide_label: true + } + } + view: CanvasLayout { + label: 'View 1' + width: 1540 + height: 4460 + grid_size: 20 + block hd1 { + position: pos(1320, 20, 180, 50) + } + block hd2 { + position: pos(40, 20, 640, 60) + } + block hd3 { + position: pos(0, 0, 1540, 200) + layer: -1 + } + block t2 { + position: pos(40, 100, 660, 50) + } + block v1 { + position: pos(60, 700, 760, 380) + } + block v2 { + position: pos(80, 360, 300, 140) + } + block v2_dup_dup { + position: pos(440, 2200, 380, 500) + } + block v6 { + position: pos(840, 2200, 680, 500) + } + block v7 { + position: pos(60, 3280, 1440, 430) + } + block users_vs_orders_growth { + position: pos(380, 2860, 560, 400) + } + block v10 { + position: pos(80, 500, 320, 140) + } + block v12 { + position: pos(480, 340, 1000, 300) + layer: -1 + } + block filter_by_country { + position: pos(80, 2920, 260, 40) + } + block t5 { + position: pos(40, 220, 1460, 80) + } + block t6 { + position: pos(40, 1190, 1460, 80) + } + block t8 { + position: pos(60, 2760, 1460, 80) + } + block filter_by_country_text { + position: pos(80, 2880, 260, 40) + } + block t10 { + position: pos(920, 100, 180, 50) + } + block t11 { + position: pos(1120, 100, 180, 50) + } + block t12 { + position: pos(1320, 100, 180, 50) + } + block v13 { + position: pos(40, 1280, 720, 460) + } + block filter_by_country_wrapper { + position: pos(60, 2860, 300, 120) + layer: -2 + } + block filter_by_age_group_text { + position: pos(80, 3160, 260, 40) + } + block filter_by_age_group { + position: pos(80, 3200, 260, 40) + } + block filter_by_city { + position: pos(80, 3060, 260, 40) + } + block filter_by_city_text { + position: pos(80, 3020, 260, 40) + layer: 1 + } + block v15 { + position: pos(960, 2860, 560, 400) + } + block v16 { + position: pos(780, 1280, 720, 460) + } + block t38 { + position: pos(0, 4300, 1540, 170) + layer: -1 + } + block t39 { + position: pos(60, 3760, 200, 70) + } + block t40 { + position: pos(1120, 4340, 400, 110) + } + block t47 { + position: pos(1420, 1140, 80, 100) + layer: 1 + } + block t49 { + position: pos(40, 660, 1460, 420) + layer: -4 + } + block t51 { + position: pos(1440, 2720, 80, 100) + layer: 1 + } + block t52 { + position: pos(460, 320, 1040, 340) + layer: -2 + } + block t53 { + position: pos(40, 320, 400, 340) + layer: -2 + } + block t54 { + position: pos(60, 2200, 360, 500) + } + block filter_by_city_wrapper { + position: pos(60, 3000, 300, 120) + layer: -1 + } + block filter_by_age_group_wrapper { + position: pos(60, 3140, 300, 120) + layer: -1 + } + block v17 { + position: pos(40, 1760, 1480, 420) + } + block v18 { + position: pos(60, 3720, 1480, 500) + } + block p1 { + position: pos(1300, 2860, 220, 60) + layer: 2 + } + block v19 { + position: pos(20, 4490, 400, 300) + layer: 3 + } + block v20 { + position: pos(280, 700, 1180, 380) + layer: -3 + } + block v21 { + position: pos(280, 700, 860, 260) + layer: -1 + } + mobile { + mode: 'auto' + } + } + settings { + timezone: 'America/Los_Angeles' + cache_duration: 10 + } + interactions: [ + PopInteraction { + from: 'p1' + to: [ + CustomMapping { + block: 'v15' + field: ref('order_master', 'order_created_at') + } + ] + } + ] +} \ No newline at end of file diff --git a/team-folders/tai/test_extend/tai_ecom_external.page.aml b/team-folders/tai/test_extend/tai_ecom_external.page.aml new file mode 100644 index 0000000..e941781 --- /dev/null +++ b/team-folders/tai/test_extend/tai_ecom_external.page.aml @@ -0,0 +1,43 @@ +const hide_position = pos(-200, 0, 0, 0) + +Dashboard tai_ecom_external = tai_ecom.extend({ + view: tai_ecom.view.extend({ + // hide country filter + block filter_by_country { + position: hide_position + } + block filter_by_country_text { + position: hide_position + } + block filter_by_country_wrapper { + position: hide_position + } + + // hide city filter + block filter_by_city { + position: hide_position + } + block filter_by_city_text { + position: hide_position + } + block filter_by_city_wrapper { + position: hide_position + } + + // hide age group + block filter_by_age_group { + position: hide_position + } + block filter_by_age_group_text { + position: hide_position + } + block filter_by_age_group_wrapper { + position: hide_position + } + + // move users vs order growth + block users_vs_orders_growth { + position: pos(60, 2860, 560, 400) + } + }) +}) \ No newline at end of file diff --git a/test_new.page.aml b/test_new.page.aml index 02dc38c..96ceff1 100644 --- a/test_new.page.aml +++ b/test_new.page.aml @@ -31,14 +31,14 @@ Dashboard test_new { view: CanvasLayout { label: 'View 1' width: 1300 - height: 810 + height: 270 grid_size: 20 auto_expand_vertically: true block title { position: pos(20, 20, 1260, 60) } block v_c3vu { - position: pos(350, 370, 620, 420) + position: pos(350, 100, 620, 420) } mobile { mode: 'auto' diff --git a/untitled_5.page.aml b/untitled_5.page.aml new file mode 100644 index 0000000..e2833c0 --- /dev/null +++ b/untitled_5.page.aml @@ -0,0 +1,24 @@ +Dashboard untitled_5 { + title: 'Untitled' + description: '' + owner: 'thang.lk@holistics.io' + block title: TextBlock { + content: @md # Your title goes here sdas;; + } + + view: CanvasLayout { + label: 'View 1' + width: 1300 + height: 800 + grid_size: 20 + auto_expand_vertically: true + block title { + position: pos(20, 20, 280, 140) + } + mobile { + mode: 'auto' + } + } + + theme: H.themes.vanilla +} \ No newline at end of file diff --git a/version.aml b/version.aml index 9001afa..7acbb58 100644 --- a/version.aml +++ b/version.aml @@ -1 +1 @@ -const AML_VERSION = '2.0' \ No newline at end of file +const AML_VERSION = '2.0' \ No newline at end of file From d2f96562850cbb113027ba0b6cb94fe8bc4106c1 Mon Sep 17 00:00:00 2001 From: Thang Date: Thu, 22 Jan 2026 10:12:05 +0000 Subject: [PATCH 15/28] Rename dataset to 'ecommerce767' with updated label to 'ecommerce2' --- team-folders/Thang/ecommerce.thang.dataset.aml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/team-folders/Thang/ecommerce.thang.dataset.aml b/team-folders/Thang/ecommerce.thang.dataset.aml index c4a295b..a7238a6 100644 --- a/team-folders/Thang/ecommerce.thang.dataset.aml +++ b/team-folders/Thang/ecommerce.thang.dataset.aml @@ -1,4 +1,4 @@ -Dataset ecommerce { +Dataset ecommerce767 { label: 'ecommerce2' description: '' data_source_name: 'movies_lens' From fcd5e2a1e03e25f195719462e8b352a6672d517e Mon Sep 17 00:00:00 2001 From: Thang Date: Thu, 22 Jan 2026 10:13:08 +0000 Subject: [PATCH 16/28] Fix typo in 'ecommerce' dataset by correcting field name in 'order_text' definition --- team-folders/Thang/ecommerce.thang.dataset.aml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/team-folders/Thang/ecommerce.thang.dataset.aml b/team-folders/Thang/ecommerce.thang.dataset.aml index a7238a6..7b2ac50 100644 --- a/team-folders/Thang/ecommerce.thang.dataset.aml +++ b/team-folders/Thang/ecommerce.thang.dataset.aml @@ -1,4 +1,4 @@ -Dataset ecommerce767 { +Dataset ecommerce { label: 'ecommerce2' description: '' data_source_name: 'movies_lens' @@ -63,7 +63,7 @@ Dataset ecommerce767 { type: "text" hidden: false description: "" - definition: @aql concat(cast(ecommerce_orders2.id, 'text'), " ", ecommerce_orders2.status);; + definition: @aql concat(cast(ecommerce_orders2.i9d, 'text'), " ", ecommerce_orders2.status);; model: ecommerce_orders2 } } \ No newline at end of file From fdec26ce8cf52de088b8d994fc70c6ef0c91024c Mon Sep 17 00:00:00 2001 From: Thang Date: Tue, 27 Jan 2026 10:48:27 +0000 Subject: [PATCH 17/28] Remove 'untitled_10' dashboard and all associated visualization and filter blocks --- Hieu/untitled_10.page.aml | 396 -------------------------------------- 1 file changed, 396 deletions(-) delete mode 100644 Hieu/untitled_10.page.aml diff --git a/Hieu/untitled_10.page.aml b/Hieu/untitled_10.page.aml deleted file mode 100644 index 3f81a3f..0000000 --- a/Hieu/untitled_10.page.aml +++ /dev/null @@ -1,396 +0,0 @@ -Dashboard untitled_10_2 { - title: 'untitled_10' - description: '' - owner: 'hieu.nht@holistics.io' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v_eq1j: VizBlock { - label: 'fff' - viz: DataTable { - dataset: hieu_haha_meme - fields: [ - VizFieldFull { - label: 'Id' - ref: r(orderskk.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(orderskk.tenant_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - label: 'user id' - ref: r(users_kk.id) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - show_row_with_no_data: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_tf0o: VizBlock { - label: 'fdf' - viz: DataTable { - dataset: hieu_haha_meme - fields: [ - VizFieldFull { - ref: r(users_kk.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(users_kk.name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(users_kk.tenant_id) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_2lji: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_565b570 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 year));; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_565b570' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_w2x5: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At copy' - viz: LineChart { - dataset: simple_dataset - calculation metric_565b570 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 year));; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_565b570' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_zf66: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_565b570 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql safe_divide(ecommerce_orders.total_orders_count, ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 year))) - 1;; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_565b570' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_62fh: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_77e4577 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 month));; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_77e4577' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ztg3: VizBlock { - label: 'Total Orders Count, PoP Comparison of Orders Total Orders..., and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_77e4577 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql safe_divide(ecommerce_orders.total_orders_count, ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 month))) - 1;; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - }, - VizFieldFull { - ref: r(ecommerce_orders.id) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block f_orders_tenant_id: FilterBlock { - label: 'Orders tenant_id' - type: 'field' - source: FieldFilterSource { - dataset: hieu_haha_meme - field: r(orderskk.tenant_id) - } - default { - operator: 'is' - value: [] - } - } - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 1100 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - block v_eq1j { - position: pos(480, 220, 620, 420) - } - block v_tf0o { - position: pos(40, 240, 380, 420) - } - block v_2lji { - position: pos(40, 680, 620, 420) - } - block v_w2x5 { - position: pos(700, 680, 380, 420) - } - block v_zf66 { - position: pos(20, 1120, 620, 420) - layer: 1 - } - block v_62fh { - position: pos(660, 1120, 620, 420) - layer: 2 - } - block v_ztg3 { - position: pos(20, 1560, 620, 420) - layer: 3 - } - block f_orders_tenant_id { - position: pos(40, 140, 300, 80) - } - mobile { - mode: 'auto' - } - } - theme: H.themes.vanilla - interactions: [ - FilterInteraction { - from: 'f_orders_tenant_id' - to: [ - CustomMapping { - block: 'v_tf0o' - field: ref('users_kk', 'tenant_id') - } - ] - } - ] -} \ No newline at end of file From f55d1d7b2bdec7575332d0f17adbdebbfe4a6d5f Mon Sep 17 00:00:00 2001 From: Thang Date: Tue, 27 Jan 2026 10:50:16 +0000 Subject: [PATCH 18/28] Remove datasets 'hieu_haha_meme' and 'ecommerce2' to clean obsolete data sources --- Hieu/hieu_haha_meme.dataset.aml | 21 ------ .../Thang/ecommerce.thang.dataset.aml | 69 ------------------- 2 files changed, 90 deletions(-) delete mode 100644 Hieu/hieu_haha_meme.dataset.aml delete mode 100644 team-folders/Thang/ecommerce.thang.dataset.aml diff --git a/Hieu/hieu_haha_meme.dataset.aml b/Hieu/hieu_haha_meme.dataset.aml deleted file mode 100644 index ac8faaf..0000000 --- a/Hieu/hieu_haha_meme.dataset.aml +++ /dev/null @@ -1,21 +0,0 @@ -Dataset hieu_haha_meme { - label: 'hieu_haha_meme' - description: '' - data_source_name: 'movies_lens' - models: [ - orderskk, - users_kk - ] - relationships: [ - relationship(orderskk.user_id > users_kk.id, false), - relationship(users_kk.tenant_id > tenants.id, true), - relationship(orderskk.tenant_id > tenants.id, true) - ] - dimension dimension_600e63f { - label: "Untitled Dimension" - type: "number" - description: "" - definition: @aql users_kk.id | with_relationships(orderskk.user_id > users_kk.id);; - model: orderskk - } -} \ No newline at end of file diff --git a/team-folders/Thang/ecommerce.thang.dataset.aml b/team-folders/Thang/ecommerce.thang.dataset.aml deleted file mode 100644 index 7b2ac50..0000000 --- a/team-folders/Thang/ecommerce.thang.dataset.aml +++ /dev/null @@ -1,69 +0,0 @@ -Dataset ecommerce { - label: 'ecommerce2' - description: '' - data_source_name: 'movies_lens' - models: [ - ecommerce_orders2, - ecommerce_users2 - ] - relationships: [ - relationship(ecommerce_orders2.user_id > ecommerce_users2.id, true) - ] - metric avg_delivered_orders_per_user { - label: "Avg Delivered Orders Per User" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2.completed_orders_count - / ecommerce_users2.total_users;; - } - metric high_value_users { - label: "High value users" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2 -| group(ecommerce_users2.id) -| filter( - count(ecommerce_orders2.id) - | where(ecommerce_orders2.status == 'delivered') - >= 20 - ) -| count();; - format: "" - } - metric medium_value_user { - label: "Medium Value User" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2 -| filter(ecommerce_orders2.status == 'delivered') -| group(ecommerce_users2.id) -| filter(count(ecommerce_orders2.id) >= 5 and count(ecommerce_orders2.id) <= 19) -| count() -;; - } - metric low_value_user { - label: "Low Value User" - type: "number" - hidden: false - description: "" - definition: @aql ecommerce_orders2 -| group(ecommerce_users2.id) -| filter( - count(ecommerce_orders2.id) - | where(ecommerce_orders2.status == 'delivered') - <= 2 - ) -| count();; - } - dimension dimension_0df1960 { - label: "Concat field" - type: "text" - hidden: false - description: "" - definition: @aql concat(cast(ecommerce_orders2.i9d, 'text'), " ", ecommerce_orders2.status);; - model: ecommerce_orders2 - } -} \ No newline at end of file From 2f5dc09cdd8acfb2ebf737618df79590062871ac Mon Sep 17 00:00:00 2001 From: Thang Date: Fri, 30 Jan 2026 05:33:20 +0000 Subject: [PATCH 19/28] Update 'demo_ecommerce_dashboard_thang' to use 'order_master2' for order_created_at filters and fix title spacing in '0. Ecommerce Dashboard 3.0' --- .../drill_dashboards/_0_ecommerce_dashboard_30.page.aml | 2 +- team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/demo ecommerce/dashboards/drill_dashboards/_0_ecommerce_dashboard_30.page.aml b/demo ecommerce/dashboards/drill_dashboards/_0_ecommerce_dashboard_30.page.aml index 3622d7b..8734dfc 100644 --- a/demo ecommerce/dashboards/drill_dashboards/_0_ecommerce_dashboard_30.page.aml +++ b/demo ecommerce/dashboards/drill_dashboards/_0_ecommerce_dashboard_30.page.aml @@ -1,5 +1,5 @@ Dashboard _0_ecommerce_dashboard_30 { - title: '0. Ecommerce Dashboard 3.0' + title: '0. Ecommerce Dashboard 3. 0' block date: FilterBlock { label: 'Date' type: 'field' diff --git a/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml b/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml index 6c07270..a819646 100644 --- a/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml +++ b/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml @@ -147,7 +147,7 @@ This dashboard tracks the KPIs of all managers for their respective teams. This // data_type: 'number' // } filter { - field: ref('order_master', 'order_created_at') + field: ref('order_master2', 'order_created_at') operator: 'matches' value: '2023' } @@ -470,7 +470,7 @@ This dashboard tracks the KPIs of all managers for their respective teams. This viz: CombinationChart { dataset: demo_ecommerce filter { - field: ref('order_master', 'order_created_at') + field: ref('order_master2', 'order_created_at') operator: 'matches' value: '2023' } From a397016927593e4e486b3c39e6d4dd376441e5d1 Mon Sep 17 00:00:00 2001 From: Thang Date: Fri, 30 Jan 2026 05:35:55 +0000 Subject: [PATCH 20/28] Update title of 'demo_ecommerce_dashboard_thang' to 'Ecommerce Dashboard - THANG' --- Hieu/hieu_haha_meme.dataset.aml | 23 - Hieu/untitled_10.page.aml | 437 ------------------ .../demo_ecommerce_dashboard_thang.page.aml | 2 +- 3 files changed, 1 insertion(+), 461 deletions(-) delete mode 100644 Hieu/hieu_haha_meme.dataset.aml delete mode 100644 Hieu/untitled_10.page.aml diff --git a/Hieu/hieu_haha_meme.dataset.aml b/Hieu/hieu_haha_meme.dataset.aml deleted file mode 100644 index d6ab653..0000000 --- a/Hieu/hieu_haha_meme.dataset.aml +++ /dev/null @@ -1,23 +0,0 @@ -Dataset hieu_haha_meme { - label: 'hieu_haha_meme' - description: '' - data_source_name: 'movies_lens' - models: [ - orderskk, - users_kk - , - tenants - ] - relationships: [ - relationship(orderskk.user_id > users_kk.id, true), - relationship(users_kk.tenant_id > tenants.id, true), - relationship(orderskk.tenant_id > tenants.id, true) - ] - dimension dimension_600e63f { - label: "Untitled Dimension" - type: "number" - description: "" - definition: @aql users_kk.id | with_relationships(orderskk.user_id > users_kk.id);; - model: orderskk - } -} \ No newline at end of file diff --git a/Hieu/untitled_10.page.aml b/Hieu/untitled_10.page.aml deleted file mode 100644 index a04b3e4..0000000 --- a/Hieu/untitled_10.page.aml +++ /dev/null @@ -1,437 +0,0 @@ -Dashboard untitled_10_2 { - title: 'untitled_10' - description: '' - owner: 'hieu.nht@holistics.io' - block title: TextBlock { - content: @md # Your title goes here ;; - } - block v_eq1j: VizBlock { - label: 'raw orders ' - viz: DataTable { - dataset: hieu_haha_meme - theme { - } - fields: [ - VizFieldFull { - label: 'Id' - ref: r(orderskk.id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(orderskk.user_id) - format { - type: 'number' - pattern: 'inherited' - } - }, - VizFieldFull { - ref: r(orderskk.tenant_id) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - show_row_with_no_data: true - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_tf0o: VizBlock { - label: 'raw users' - viz: DataTable { - dataset: hieu_haha_meme - theme { - } - fields: [ - VizFieldFull { - ref: r(users_kk.id) - format { - type: 'number' - pattern: 'inherited' - } - uname: 'users_kk_id_1' - }, - VizFieldFull { - ref: r(users_kk.name) - format { - type: 'text' - } - }, - VizFieldFull { - ref: r(users_kk.tenant_id) - format { - type: 'number' - pattern: 'inherited' - } - } - ] - settings { - show_row_number: true - show_row_with_no_data: true - sorts: [ - SortSetting { - key: 'users_kk_id_1' - direction: 'asc' - } - ] - row_limit: 5000 - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_2lji: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_565b570 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 year));; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_565b570' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_w2x5: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At copy' - viz: LineChart { - dataset: simple_dataset - calculation metric_565b570 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 year));; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_565b570' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_zf66: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_565b570 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql safe_divide(ecommerce_orders.total_orders_count, ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 year))) - 1;; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_565b570' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_62fh: VizBlock { - label: 'Total Orders Count and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_77e4577 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 month));; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_77e4577' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block v_ztg3: VizBlock { - label: 'Total Orders Count, PoP Comparison of Orders Total Orders..., and PoP Comparison of Orders Total Orders... by Month Created At' - viz: LineChart { - dataset: simple_dataset - calculation metric_77e4577 { - label: 'PoP Comparison of Orders Total Orders Count' - formula: @aql safe_divide(ecommerce_orders.total_orders_count, ecommerce_orders.total_orders_count | relative_period(ecommerce_orders.created_at, interval(-1 month))) - 1;; - calc_type: 'measure' - data_type: 'number' - } - theme { - } - x_axis: VizFieldFull { - ref: r(ecommerce_orders.created_at) - transformation: 'datetrunc month' - format { - type: 'date' - pattern: 'LLL yyyy' - } - } - y_axis { - series { - field: VizFieldFull { - ref: r(ecommerce_orders.total_orders_count) - format { - type: 'number' - pattern: 'inherited' - } - } - } - series { - field: VizFieldFull { - ref: 'metric_77e4577' - format { - type: 'number' - pattern: 'inherited' - } - } - } - } - settings { - row_limit: 5000 - x_axis_show_null_datetime: false - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - } - block f_orders_tenant_id: FilterBlock { - label: 'Orders tenant_id' - type: 'field' - source: FieldFilterSource { - dataset: hieu_haha_meme - field: r(orderskk.tenant_id) - } - default { - operator: 'is' - value: [] - } - } - block f_tenants_id: FilterBlock { - label: 'Tenants Id' - type: 'field' - source: FieldFilterSource { - dataset: hieu_haha_meme - field: r(tenants.id) - } - default { - operator: 'is' - value: [] - } - } - view: CanvasLayout { - label: 'View 1' - width: 1300 - height: 2020 - grid_size: 20 - auto_expand_vertically: true - block title { - position: pos(20, 20, 1260, 60) - } - block v_eq1j { - position: pos(460, 240, 620, 420) - } - block v_tf0o { - position: pos(40, 240, 380, 420) - } - block v_2lji { - position: pos(40, 680, 620, 420) - } - block v_w2x5 { - position: pos(700, 680, 380, 420) - } - block v_zf66 { - position: pos(20, 1120, 620, 420) - layer: 1 - } - block v_62fh { - position: pos(660, 1120, 620, 420) - layer: 2 - } - block v_ztg3 { - position: pos(20, 1560, 620, 420) - layer: 3 - } - block f_orders_tenant_id { - position: pos(40, 140, 300, 80) - } - block f_tenants_id { - position: pos(400, 140, 300, 80) - } - mobile { - mode: 'auto' - } - } - theme: H.themes.vanilla - interactions: [ - FilterInteraction { - from: 'f_orders_tenant_id' - to: [ - CustomMapping { - block: 'v_tf0o' - field: ref('users_kk', 'tenant_id') - }, - CustomMapping { - block: 'f_tenants_id' - disabled: true - } - ] - }, - FilterInteraction { - from: 'f_tenants_id' - to: [ - CustomMapping { - block: 'f_orders_tenant_id' - disabled: true - } - ] - } - ] -} \ No newline at end of file diff --git a/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml b/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml index a819646..76e9499 100644 --- a/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml +++ b/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml @@ -2,7 +2,7 @@ // use demo Dashboard demo_ecommerce_dashboard_amyra_copy { - title: 'Ecommerce Dashboard - Amyra' + title: 'Ecommerce Dashboard - THANG' block hd1: TextBlock { content: @md From d70da1bd0c7fea5e656b32cc3f38502cef226bcf Mon Sep 17 00:00:00 2001 From: Thang Date: Fri, 30 Jan 2026 05:37:36 +0000 Subject: [PATCH 21/28] Remove 'User Growth' viz block and related UI elements from 'embed_demo_sales' dashboard --- .../dashboards/embed_demo_sales.page.aml | 106 ------------------ 1 file changed, 106 deletions(-) diff --git a/demo ecommerce/dashboards/embed_demo_sales.page.aml b/demo ecommerce/dashboards/embed_demo_sales.page.aml index a9e481d..0304f5a 100644 --- a/demo ecommerce/dashboards/embed_demo_sales.page.aml +++ b/demo ecommerce/dashboards/embed_demo_sales.page.aml @@ -248,43 +248,6 @@ Dashboard embed_demo_landing_page_2 { hide_label: true } } - block v8: VizBlock { - label: 'User Growth' - viz: CombinationChart { - dataset: demo_ecommerce - calculation f_3f16a1c { - label: 'Running Total' - formula: @aql running_total!( -ecommerce_users.id | count() , -ecommerce_users.sign_up_date -);; - calc_type: 'measure' - data_type: 'number' - } - filter { - field: r(order_master.last_order_value) - operator: 'is' - value: '1' - } - settings { - x_axis_show_null_datetime: true - pop { - field: r(ecommerce_users.sign_up_date) - value: RelativePopValue { - duration: 3 - granularity: 'month' - } - } - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - settings { - hide_label: true - } - } block f2: FilterBlock { label: 'Date Range' type: 'date' @@ -440,16 +403,6 @@ ecommerce_users.sign_up_date block t13: TextBlock { content: @md
;; } - block t14: TextBlock { - content: @md   ;; - theme { - border { - border_width: 2 - border_radius: 10 - border_color: '#e8e8e8' - } - } - } block t15: TextBlock { content: @md   ;; theme { @@ -599,9 +552,6 @@ ecommerce_users.sign_up_date block v7 { position: pos(1160, 140, 240, 140) } - block v8 { - position: pos(40, 380, 650, 370) - } block t10 { position: pos(300, 120, 10, 180) } @@ -615,10 +565,6 @@ ecommerce_users.sign_up_date block t13 { position: pos(1140, 120, 10, 180) } - block t14 { - position: pos(20, 310, 690, 720) - layer: -2 - } block t15 { position: pos(730, 310, 690, 720) layer: -2 @@ -685,58 +631,6 @@ ecommerce_users.sign_up_date disabled: true } ] - }, - FilterInteraction { - from: 'f2' - to: [ - CustomMapping { - block: [ - 'v3', - 'v4', - 'v8', - 'v12' - ] - field: r(ecommerce_users.sign_up_date) - }, - CustomMapping { - block: [ - 'v5', - 'v6', - 'v7' - ] - field: r(order_master.order_created_at) - }, - CustomMapping { - block: 'v11' - field: r(dim_dates.date_key) - } - ] - }, - DateDrillInteraction { - from: 'd1' - to: [ - CustomMapping { - block: 'v8' - field: r(ecommerce_users.sign_up_date) - }, - CustomMapping { - block: 'v11' - field: r(dim_dates.date_key) - } - ] - }, - PopInteraction { - from: 'p1' - to: [ - CustomMapping { - block: 'v11' - field: r(dim_dates.date_key) - }, - CustomMapping { - block: 'v8' - field: r(ecommerce_users.sign_up_date) - } - ] } ] } \ No newline at end of file From 0bc7aacbcb407f29b3fa9f6c723b03460daec7fd Mon Sep 17 00:00:00 2001 From: Thang Date: Fri, 30 Jan 2026 05:39:05 +0000 Subject: [PATCH 22/28] Update 'demo_ecommerce_dashboard_thang.page.aml' to fix filter field and remove obsolete 'Daily GMV vs. 7-day Moving Average' viz block --- .../demo_ecommerce_dashboard_thang.page.aml | 74 +------------------ 1 file changed, 1 insertion(+), 73 deletions(-) diff --git a/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml b/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml index 76e9499..ad7b9f3 100644 --- a/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml +++ b/team-folders/Thang/demo_ecommerce_dashboard_thang.page.aml @@ -147,7 +147,7 @@ This dashboard tracks the KPIs of all managers for their respective teams. This // data_type: 'number' // } filter { - field: ref('order_master2', 'order_created_at') + field: ref('order_master', 'order_created_at') operator: 'matches' value: '2023' } @@ -465,74 +465,6 @@ This dashboard tracks the KPIs of all managers for their respective teams. This hide_controls: true } } - block v12: VizBlock { - label: 'Daily GMV vs. 7-day Moving Average' - viz: CombinationChart { - dataset: demo_ecommerce - filter { - field: ref('order_master2', 'order_created_at') - operator: 'matches' - value: '2023' - } - x_axis: VizFieldFull { - ref: ref('order_master', 'order_created_at') - transformation: 'datetrunc day' - format { - type: 'date' - pattern: 'LLL dd, yyyy' - } - } - y_axis { - series { - mark_type: 'line' - field: VizFieldFull { - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '#,###' - } - } - settings { - color: '#D1EDEC' - line_interpolation: 'smooth' - } - } - series { - mark_type: 'line' - field: VizFieldFull { - label: '7-day MovAvg of GMV' - ref: ref('order_master', 'gmv') - format { - type: 'number' - pattern: '#,###' - } - analytic: MovingCalculationField { - type: 'avg' - order: 'row' - range { - previous: 7 - next: 0 - } - null_if_not_enough_values: true - } - } - settings { - color: '#18A59E' - line_interpolation: 'smooth' - } - } - } - settings { - legend_label: 'right' - aggregate_awareness { - enabled: true - debug_comments: true - } - } - } - description: @md # Description -abc;; - } block f1: FilterBlock { label: 'Country' type: 'field' @@ -1207,10 +1139,6 @@ abc;; block v10 { position: pos(80, 600, 320, 140) } - block v12 { - position: pos(480, 440, 1000, 300) - layer: -1 - } block f1 { position: pos(80, 3020, 260, 40) } From 6de444b22bec18437dacf61e0c1b88a5e235248b Mon Sep 17 00:00:00 2001 From: Thang Date: Tue, 3 Feb 2026 08:29:06 +0000 Subject: [PATCH 23/28] Save uncommitted changes before restoring to commit 0bc7aa --- .../pokemon_moves.model.aml | 69 -- .../pokemon_pokedex.model.aml | 255 ------ .../sample_pokemon_gif.model.aml | 91 --- .../pokemon/[Staging3] Pokemon/pkm.model.aml | 81 -- .../[Staging3] Pokemon/pkm_2.model.aml | 457 ----------- .../[Staging3] Pokemon/pokedex.page.aml | 759 ------------------ .../[Staging3] Pokemon/pokedex_2.dataset.aml | 11 - .../repack_persisted_pokedex_2_csv.model.aml | 327 -------- team-folders/Thang/ecommerce_users.model.aml | 8 +- .../Thinh/ecommerce_cohort.dataset.aml | 6 +- team-folders/Vux/ecom_dataset_vux.dataset.aml | 2 +- 11 files changed, 8 insertions(+), 2058 deletions(-) delete mode 100644 demo adhoc/pokemon/[Previous] Pokemon/pokemon_moves.model.aml delete mode 100644 demo adhoc/pokemon/[Previous] Pokemon/pokemon_pokedex.model.aml delete mode 100644 demo adhoc/pokemon/[Previous] Pokemon/sample_pokemon_gif.model.aml delete mode 100644 demo adhoc/pokemon/[Staging3] Pokemon/pkm.model.aml delete mode 100644 demo adhoc/pokemon/[Staging3] Pokemon/pkm_2.model.aml delete mode 100644 demo adhoc/pokemon/[Staging3] Pokemon/pokedex.page.aml delete mode 100644 demo adhoc/pokemon/[Staging3] Pokemon/pokedex_2.dataset.aml delete mode 100644 demo adhoc/pokemon/[Staging3] Pokemon/repack_persisted_pokedex_2_csv.model.aml diff --git a/demo adhoc/pokemon/[Previous] Pokemon/pokemon_moves.model.aml b/demo adhoc/pokemon/[Previous] Pokemon/pokemon_moves.model.aml deleted file mode 100644 index e88cebb..0000000 --- a/demo adhoc/pokemon/[Previous] Pokemon/pokemon_moves.model.aml +++ /dev/null @@ -1,69 +0,0 @@ -Model pokemon_moves { - type: 'table' - label: 'Moves' - description: '' - data_source_name: 'demodb' - dimension name { - label: 'Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.name }};; - } - dimension type { - label: 'Type' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type }};; - } - dimension category { - label: 'Category' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.category }};; - } - dimension effect { - label: 'Effect' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.effect }};; - } - dimension power { - label: 'Power' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.power }};; - } - dimension acc { - label: 'Acc' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.acc }};; - } - dimension pp { - label: 'Pp' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.pp }};; - } - dimension tm { - label: 'Tm' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.tm }};; - } - dimension prob { - label: 'Prob' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.prob }};; - } - dimension gen { - label: 'Gen' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.gen }};; - } - - owner: 'vincent@holistics.io' - table_name: '"pokemon"."moves"' -} diff --git a/demo adhoc/pokemon/[Previous] Pokemon/pokemon_pokedex.model.aml b/demo adhoc/pokemon/[Previous] Pokemon/pokemon_pokedex.model.aml deleted file mode 100644 index 9b33216..0000000 --- a/demo adhoc/pokemon/[Previous] Pokemon/pokemon_pokedex.model.aml +++ /dev/null @@ -1,255 +0,0 @@ -Model pokemon_pokedex { - type: 'table' - label: 'Pokedex' - description: '' - data_source_name: 'demodb' - dimension abilities { - label: 'Abilities' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.abilities }};; - } - dimension against_bug { - label: 'Against Bug' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_bug }};; - } - dimension against_dark { - label: 'Against Dark' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_dark }};; - } - dimension against_dragon { - label: 'Against Dragon' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_dragon }};; - } - dimension against_electric { - label: 'Against Electric' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_electric }};; - } - dimension against_fairy { - label: 'Against Fairy' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_fairy }};; - } - dimension against_fight { - label: 'Against Fight' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_fight }};; - } - dimension against_fire { - label: 'Against Fire' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_fire }};; - } - dimension against_flying { - label: 'Against Flying' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_flying }};; - } - dimension against_ghost { - label: 'Against Ghost' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_ghost }};; - } - dimension against_grass { - label: 'Against Grass' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_grass }};; - } - dimension against_ground { - label: 'Against Ground' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_ground }};; - } - dimension against_ice { - label: 'Against Ice' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_ice }};; - } - dimension against_normal { - label: 'Against Normal' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_normal }};; - } - dimension against_poison { - label: 'Against Poison' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_poison }};; - } - dimension against_psychic { - label: 'Against Psychic' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_psychic }};; - } - dimension against_rock { - label: 'Against Rock' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_rock }};; - } - dimension against_steel { - label: 'Against Steel' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_steel }};; - } - dimension against_water { - label: 'Against Water' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.against_water }};; - } - dimension attack { - label: 'Attack' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.attack }};; - } - dimension base_egg_steps { - label: 'Base Egg Steps' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.base_egg_steps }};; - } - dimension base_happiness { - label: 'Base Happiness' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.base_happiness }};; - } - dimension base_total { - label: 'Base Total' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.base_total }};; - } - dimension capture_rate { - label: 'Capture Rate' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.capture_rate }};; - } - dimension classfication { - label: 'Classfication' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.classfication }};; - } - dimension defense { - label: 'Defense' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.defense }};; - } - dimension experience_growth { - label: 'Experience Growth' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.experience_growth }};; - } - dimension height_m { - label: 'Height M' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.height_m }};; - } - dimension hp { - label: 'Hp' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.hp }};; - } - dimension japanese_name { - label: 'Japanese Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.japanese_name }};; - } - dimension name { - label: 'Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.name }};; - } - dimension percentage_male { - label: 'Percentage Male' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.percentage_male }};; - } - dimension pokedex_number { - label: 'Pokedex Number' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.pokedex_number }};; - } - dimension sp_attack { - label: 'Sp Attack' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.sp_attack }};; - } - dimension sp_defense { - label: 'Sp Defense' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.sp_defense }};; - } - dimension speed { - label: 'Speed' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.speed }};; - } - dimension type_1 { - label: 'Type 1' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_1 }};; - } - dimension type_2 { - label: 'Type 2' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_2 }};; - } - dimension weight_kg { - label: 'Weight Kg' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.weight_kg }};; - } - dimension generation { - label: 'Generation' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.generation }};; - } - dimension is_legendary { - label: 'Is Legendary' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.is_legendary }};; - } - - owner: 'vincent@holistics.io' - table_name: '"pokemon"."pokedex"' -} diff --git a/demo adhoc/pokemon/[Previous] Pokemon/sample_pokemon_gif.model.aml b/demo adhoc/pokemon/[Previous] Pokemon/sample_pokemon_gif.model.aml deleted file mode 100644 index af22c1a..0000000 --- a/demo adhoc/pokemon/[Previous] Pokemon/sample_pokemon_gif.model.aml +++ /dev/null @@ -1,91 +0,0 @@ -Model sample_pokemon_gif { - type: 'table' - label: 'Pokemon Gif' - description: '' - data_source_name: 'demodb' - dimension no { - label: 'No' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.no }};; - } - dimension pokemon { - label: 'Pokemon' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.pokemon }};; - } - dimension type_1 { - label: 'Type 1' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_1 }};; - } - dimension type_2 { - label: 'Type 2' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_2 }};; - } - dimension hp { - label: 'Hp' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.hp }};; - } - dimension attack { - label: 'Attack' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.attack }};; - } - dimension defense { - label: 'Defense' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.defense }};; - } - dimension speed { - label: 'Speed' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.speed }};; - } - dimension special { - label: 'Special' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.special }};; - } - dimension description { - label: 'Description' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.description }};; - } - dimension gif { - label: 'Gif' - type: 'text' - hidden: true - definition: @sql {{ #SOURCE.gif }};; - } - dimension png { - label: 'Png' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.png }};; - } - dimension gif_cleaned { - label: "Gif Cleaned" - type: "text" - definition: @sql concat(substring({{ gif }},1,strpos({{ gif }},'height')-1),'style="width: 100%;width: 70px; height: 70px;"','/>');; - } - dimension pokemon_html_link { - label: "Pokemon HTML Link" - type: "text" - definition: @sql CONCAT('',{{ pokemon }},'');; - } - - owner: 'vincent+demo4@holistics.io' - table_name: '\"sample\".\"pokemon_gif\"' -} \ No newline at end of file diff --git a/demo adhoc/pokemon/[Staging3] Pokemon/pkm.model.aml b/demo adhoc/pokemon/[Staging3] Pokemon/pkm.model.aml deleted file mode 100644 index 7c80c0b..0000000 --- a/demo adhoc/pokemon/[Staging3] Pokemon/pkm.model.aml +++ /dev/null @@ -1,81 +0,0 @@ -Model pkm { - type: 'table' - label: 'Pkm' - description: '' - data_source_name: 'demodb' - dimension number { - label: 'Number' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.number }};; - } - dimension pokemon { - label: 'Pokemon' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.pokemon }};; - } - dimension type_1 { - label: 'Type 1' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_1 }};; - } - dimension type_2 { - label: 'Type 2' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_2 }};; - } - dimension hp { - label: 'Hp' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.hp }};; - } - dimension attack { - label: 'Attack' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.attack }};; - } - dimension defense { - label: 'Defense' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.defense }};; - } - dimension speed { - label: 'Speed' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.speed }};; - } - dimension special { - label: 'Special' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.special }};; - } - dimension gif { - label: 'Gif' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.gif }};; - } - dimension png { - label: 'Png' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.png }};; - } - dimension description { - label: 'Description' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.description }};; - } - - owner: 'chukwudi@holistics.io' - table_name: '"persisted_models"."persisted_pkm_csv"' -} diff --git a/demo adhoc/pokemon/[Staging3] Pokemon/pkm_2.model.aml b/demo adhoc/pokemon/[Staging3] Pokemon/pkm_2.model.aml deleted file mode 100644 index ca6f862..0000000 --- a/demo adhoc/pokemon/[Staging3] Pokemon/pkm_2.model.aml +++ /dev/null @@ -1,457 +0,0 @@ -Model pkm_2 { - type: 'query' - label: 'Pkm 2' - description: '' - data_source_name: 'demodb' - dimension index { - label: "Index" - type: "number" - definition: @sql {{ #SOURCE.index }};; - } - dimension pokedex_number { - label: "Pokedex Number" - type: "number" - definition: @sql CAST({{ #SOURCE.pokedex_number }} AS DOUBLE PRECISION);; - format: "#,###" - } - dimension name { - label: 'Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.name }};; - } - dimension german_name { - label: 'German Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.german_name }};; - } - dimension japanese_name { - label: 'Japanese Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.japanese_name }};; - } - dimension generation { - label: "Generation" - type: "text" - definition: @sql {{ #SOURCE.generation }};; - } - dimension is_sub_legendary { - label: "Is Sub Legendary" - type: "truefalse" - definition: @sql {{ #SOURCE.is_sub_legendary }};; - } - dimension is_legendary { - label: 'Is Legendary' - type: 'truefalse' - hidden: false - definition: @sql {{ #SOURCE.is_legendary }};; - } - dimension is_mythical { - label: 'Is Mythical' - type: 'truefalse' - hidden: false - definition: @sql {{ #SOURCE.is_mythical }};; - } - dimension species { - label: 'Species' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.species }};; - } - dimension type_number { - label: 'Type Number' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.type_number }};; - } - dimension type_1 { - label: 'Type 1' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_1 }};; - } - dimension type_2 { - label: 'Type 2' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_2 }};; - } - dimension height_m { - label: "Height M" - type: "number" - definition: @sql {{ #SOURCE.height_m }};; - format: "#,###0.00" - } - dimension weight_kg { - label: 'Weight Kg' - type: "number" - hidden: false - definition: @sql {{ #SOURCE.weight_kg }};; - format: "#,###0.00" - } - dimension abilities_number { - label: 'Abilities Number' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.abilities_number }};; - } - dimension ability_1 { - label: 'Ability 1' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.ability_1 }};; - } - dimension ability_2 { - label: 'Ability 2' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.ability_2 }};; - } - dimension ability_hidden { - label: 'Ability Hidden' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.ability_hidden }};; - } - dimension total_points { - label: 'Total Points' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.total_points }};; - } - dimension hp { - label: "Hp" - type: "number" - definition: @sql - Case - When {{ #SOURCE.hp }} != '' then CAST({{ #SOURCE.hp }} AS DOUBLE PRECISION) - Else NULL - End - ;; - } - dimension attack { - label: 'Attack' - type: 'number' - hidden: false - definition: @sql - Case - When {{ #SOURCE.attack }} != '' then CAST({{ #SOURCE.attack }} AS DOUBLE PRECISION) - Else NULL - End - ;; - } - dimension defense { - label: 'Defense' - type: 'number' - hidden: false - definition: @sql - Case - When {{ #SOURCE.defense }} != '' then CAST({{ #SOURCE.defense }} AS DOUBLE PRECISION) - Else NULL - End - ;; - } - dimension sp_attack { - label: 'Sp Attack' - type: 'number' - hidden: false - definition: @sql - Case - When {{ #SOURCE.sp_attack }} != '' then CAST({{ #SOURCE.sp_attack }} AS DOUBLE PRECISION) - Else NULL - End - ;; - } - dimension sp_defense { - label: 'Sp Defense' - type: 'number' - hidden: false - definition: @sql - Case - When {{ #SOURCE.sp_defense }} != '' then CAST({{ #SOURCE.sp_defense }} AS DOUBLE PRECISION) - Else NULL - End - ;; - } - dimension speed { - label: 'Speed' - type: 'number' - hidden: false - definition: @sql - Case - When {{ #SOURCE.speed }} != '' then CAST({{ #SOURCE.speed }} AS DOUBLE PRECISION) - Else NULL - End - ;; - } - dimension catch_rate { - label: 'Catch Rate' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.catch_rate }};; - } - dimension base_friendship { - label: 'Base Friendship' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.base_friendship }};; - } - dimension base_experience { - label: 'Base Experience' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.base_experience }};; - } - dimension growth_rate { - label: 'Growth Rate' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.growth_rate }};; - } - dimension egg_type_number { - label: 'Egg Type Number' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.egg_type_number }};; - } - dimension egg_type_1 { - label: 'Egg Type 1' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.egg_type_1 }};; - } - dimension egg_type_2 { - label: 'Egg Type 2' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.egg_type_2 }};; - } - dimension percentage_male { - label: 'Percentage Male' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.percentage_male }};; - } - dimension egg_cycles { - label: 'Egg Cycles' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.egg_cycles }};; - } - dimension against_normal { - label: 'Against Normal' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_normal }};; - } - dimension against_fire { - label: 'Against Fire' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_fire }};; - } - dimension against_water { - label: 'Against Water' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_water }};; - } - dimension against_electric { - label: 'Against Electric' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_electric }};; - } - dimension against_grass { - label: 'Against Grass' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_grass }};; - } - dimension against_ice { - label: 'Against Ice' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_ice }};; - } - dimension against_fight { - label: 'Against Fight' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_fight }};; - } - dimension against_poison { - label: 'Against Poison' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_poison }};; - } - dimension against_ground { - label: 'Against Ground' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_ground }};; - } - dimension against_flying { - label: 'Against Flying' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_flying }};; - } - dimension against_psychic { - label: 'Against Psychic' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_psychic }};; - } - dimension against_bug { - label: 'Against Bug' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_bug }};; - } - dimension against_rock { - label: 'Against Rock' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_rock }};; - } - dimension against_ghost { - label: 'Against Ghost' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_ghost }};; - } - dimension against_dragon { - label: 'Against Dragon' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_dragon }};; - } - dimension against_dark { - label: 'Against Dark' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_dark }};; - } - dimension against_steel { - label: 'Against Steel' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_steel }};; - } - dimension against_fairy { - label: 'Against Fairy' - type: 'number' - format: "#,###0.00" - hidden: false - definition: @sql {{ #SOURCE.against_fairy }};; - } - dimension description { - label: 'Description' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.description }};; - } - dimension gif { - label: 'Gif' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.gif }};; - } - dimension png { - label: 'Png' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.png }};; - } - dimension max_hp { - label: "Max Hp" - type: "number" - definition: @sql 300;; - } - dimension type1_icon { - label: "Type 1 Icon" - type: "text" - definition: @sql CASE -WHEN {{ type_1 }} = 'Bug' then 'https://archives.bulbagarden.net/media/upload/9/9c/Bug_icon_SwSh.png' -WHEN {{ type_1 }} = 'Dark' then 'https://archives.bulbagarden.net/media/upload/d/d5/Dark_icon_SwSh.png' -WHEN {{ type_1 }} = 'Dragon' then 'https://archives.bulbagarden.net/media/upload/7/70/Dragon_icon_SwSh.png' -WHEN {{ type_1 }} = 'Electric' then 'https://archives.bulbagarden.net/media/upload/7/7b/Electric_icon_SwSh.png' -WHEN {{ type_1 }} = 'Fairy' then 'https://archives.bulbagarden.net/media/upload/c/c6/Fairy_icon_SwSh.png' -WHEN {{ type_1 }} = 'Fighting' then 'https://archives.bulbagarden.net/media/upload/3/3b/Fighting_icon_SwSh.png' -WHEN {{ type_1 }} = 'Fire' then 'https://archives.bulbagarden.net/media/upload/a/ab/Fire_icon_SwSh.png' -WHEN {{ type_1 }} = 'Flying' then 'https://archives.bulbagarden.net/media/upload/b/b5/Flying_icon_SwSh.png' -WHEN {{ type_1 }} = 'Ghost' then 'https://archives.bulbagarden.net/media/upload/0/01/Ghost_icon_SwSh.png' -WHEN {{ type_1 }} = 'Grass' then 'https://archives.bulbagarden.net/media/upload/a/a8/Grass_icon_SwSh.png' -WHEN {{ type_1 }} = 'Ground' then 'https://archives.bulbagarden.net/media/upload/2/27/Ground_icon_SwSh.png' -WHEN {{ type_1 }} = 'Ice' then 'https://archives.bulbagarden.net/media/upload/1/15/Ice_icon_SwSh.png' -WHEN {{ type_1 }} = 'Normal' then 'https://archives.bulbagarden.net/media/upload/9/95/Normal_icon_SwSh.png' -WHEN {{ type_1 }} = 'Poison' then 'https://archives.bulbagarden.net/media/upload/8/8d/Poison_icon_SwSh.png' -WHEN {{ type_1 }} = 'Psychic' then 'https://archives.bulbagarden.net/media/upload/7/73/Psychic_icon_SwSh.png' -WHEN {{ type_1 }} = 'Rock' then 'https://archives.bulbagarden.net/media/upload/1/11/Rock_icon_SwSh.png' -WHEN {{ type_1 }} = 'Steel' then 'https://archives.bulbagarden.net/media/upload/0/09/Steel_icon_SwSh.png' -WHEN {{ type_1 }} = 'Water' then 'https://archives.bulbagarden.net/media/upload/8/80/Water_icon_SwSh.png' -ELSE null -END;; - } - dimension type2_icon { - label: "Type 2 Icon" - type: "text" - definition: @sql CASE -WHEN {{ type_2 }} = 'Bug' then 'https://archives.bulbagarden.net/media/upload/9/9c/Bug_icon_SwSh.png' -WHEN {{ type_2 }} = 'Dark' then 'https://archives.bulbagarden.net/media/upload/d/d5/Dark_icon_SwSh.png' -WHEN {{ type_2 }} = 'Dragon' then 'https://archives.bulbagarden.net/media/upload/7/70/Dragon_icon_SwSh.png' -WHEN {{ type_2 }} = 'Electric' then 'https://archives.bulbagarden.net/media/upload/7/7b/Electric_icon_SwSh.png' -WHEN {{ type_2 }} = 'Fairy' then 'https://archives.bulbagarden.net/media/upload/c/c6/Fairy_icon_SwSh.png' -WHEN {{ type_2 }} = 'Fighting' then 'https://archives.bulbagarden.net/media/upload/3/3b/Fighting_icon_SwSh.png' -WHEN {{ type_2 }} = 'Fire' then 'https://archives.bulbagarden.net/media/upload/a/ab/Fire_icon_SwSh.png' -WHEN {{ type_2 }} = 'Flying' then 'https://archives.bulbagarden.net/media/upload/b/b5/Flying_icon_SwSh.png' -WHEN {{ type_2 }} = 'Ghost' then 'https://archives.bulbagarden.net/media/upload/0/01/Ghost_icon_SwSh.png' -WHEN {{ type_2 }} = 'Grass' then 'https://archives.bulbagarden.net/media/upload/a/a8/Grass_icon_SwSh.png' -WHEN {{ type_2 }} = 'Ground' then 'https://archives.bulbagarden.net/media/upload/2/27/Ground_icon_SwSh.png' -WHEN {{ type_2 }} = 'Ice' then 'https://archives.bulbagarden.net/media/upload/1/15/Ice_icon_SwSh.png' -WHEN {{ type_2 }} = 'Normal' then 'https://archives.bulbagarden.net/media/upload/9/95/Normal_icon_SwSh.png' -WHEN {{ type_2 }} = 'Poison' then 'https://archives.bulbagarden.net/media/upload/8/8d/Poison_icon_SwSh.png' -WHEN {{ type_2 }} = 'Psychic' then 'https://archives.bulbagarden.net/media/upload/7/73/Psychic_icon_SwSh.png' -WHEN {{ type_2 }} = 'Rock' then 'https://archives.bulbagarden.net/media/upload/1/11/Rock_icon_SwSh.png' -WHEN {{ type_2 }} = 'Steel' then 'https://archives.bulbagarden.net/media/upload/0/09/Steel_icon_SwSh.png' -WHEN {{ type_2 }} = 'Water' then 'https://archives.bulbagarden.net/media/upload/8/80/Water_icon_SwSh.png' -ELSE null -END;; - } - - owner: 'chukwudi@holistics.io' - query: @sql SELECT - {{ #a.* }}, - {{ #b.description }}, - {{ #b.gif }}, - {{ #b.png }} -FROM - {{ #repack_persisted_pokedex_2_csv a }} - LEFT JOIN {{ #pkm b }} ON {{ #a.pokedex_number }} = {{ #b.number }};; - models: [ - pkm, - repack_persisted_pokedex_2_csv - ] -} diff --git a/demo adhoc/pokemon/[Staging3] Pokemon/pokedex.page.aml b/demo adhoc/pokemon/[Staging3] Pokemon/pokedex.page.aml deleted file mode 100644 index 3dcef2f..0000000 --- a/demo adhoc/pokemon/[Staging3] Pokemon/pokedex.page.aml +++ /dev/null @@ -1,759 +0,0 @@ -Dashboard pokemon { - title: 'Pokedex 2.0' - description: '''''' - view: CanvasLayout { - label: 'View 1' - width: 1720 - height: 880 - block t5 { - position: pos(10, 30, 170, 110) - layer: -2 - } - block t6 { - position: pos(180, 30, 980, 100) - } - block t7 { - position: pos(0, 0, 1730, 190) - layer: -3 - } - block t8 { - position: pos(0, 150, 1730, 40) - } - block t9 { - position: pos(10, 350, 350, 190) - layer: 1 - } - block v2 { - position: pos(390, 340, 210, 240) - layer: 1 - } - block v3 { - position: pos(600, 640, 360, 90) - } - block v4 { - position: pos(590, 340, 380, 170) - } - block v5 { - position: pos(590, 490, 380, 70) - } - block t10 { - position: pos(390, 340, 210, 80) - } - block t11 { - position: pos(600, 580, 360, 80) - } - block t12 { - position: pos(370, 210, 190, 120) - } - block t13 { - position: pos(770, 210, 200, 120) - layer: -6 - } - block t14 { - position: pos(570, 210, 190, 120) - } - block t15 { - position: pos(0, 180, 1730, 1060) - layer: -7 - } - block t17 { - position: pos(1360, 550, 340, 310) - } - block t18 { - position: pos(990, 550, 350, 310) - } - block t19 { - position: pos(1360, 210, 340, 350) - } - block t20 { - position: pos(990, 210, 350, 350) - } - block t21 { - position: pos(370, 330, 600, 490) - layer: -6 - } - block v6 { - position: pos(370, 240, 190, 70) - } - block v7 { - position: pos(770, 240, 200, 70) - } - block v8 { - position: pos(570, 240, 190, 70) - } - block t22 { - position: pos(380, 220, 180, 50) - } - block t23 { - position: pos(780, 220, 190, 50) - } - block t24 { - position: pos(580, 220, 180, 50) - } - block v9 { - position: pos(990, 290, 350, 240) - } - block v10 { - position: pos(1010, 220, 90, 90) - } - block v10_dup_dup { - position: pos(1220, 220, 90, 90) - } - block v10_dup { - position: pos(1110, 220, 100, 90) - } - block v9_dup { - position: pos(1370, 290, 320, 240) - } - block v10_dup_dup_dup { - position: pos(1390, 220, 150, 90) - } - block v10_dup_dup_dup_dup { - position: pos(1540, 220, 160, 90) - } - block v11 { - position: pos(990, 580, 350, 250) - } - block v12 { - position: pos(1360, 600, 340, 150) - } - block v13_dup { - position: pos(500, 610, 60, 130) - } - block t11_dup { - position: pos(390, 580, 180, 80) - layer: -1 - } - block v13 { - position: pos(420, 610, 60, 130) - } - block t26 { - position: pos(1010, 570, 280, 80) - } - block t25 { - position: pos(1380, 570, 300, 80) - } - block f1 { - position: pos(40, 490, 300, 80) - layer: 2 - } - block t27 { - position: pos(70, 320, 240, 70) - } - } - block t5: TextBlock { - content: @md - - -
- - - demo - -
;; - } - block t6: TextBlock { - content: @md
-

POKEDEX

-

Gonna Catch 'Em All

-
;; - } - block t7: TextBlock { - content: @md
-
;; - } - block t8: TextBlock { - content: @md
-
;; - } - block t9: TextBlock { - content: @md
- - - demo - -
;; - } - block v2: VizBlock { - label: 'Pokemon' - viz: DataTable { - dataset: pokedex_2 - calculation f_ef7b4e0 { - label: 'PNG' - formula: @aml concat('');; - calc_type: 'dimension' - data_type: 'text' - } - fields: [ - VizFieldFull { - label: ' ' - ref: 'f_ef7b4e0' - format { - type: 'html' - } - } - ] - settings { - row_limit: 1 - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v3: VizBlock { - label: 'Description' - viz: DataTable { - dataset: pokedex_2 - calculation f_ef7b4e0 { - label: 'Description' - formula: @aml concat('

', pkm_2.description, '

');; - calc_type: 'dimension' - data_type: 'text' - } - fields: [ - VizFieldFull { - label: ' ' - ref: 'f_ef7b4e0' - format { - type: 'html' - } - } - ] - settings { - row_limit: 1 - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v4: VizBlock { - label: 'Name' - viz: DataTable { - dataset: pokedex_2 - calculation f_ef7b4e0 { - label: 'Description' - formula: @aml concat('

', pkm_2.name, '

');; - calc_type: 'dimension' - data_type: 'text' - } - fields: [ - VizFieldFull { - label: ' ' - ref: 'f_ef7b4e0' - format { - type: 'html' - } - } - ] - settings { - row_limit: 1 - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v5: VizBlock { - label: 'Japanese Name' - viz: DataTable { - dataset: pokedex_2 - calculation f_ef7b4e0 { - label: 'Description' - formula: @aml concat('

', pkm_2.japanese_name, '

');; - calc_type: 'dimension' - data_type: 'text' - } - fields: [ - VizFieldFull { - label: ' ' - ref: 'f_ef7b4e0' - format { - type: 'html' - } - } - ] - settings { - row_limit: 1 - } - } - settings { - hide_label: true - hide_controls: true - } - } - block t10: TextBlock { - content: @md
-

Pokemon

-

-
;; - } - block t11: TextBlock { - content: @md
-

Description

-

-
;; - } - block t12: TextBlock { - content: @md
-
;; - } - block t13: TextBlock { - content: @md
-
;; - } - block t14: TextBlock { - content: @md
-
;; - } - block t15: TextBlock { - content: @md
-
;; - } - block t17: TextBlock { - content: @md
-
;; - } - block t18: TextBlock { - content: @md
-
;; - } - block t19: TextBlock { - content: @md
-
;; - } - block t20: TextBlock { - content: @md
-
;; - } - block t21: TextBlock { - content: @md
-
;; - } - block v6: VizBlock { - label: 'Height' - viz: DataTable { - dataset: pokedex_2 - fields: [ - VizFieldFull { - ref: ref('pkm_2', 'height_m') - format { - type: 'number' - pattern: '#,###0.00' - } - } - ] - settings { - row_limit: 1 - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v7: VizBlock { - label: 'Experience' - viz: DataTable { - dataset: pokedex_2 - fields: [ - VizFieldFull { - ref: ref('pkm_2', 'base_experience') - format { - type: 'number' - pattern: '#,###0.00' - } - } - ] - settings { - row_limit: 1 - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v8: VizBlock { - label: 'Weight' - viz: DataTable { - dataset: pokedex_2 - fields: [ - VizFieldFull { - ref: ref('pkm_2', 'weight_kg') - format { - type: 'number' - pattern: '#,###0.00' - } - } - ] - settings { - row_limit: 1 - } - } - settings { - hide_label: true - hide_controls: true - } - } - block t22: TextBlock { - content: @md
-

Height (m)

-
;; - } - block t23: TextBlock { - content: @md
-

Experience

-
;; - } - block t24: TextBlock { - content: @md
-

Weight (kg)

-
;; - } - block v9: VizBlock { - label: 'Attack, Defense, Speed' - viz: PieChart { - dataset: pokedex_2 - series { - field { - label: 'Attack' - ref: ref('pkm_2', 'attack') - aggregation: 'sum' - format { - type: 'number' - } - } - settings { - color: '#255DD4' - } - } - series { - field { - label: 'Defense' - ref: ref('pkm_2', 'defense') - aggregation: 'sum' - format { - type: 'number' - } - } - settings { - color: '#F2B602' - } - } - series { - field { - label: 'Speed' - ref: ref('pkm_2', 'speed') - aggregation: 'sum' - format { - type: 'number' - } - } - settings { - color: '#07326C' - } - } - settings { - display_as_donut: true - legend_label: 'hidden' - show_data_label_by: 'percentage' - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v10: VizBlock { - label: "Attack" - viz: MetricKpi { - dataset: pokedex_2 - value: VizFieldFull { - label: 'Attack' - ref: ref('pkm_2', 'attack') - aggregation: 'avg' - format { - type: 'number' - } - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v10_dup_dup: VizBlock { - label: "Speed" - viz: MetricKpi { - dataset: pokedex_2 - value: VizFieldFull { - label: 'Speed' - ref: ref('pkm_2', 'speed') - aggregation: 'sum' - format { - type: 'number' - } - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v10_dup: VizBlock { - label: "Defense" - viz: MetricKpi { - dataset: pokedex_2 - value: VizFieldFull { - label: 'Defense' - ref: ref('pkm_2', 'defense') - aggregation: 'sum' - format { - type: 'number' - } - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v9_dup: VizBlock { - label: 'Special Attack, Special Defense' - viz: PieChart { - dataset: pokedex_2 - series { - field { - label: 'Special Attack' - ref: ref('pkm_2', 'sp_attack') - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#255DD4' - } - } - series { - field { - label: 'Special Defense' - ref: ref('pkm_2', 'sp_defense') - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - settings { - color: '#F2B602' - } - } - settings { - display_as_donut: true - legend_label: 'hidden' - show_data_label_by: 'percentage' - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v10_dup_dup_dup: VizBlock { - label: 'Special Attack' - viz: MetricKpi { - dataset: pokedex_2 - value: VizFieldFull { - label: 'Special Attack' - ref: ref('pkm_2', 'sp_attack') - aggregation: 'sum' - format { - type: 'number' - } - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v10_dup_dup_dup_dup: VizBlock { - label: 'Special Defense' - viz: MetricKpi { - dataset: pokedex_2 - value: VizFieldFull { - label: 'Special Defense' - ref: ref('pkm_2', 'sp_defense') - aggregation: 'sum' - format { - type: 'number' - } - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v11: VizBlock { - label: 'Health' - viz: CustomChart { - dataset: pokedex_2 - custom_chart_id: 16582 - field max: VizFieldFull { - ref: ref('pkm_2', 'max_hp') - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - field current: VizFieldFull { - ref: ref('pkm_2', 'hp') - aggregation: 'sum' - format { - type: 'number' - pattern: 'inherited' - } - } - setting label_color: '#53586A' - setting ring1_color: '#F2B602' - } - settings { - hide_label: true - hide_controls: true - } - } - block v12: VizBlock { - label: 'Is Legendary?' - viz: DataTable { - dataset: pokedex_2 - fields: [ - VizFieldFull { - ref: ref('pkm_2', 'is_legendary') - format { - type: 'number' - } - } - ] - settings { - row_limit: 1 - } - } - settings { - hide_label: true - hide_controls: true - } - } - block v13_dup: VizBlock { - label: 'Type 2' - viz: DataTable { - dataset: pokedex_2 - calculation f_a2dc312 { - label: 'type icon' - formula: @aml concat('');; - calc_type: 'dimension' - data_type: 'text' - } - fields: [ - VizFieldFull { - label: ' ' - ref: 'f_a2dc312' - format { - type: 'html' - } - } - ] - settings { - row_limit: 1 - } - } - settings { - hide_label: true - hide_controls: true - } - } - block t11_dup: TextBlock { - content: @md
-

Type

-

-
;; - } - block v13: VizBlock { - label: 'Type 1' - viz: DataTable { - dataset: pokedex_2 - calculation f_a2dc312 { - label: 'type icon' - formula: @aml concat('');; - calc_type: 'dimension' - data_type: 'text' - } - fields: [ - VizFieldFull { - label: ' ' - ref: 'f_a2dc312' - format { - type: 'html' - } - } - ] - settings { - row_limit: 1 - } - } - settings { - hide_label: true - hide_controls: true - } - } - block t26: TextBlock { - content: @md
-

Health

-

-
;; - } - block t25: TextBlock { - content: @md
-

Is Legendary?

-

-
;; - } - block f1: FilterBlock { - label: 'Choose your Pokemon' - type: 'field' - source: FieldFilterSource { - dataset: pokedex_2 - field: ref('pkm_2', 'name') - } - default { - operator: 'is' - value: 'Pikachu' - } - settings { - hide_label: true - hide_controls: true - input_type: 'single' - } - } - block t27: TextBlock { - content: @md
-

CHOOSE YOUR

-
;; - } -} \ No newline at end of file diff --git a/demo adhoc/pokemon/[Staging3] Pokemon/pokedex_2.dataset.aml b/demo adhoc/pokemon/[Staging3] Pokemon/pokedex_2.dataset.aml deleted file mode 100644 index 6857cb1..0000000 --- a/demo adhoc/pokemon/[Staging3] Pokemon/pokedex_2.dataset.aml +++ /dev/null @@ -1,11 +0,0 @@ -Dataset pokedex_2 { - label: 'Pokedex 2.0' - description: '' - data_source_name: 'demodb' - models: [ - pkm_2 - ] - relationships: [ - ] - owner: 'chukwudi@holistics.io' -} diff --git a/demo adhoc/pokemon/[Staging3] Pokemon/repack_persisted_pokedex_2_csv.model.aml b/demo adhoc/pokemon/[Staging3] Pokemon/repack_persisted_pokedex_2_csv.model.aml deleted file mode 100644 index be265b6..0000000 --- a/demo adhoc/pokemon/[Staging3] Pokemon/repack_persisted_pokedex_2_csv.model.aml +++ /dev/null @@ -1,327 +0,0 @@ -Model repack_persisted_pokedex_2_csv { - type: 'table' - label: 'Repack Persisted Pokedex 2 Csv' - description: '' - data_source_name: 'demodb' - dimension index { - label: 'Index' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.index }};; - } - dimension pokedex_number { - label: 'Pokedex Number' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.pokedex_number }};; - } - dimension name { - label: 'Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.name }};; - } - dimension german_name { - label: 'German Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.german_name }};; - } - dimension japanese_name { - label: 'Japanese Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.japanese_name }};; - } - dimension generation { - label: 'Generation' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.generation }};; - } - dimension is_sub_legendary { - label: 'Is Sub Legendary' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.is_sub_legendary }};; - } - dimension is_legendary { - label: 'Is Legendary' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.is_legendary }};; - } - dimension is_mythical { - label: 'Is Mythical' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.is_mythical }};; - } - dimension species { - label: 'Species' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.species }};; - } - dimension type_number { - label: 'Type Number' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_number }};; - } - dimension type_1 { - label: 'Type 1' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_1 }};; - } - dimension type_2 { - label: 'Type 2' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.type_2 }};; - } - dimension height_m { - label: 'Height M' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.height_m }};; - } - dimension weight_kg { - label: 'Weight Kg' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.weight_kg }};; - } - dimension abilities_number { - label: 'Abilities Number' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.abilities_number }};; - } - dimension ability_1 { - label: 'Ability 1' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.ability_1 }};; - } - dimension ability_2 { - label: 'Ability 2' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.ability_2 }};; - } - dimension ability_hidden { - label: 'Ability Hidden' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.ability_hidden }};; - } - dimension total_points { - label: 'Total Points' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.total_points }};; - } - dimension hp { - label: 'Hp' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.hp }};; - } - dimension attack { - label: 'Attack' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.attack }};; - } - dimension defense { - label: 'Defense' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.defense }};; - } - dimension sp_attack { - label: 'Sp Attack' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.sp_attack }};; - } - dimension sp_defense { - label: 'Sp Defense' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.sp_defense }};; - } - dimension speed { - label: 'Speed' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.speed }};; - } - dimension catch_rate { - label: 'Catch Rate' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.catch_rate }};; - } - dimension base_friendship { - label: 'Base Friendship' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.base_friendship }};; - } - dimension base_experience { - label: 'Base Experience' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.base_experience }};; - } - dimension growth_rate { - label: 'Growth Rate' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.growth_rate }};; - } - dimension egg_type_number { - label: 'Egg Type Number' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.egg_type_number }};; - } - dimension egg_type_1 { - label: 'Egg Type 1' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.egg_type_1 }};; - } - dimension egg_type_2 { - label: 'Egg Type 2' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.egg_type_2 }};; - } - dimension percentage_male { - label: 'Percentage Male' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.percentage_male }};; - } - dimension egg_cycles { - label: 'Egg Cycles' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.egg_cycles }};; - } - dimension against_normal { - label: 'Against Normal' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_normal }};; - } - dimension against_fire { - label: 'Against Fire' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_fire }};; - } - dimension against_water { - label: 'Against Water' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_water }};; - } - dimension against_electric { - label: 'Against Electric' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_electric }};; - } - dimension against_grass { - label: 'Against Grass' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_grass }};; - } - dimension against_ice { - label: 'Against Ice' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_ice }};; - } - dimension against_fight { - label: 'Against Fight' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_fight }};; - } - dimension against_poison { - label: 'Against Poison' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_poison }};; - } - dimension against_ground { - label: 'Against Ground' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_ground }};; - } - dimension against_flying { - label: 'Against Flying' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_flying }};; - } - dimension against_psychic { - label: 'Against Psychic' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_psychic }};; - } - dimension against_bug { - label: 'Against Bug' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_bug }};; - } - dimension against_rock { - label: 'Against Rock' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_rock }};; - } - dimension against_ghost { - label: 'Against Ghost' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_ghost }};; - } - dimension against_dragon { - label: 'Against Dragon' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_dragon }};; - } - dimension against_dark { - label: 'Against Dark' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_dark }};; - } - dimension against_steel { - label: 'Against Steel' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_steel }};; - } - dimension against_fairy { - label: 'Against Fairy' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.against_fairy }};; - } - - owner: 'chukwudi@holistics.io' - table_name: '"persisted_models"."repack_persisted_pokedex_2_csv"' -} diff --git a/team-folders/Thang/ecommerce_users.model.aml b/team-folders/Thang/ecommerce_users.model.aml index a88b472..c30e6f7 100644 --- a/team-folders/Thang/ecommerce_users.model.aml +++ b/team-folders/Thang/ecommerce_users.model.aml @@ -9,10 +9,10 @@ Model ecommerce_users2 { hidden: false definition: @sql {{ #SOURCE.id }};; } - dimension sign_up_date { + dimension sign_up_dat { label: 'Sign Up Date' - type: 'date' - hidden: false + type: 'dat' + hidden: flse definition: @sql {{ #SOURCE.sign_up_date }};; } dimension sign_up_at { @@ -27,7 +27,7 @@ Model ecommerce_users2 { hidden: false definition: @sql {{ #SOURCE.first_name }};; } - dimension last_name { + dimension last ame { label: 'Last Name' type: 'text' hidden: false diff --git a/team-folders/Thinh/ecommerce_cohort.dataset.aml b/team-folders/Thinh/ecommerce_cohort.dataset.aml index 8cddbc7..3905b9a 100644 --- a/team-folders/Thinh/ecommerce_cohort.dataset.aml +++ b/team-folders/Thinh/ecommerce_cohort.dataset.aml @@ -8,7 +8,7 @@ Dataset ecommerce_cohort { ] dimension cohort_month { - model: order_master + model: order_maste label: 'Cohort Month' type: 'date' definition: @aql order_master @@ -17,14 +17,14 @@ Dataset ecommerce_cohort { } dimension month_num { - model: order_master + model: order_maser label: 'Month Number' type: 'number' definition: @aql date_diff('month', order_master.cohort_month, order_master.order_created_month) - 1;; } dimension cohort_size { - model: order_master + model: order_maser label: 'Cohort Size' type: 'number' definition: @aql count_distinct(order_master.user_id) | exact_grains(order_master.cohort_month) ;; diff --git a/team-folders/Vux/ecom_dataset_vux.dataset.aml b/team-folders/Vux/ecom_dataset_vux.dataset.aml index 45ce5d5..bb16a5b 100644 --- a/team-folders/Vux/ecom_dataset_vux.dataset.aml +++ b/team-folders/Vux/ecom_dataset_vux.dataset.aml @@ -28,7 +28,7 @@ pre_aggregates: { models: [ - order_master, + order_mastr, ecommerce_orders, ecommerce_users, ecommerce_products, From 8e38c44096c925b3cac5a2a864d3f3a30e05b19d Mon Sep 17 00:00:00 2001 From: Thang Date: Tue, 3 Feb 2026 08:29:12 +0000 Subject: [PATCH 24/28] Restore to version "Update 'demo_ecommerce_dashboard_thang.page.aml' to fix filter field and remove obsolete 'Daily GMV vs. 7-day Moving Average' viz block" (#0bc7aa) --- .../pokemon_moves.model.aml | 69 ++ .../pokemon_pokedex.model.aml | 255 ++++++ .../sample_pokemon_gif.model.aml | 91 +++ .../pokemon/[Staging3] Pokemon/pkm.model.aml | 81 ++ .../[Staging3] Pokemon/pkm_2.model.aml | 457 +++++++++++ .../[Staging3] Pokemon/pokedex.page.aml | 759 ++++++++++++++++++ .../[Staging3] Pokemon/pokedex_2.dataset.aml | 11 + .../repack_persisted_pokedex_2_csv.model.aml | 327 ++++++++ team-folders/Thang/ecommerce_users.model.aml | 8 +- .../Thinh/ecommerce_cohort.dataset.aml | 6 +- team-folders/Vux/ecom_dataset_vux.dataset.aml | 2 +- 11 files changed, 2058 insertions(+), 8 deletions(-) create mode 100644 demo adhoc/pokemon/[Previous] Pokemon/pokemon_moves.model.aml create mode 100644 demo adhoc/pokemon/[Previous] Pokemon/pokemon_pokedex.model.aml create mode 100644 demo adhoc/pokemon/[Previous] Pokemon/sample_pokemon_gif.model.aml create mode 100644 demo adhoc/pokemon/[Staging3] Pokemon/pkm.model.aml create mode 100644 demo adhoc/pokemon/[Staging3] Pokemon/pkm_2.model.aml create mode 100644 demo adhoc/pokemon/[Staging3] Pokemon/pokedex.page.aml create mode 100644 demo adhoc/pokemon/[Staging3] Pokemon/pokedex_2.dataset.aml create mode 100644 demo adhoc/pokemon/[Staging3] Pokemon/repack_persisted_pokedex_2_csv.model.aml diff --git a/demo adhoc/pokemon/[Previous] Pokemon/pokemon_moves.model.aml b/demo adhoc/pokemon/[Previous] Pokemon/pokemon_moves.model.aml new file mode 100644 index 0000000..e88cebb --- /dev/null +++ b/demo adhoc/pokemon/[Previous] Pokemon/pokemon_moves.model.aml @@ -0,0 +1,69 @@ +Model pokemon_moves { + type: 'table' + label: 'Moves' + description: '' + data_source_name: 'demodb' + dimension name { + label: 'Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.name }};; + } + dimension type { + label: 'Type' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type }};; + } + dimension category { + label: 'Category' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.category }};; + } + dimension effect { + label: 'Effect' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.effect }};; + } + dimension power { + label: 'Power' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.power }};; + } + dimension acc { + label: 'Acc' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.acc }};; + } + dimension pp { + label: 'Pp' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.pp }};; + } + dimension tm { + label: 'Tm' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.tm }};; + } + dimension prob { + label: 'Prob' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.prob }};; + } + dimension gen { + label: 'Gen' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.gen }};; + } + + owner: 'vincent@holistics.io' + table_name: '"pokemon"."moves"' +} diff --git a/demo adhoc/pokemon/[Previous] Pokemon/pokemon_pokedex.model.aml b/demo adhoc/pokemon/[Previous] Pokemon/pokemon_pokedex.model.aml new file mode 100644 index 0000000..9b33216 --- /dev/null +++ b/demo adhoc/pokemon/[Previous] Pokemon/pokemon_pokedex.model.aml @@ -0,0 +1,255 @@ +Model pokemon_pokedex { + type: 'table' + label: 'Pokedex' + description: '' + data_source_name: 'demodb' + dimension abilities { + label: 'Abilities' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.abilities }};; + } + dimension against_bug { + label: 'Against Bug' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_bug }};; + } + dimension against_dark { + label: 'Against Dark' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_dark }};; + } + dimension against_dragon { + label: 'Against Dragon' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_dragon }};; + } + dimension against_electric { + label: 'Against Electric' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_electric }};; + } + dimension against_fairy { + label: 'Against Fairy' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_fairy }};; + } + dimension against_fight { + label: 'Against Fight' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_fight }};; + } + dimension against_fire { + label: 'Against Fire' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_fire }};; + } + dimension against_flying { + label: 'Against Flying' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_flying }};; + } + dimension against_ghost { + label: 'Against Ghost' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_ghost }};; + } + dimension against_grass { + label: 'Against Grass' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_grass }};; + } + dimension against_ground { + label: 'Against Ground' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_ground }};; + } + dimension against_ice { + label: 'Against Ice' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_ice }};; + } + dimension against_normal { + label: 'Against Normal' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_normal }};; + } + dimension against_poison { + label: 'Against Poison' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_poison }};; + } + dimension against_psychic { + label: 'Against Psychic' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_psychic }};; + } + dimension against_rock { + label: 'Against Rock' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_rock }};; + } + dimension against_steel { + label: 'Against Steel' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_steel }};; + } + dimension against_water { + label: 'Against Water' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.against_water }};; + } + dimension attack { + label: 'Attack' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.attack }};; + } + dimension base_egg_steps { + label: 'Base Egg Steps' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.base_egg_steps }};; + } + dimension base_happiness { + label: 'Base Happiness' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.base_happiness }};; + } + dimension base_total { + label: 'Base Total' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.base_total }};; + } + dimension capture_rate { + label: 'Capture Rate' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.capture_rate }};; + } + dimension classfication { + label: 'Classfication' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.classfication }};; + } + dimension defense { + label: 'Defense' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.defense }};; + } + dimension experience_growth { + label: 'Experience Growth' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.experience_growth }};; + } + dimension height_m { + label: 'Height M' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.height_m }};; + } + dimension hp { + label: 'Hp' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.hp }};; + } + dimension japanese_name { + label: 'Japanese Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.japanese_name }};; + } + dimension name { + label: 'Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.name }};; + } + dimension percentage_male { + label: 'Percentage Male' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.percentage_male }};; + } + dimension pokedex_number { + label: 'Pokedex Number' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.pokedex_number }};; + } + dimension sp_attack { + label: 'Sp Attack' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.sp_attack }};; + } + dimension sp_defense { + label: 'Sp Defense' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.sp_defense }};; + } + dimension speed { + label: 'Speed' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.speed }};; + } + dimension type_1 { + label: 'Type 1' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_1 }};; + } + dimension type_2 { + label: 'Type 2' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_2 }};; + } + dimension weight_kg { + label: 'Weight Kg' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.weight_kg }};; + } + dimension generation { + label: 'Generation' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.generation }};; + } + dimension is_legendary { + label: 'Is Legendary' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.is_legendary }};; + } + + owner: 'vincent@holistics.io' + table_name: '"pokemon"."pokedex"' +} diff --git a/demo adhoc/pokemon/[Previous] Pokemon/sample_pokemon_gif.model.aml b/demo adhoc/pokemon/[Previous] Pokemon/sample_pokemon_gif.model.aml new file mode 100644 index 0000000..af22c1a --- /dev/null +++ b/demo adhoc/pokemon/[Previous] Pokemon/sample_pokemon_gif.model.aml @@ -0,0 +1,91 @@ +Model sample_pokemon_gif { + type: 'table' + label: 'Pokemon Gif' + description: '' + data_source_name: 'demodb' + dimension no { + label: 'No' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.no }};; + } + dimension pokemon { + label: 'Pokemon' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.pokemon }};; + } + dimension type_1 { + label: 'Type 1' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_1 }};; + } + dimension type_2 { + label: 'Type 2' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_2 }};; + } + dimension hp { + label: 'Hp' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.hp }};; + } + dimension attack { + label: 'Attack' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.attack }};; + } + dimension defense { + label: 'Defense' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.defense }};; + } + dimension speed { + label: 'Speed' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.speed }};; + } + dimension special { + label: 'Special' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.special }};; + } + dimension description { + label: 'Description' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.description }};; + } + dimension gif { + label: 'Gif' + type: 'text' + hidden: true + definition: @sql {{ #SOURCE.gif }};; + } + dimension png { + label: 'Png' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.png }};; + } + dimension gif_cleaned { + label: "Gif Cleaned" + type: "text" + definition: @sql concat(substring({{ gif }},1,strpos({{ gif }},'height')-1),'style="width: 100%;width: 70px; height: 70px;"','/>');; + } + dimension pokemon_html_link { + label: "Pokemon HTML Link" + type: "text" + definition: @sql CONCAT('',{{ pokemon }},'');; + } + + owner: 'vincent+demo4@holistics.io' + table_name: '\"sample\".\"pokemon_gif\"' +} \ No newline at end of file diff --git a/demo adhoc/pokemon/[Staging3] Pokemon/pkm.model.aml b/demo adhoc/pokemon/[Staging3] Pokemon/pkm.model.aml new file mode 100644 index 0000000..7c80c0b --- /dev/null +++ b/demo adhoc/pokemon/[Staging3] Pokemon/pkm.model.aml @@ -0,0 +1,81 @@ +Model pkm { + type: 'table' + label: 'Pkm' + description: '' + data_source_name: 'demodb' + dimension number { + label: 'Number' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.number }};; + } + dimension pokemon { + label: 'Pokemon' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.pokemon }};; + } + dimension type_1 { + label: 'Type 1' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_1 }};; + } + dimension type_2 { + label: 'Type 2' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_2 }};; + } + dimension hp { + label: 'Hp' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.hp }};; + } + dimension attack { + label: 'Attack' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.attack }};; + } + dimension defense { + label: 'Defense' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.defense }};; + } + dimension speed { + label: 'Speed' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.speed }};; + } + dimension special { + label: 'Special' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.special }};; + } + dimension gif { + label: 'Gif' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.gif }};; + } + dimension png { + label: 'Png' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.png }};; + } + dimension description { + label: 'Description' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.description }};; + } + + owner: 'chukwudi@holistics.io' + table_name: '"persisted_models"."persisted_pkm_csv"' +} diff --git a/demo adhoc/pokemon/[Staging3] Pokemon/pkm_2.model.aml b/demo adhoc/pokemon/[Staging3] Pokemon/pkm_2.model.aml new file mode 100644 index 0000000..ca6f862 --- /dev/null +++ b/demo adhoc/pokemon/[Staging3] Pokemon/pkm_2.model.aml @@ -0,0 +1,457 @@ +Model pkm_2 { + type: 'query' + label: 'Pkm 2' + description: '' + data_source_name: 'demodb' + dimension index { + label: "Index" + type: "number" + definition: @sql {{ #SOURCE.index }};; + } + dimension pokedex_number { + label: "Pokedex Number" + type: "number" + definition: @sql CAST({{ #SOURCE.pokedex_number }} AS DOUBLE PRECISION);; + format: "#,###" + } + dimension name { + label: 'Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.name }};; + } + dimension german_name { + label: 'German Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.german_name }};; + } + dimension japanese_name { + label: 'Japanese Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.japanese_name }};; + } + dimension generation { + label: "Generation" + type: "text" + definition: @sql {{ #SOURCE.generation }};; + } + dimension is_sub_legendary { + label: "Is Sub Legendary" + type: "truefalse" + definition: @sql {{ #SOURCE.is_sub_legendary }};; + } + dimension is_legendary { + label: 'Is Legendary' + type: 'truefalse' + hidden: false + definition: @sql {{ #SOURCE.is_legendary }};; + } + dimension is_mythical { + label: 'Is Mythical' + type: 'truefalse' + hidden: false + definition: @sql {{ #SOURCE.is_mythical }};; + } + dimension species { + label: 'Species' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.species }};; + } + dimension type_number { + label: 'Type Number' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.type_number }};; + } + dimension type_1 { + label: 'Type 1' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_1 }};; + } + dimension type_2 { + label: 'Type 2' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_2 }};; + } + dimension height_m { + label: "Height M" + type: "number" + definition: @sql {{ #SOURCE.height_m }};; + format: "#,###0.00" + } + dimension weight_kg { + label: 'Weight Kg' + type: "number" + hidden: false + definition: @sql {{ #SOURCE.weight_kg }};; + format: "#,###0.00" + } + dimension abilities_number { + label: 'Abilities Number' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.abilities_number }};; + } + dimension ability_1 { + label: 'Ability 1' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.ability_1 }};; + } + dimension ability_2 { + label: 'Ability 2' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.ability_2 }};; + } + dimension ability_hidden { + label: 'Ability Hidden' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.ability_hidden }};; + } + dimension total_points { + label: 'Total Points' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.total_points }};; + } + dimension hp { + label: "Hp" + type: "number" + definition: @sql + Case + When {{ #SOURCE.hp }} != '' then CAST({{ #SOURCE.hp }} AS DOUBLE PRECISION) + Else NULL + End + ;; + } + dimension attack { + label: 'Attack' + type: 'number' + hidden: false + definition: @sql + Case + When {{ #SOURCE.attack }} != '' then CAST({{ #SOURCE.attack }} AS DOUBLE PRECISION) + Else NULL + End + ;; + } + dimension defense { + label: 'Defense' + type: 'number' + hidden: false + definition: @sql + Case + When {{ #SOURCE.defense }} != '' then CAST({{ #SOURCE.defense }} AS DOUBLE PRECISION) + Else NULL + End + ;; + } + dimension sp_attack { + label: 'Sp Attack' + type: 'number' + hidden: false + definition: @sql + Case + When {{ #SOURCE.sp_attack }} != '' then CAST({{ #SOURCE.sp_attack }} AS DOUBLE PRECISION) + Else NULL + End + ;; + } + dimension sp_defense { + label: 'Sp Defense' + type: 'number' + hidden: false + definition: @sql + Case + When {{ #SOURCE.sp_defense }} != '' then CAST({{ #SOURCE.sp_defense }} AS DOUBLE PRECISION) + Else NULL + End + ;; + } + dimension speed { + label: 'Speed' + type: 'number' + hidden: false + definition: @sql + Case + When {{ #SOURCE.speed }} != '' then CAST({{ #SOURCE.speed }} AS DOUBLE PRECISION) + Else NULL + End + ;; + } + dimension catch_rate { + label: 'Catch Rate' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.catch_rate }};; + } + dimension base_friendship { + label: 'Base Friendship' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.base_friendship }};; + } + dimension base_experience { + label: 'Base Experience' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.base_experience }};; + } + dimension growth_rate { + label: 'Growth Rate' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.growth_rate }};; + } + dimension egg_type_number { + label: 'Egg Type Number' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.egg_type_number }};; + } + dimension egg_type_1 { + label: 'Egg Type 1' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.egg_type_1 }};; + } + dimension egg_type_2 { + label: 'Egg Type 2' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.egg_type_2 }};; + } + dimension percentage_male { + label: 'Percentage Male' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.percentage_male }};; + } + dimension egg_cycles { + label: 'Egg Cycles' + type: 'number' + hidden: false + definition: @sql {{ #SOURCE.egg_cycles }};; + } + dimension against_normal { + label: 'Against Normal' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_normal }};; + } + dimension against_fire { + label: 'Against Fire' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_fire }};; + } + dimension against_water { + label: 'Against Water' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_water }};; + } + dimension against_electric { + label: 'Against Electric' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_electric }};; + } + dimension against_grass { + label: 'Against Grass' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_grass }};; + } + dimension against_ice { + label: 'Against Ice' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_ice }};; + } + dimension against_fight { + label: 'Against Fight' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_fight }};; + } + dimension against_poison { + label: 'Against Poison' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_poison }};; + } + dimension against_ground { + label: 'Against Ground' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_ground }};; + } + dimension against_flying { + label: 'Against Flying' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_flying }};; + } + dimension against_psychic { + label: 'Against Psychic' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_psychic }};; + } + dimension against_bug { + label: 'Against Bug' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_bug }};; + } + dimension against_rock { + label: 'Against Rock' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_rock }};; + } + dimension against_ghost { + label: 'Against Ghost' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_ghost }};; + } + dimension against_dragon { + label: 'Against Dragon' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_dragon }};; + } + dimension against_dark { + label: 'Against Dark' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_dark }};; + } + dimension against_steel { + label: 'Against Steel' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_steel }};; + } + dimension against_fairy { + label: 'Against Fairy' + type: 'number' + format: "#,###0.00" + hidden: false + definition: @sql {{ #SOURCE.against_fairy }};; + } + dimension description { + label: 'Description' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.description }};; + } + dimension gif { + label: 'Gif' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.gif }};; + } + dimension png { + label: 'Png' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.png }};; + } + dimension max_hp { + label: "Max Hp" + type: "number" + definition: @sql 300;; + } + dimension type1_icon { + label: "Type 1 Icon" + type: "text" + definition: @sql CASE +WHEN {{ type_1 }} = 'Bug' then 'https://archives.bulbagarden.net/media/upload/9/9c/Bug_icon_SwSh.png' +WHEN {{ type_1 }} = 'Dark' then 'https://archives.bulbagarden.net/media/upload/d/d5/Dark_icon_SwSh.png' +WHEN {{ type_1 }} = 'Dragon' then 'https://archives.bulbagarden.net/media/upload/7/70/Dragon_icon_SwSh.png' +WHEN {{ type_1 }} = 'Electric' then 'https://archives.bulbagarden.net/media/upload/7/7b/Electric_icon_SwSh.png' +WHEN {{ type_1 }} = 'Fairy' then 'https://archives.bulbagarden.net/media/upload/c/c6/Fairy_icon_SwSh.png' +WHEN {{ type_1 }} = 'Fighting' then 'https://archives.bulbagarden.net/media/upload/3/3b/Fighting_icon_SwSh.png' +WHEN {{ type_1 }} = 'Fire' then 'https://archives.bulbagarden.net/media/upload/a/ab/Fire_icon_SwSh.png' +WHEN {{ type_1 }} = 'Flying' then 'https://archives.bulbagarden.net/media/upload/b/b5/Flying_icon_SwSh.png' +WHEN {{ type_1 }} = 'Ghost' then 'https://archives.bulbagarden.net/media/upload/0/01/Ghost_icon_SwSh.png' +WHEN {{ type_1 }} = 'Grass' then 'https://archives.bulbagarden.net/media/upload/a/a8/Grass_icon_SwSh.png' +WHEN {{ type_1 }} = 'Ground' then 'https://archives.bulbagarden.net/media/upload/2/27/Ground_icon_SwSh.png' +WHEN {{ type_1 }} = 'Ice' then 'https://archives.bulbagarden.net/media/upload/1/15/Ice_icon_SwSh.png' +WHEN {{ type_1 }} = 'Normal' then 'https://archives.bulbagarden.net/media/upload/9/95/Normal_icon_SwSh.png' +WHEN {{ type_1 }} = 'Poison' then 'https://archives.bulbagarden.net/media/upload/8/8d/Poison_icon_SwSh.png' +WHEN {{ type_1 }} = 'Psychic' then 'https://archives.bulbagarden.net/media/upload/7/73/Psychic_icon_SwSh.png' +WHEN {{ type_1 }} = 'Rock' then 'https://archives.bulbagarden.net/media/upload/1/11/Rock_icon_SwSh.png' +WHEN {{ type_1 }} = 'Steel' then 'https://archives.bulbagarden.net/media/upload/0/09/Steel_icon_SwSh.png' +WHEN {{ type_1 }} = 'Water' then 'https://archives.bulbagarden.net/media/upload/8/80/Water_icon_SwSh.png' +ELSE null +END;; + } + dimension type2_icon { + label: "Type 2 Icon" + type: "text" + definition: @sql CASE +WHEN {{ type_2 }} = 'Bug' then 'https://archives.bulbagarden.net/media/upload/9/9c/Bug_icon_SwSh.png' +WHEN {{ type_2 }} = 'Dark' then 'https://archives.bulbagarden.net/media/upload/d/d5/Dark_icon_SwSh.png' +WHEN {{ type_2 }} = 'Dragon' then 'https://archives.bulbagarden.net/media/upload/7/70/Dragon_icon_SwSh.png' +WHEN {{ type_2 }} = 'Electric' then 'https://archives.bulbagarden.net/media/upload/7/7b/Electric_icon_SwSh.png' +WHEN {{ type_2 }} = 'Fairy' then 'https://archives.bulbagarden.net/media/upload/c/c6/Fairy_icon_SwSh.png' +WHEN {{ type_2 }} = 'Fighting' then 'https://archives.bulbagarden.net/media/upload/3/3b/Fighting_icon_SwSh.png' +WHEN {{ type_2 }} = 'Fire' then 'https://archives.bulbagarden.net/media/upload/a/ab/Fire_icon_SwSh.png' +WHEN {{ type_2 }} = 'Flying' then 'https://archives.bulbagarden.net/media/upload/b/b5/Flying_icon_SwSh.png' +WHEN {{ type_2 }} = 'Ghost' then 'https://archives.bulbagarden.net/media/upload/0/01/Ghost_icon_SwSh.png' +WHEN {{ type_2 }} = 'Grass' then 'https://archives.bulbagarden.net/media/upload/a/a8/Grass_icon_SwSh.png' +WHEN {{ type_2 }} = 'Ground' then 'https://archives.bulbagarden.net/media/upload/2/27/Ground_icon_SwSh.png' +WHEN {{ type_2 }} = 'Ice' then 'https://archives.bulbagarden.net/media/upload/1/15/Ice_icon_SwSh.png' +WHEN {{ type_2 }} = 'Normal' then 'https://archives.bulbagarden.net/media/upload/9/95/Normal_icon_SwSh.png' +WHEN {{ type_2 }} = 'Poison' then 'https://archives.bulbagarden.net/media/upload/8/8d/Poison_icon_SwSh.png' +WHEN {{ type_2 }} = 'Psychic' then 'https://archives.bulbagarden.net/media/upload/7/73/Psychic_icon_SwSh.png' +WHEN {{ type_2 }} = 'Rock' then 'https://archives.bulbagarden.net/media/upload/1/11/Rock_icon_SwSh.png' +WHEN {{ type_2 }} = 'Steel' then 'https://archives.bulbagarden.net/media/upload/0/09/Steel_icon_SwSh.png' +WHEN {{ type_2 }} = 'Water' then 'https://archives.bulbagarden.net/media/upload/8/80/Water_icon_SwSh.png' +ELSE null +END;; + } + + owner: 'chukwudi@holistics.io' + query: @sql SELECT + {{ #a.* }}, + {{ #b.description }}, + {{ #b.gif }}, + {{ #b.png }} +FROM + {{ #repack_persisted_pokedex_2_csv a }} + LEFT JOIN {{ #pkm b }} ON {{ #a.pokedex_number }} = {{ #b.number }};; + models: [ + pkm, + repack_persisted_pokedex_2_csv + ] +} diff --git a/demo adhoc/pokemon/[Staging3] Pokemon/pokedex.page.aml b/demo adhoc/pokemon/[Staging3] Pokemon/pokedex.page.aml new file mode 100644 index 0000000..3dcef2f --- /dev/null +++ b/demo adhoc/pokemon/[Staging3] Pokemon/pokedex.page.aml @@ -0,0 +1,759 @@ +Dashboard pokemon { + title: 'Pokedex 2.0' + description: '''''' + view: CanvasLayout { + label: 'View 1' + width: 1720 + height: 880 + block t5 { + position: pos(10, 30, 170, 110) + layer: -2 + } + block t6 { + position: pos(180, 30, 980, 100) + } + block t7 { + position: pos(0, 0, 1730, 190) + layer: -3 + } + block t8 { + position: pos(0, 150, 1730, 40) + } + block t9 { + position: pos(10, 350, 350, 190) + layer: 1 + } + block v2 { + position: pos(390, 340, 210, 240) + layer: 1 + } + block v3 { + position: pos(600, 640, 360, 90) + } + block v4 { + position: pos(590, 340, 380, 170) + } + block v5 { + position: pos(590, 490, 380, 70) + } + block t10 { + position: pos(390, 340, 210, 80) + } + block t11 { + position: pos(600, 580, 360, 80) + } + block t12 { + position: pos(370, 210, 190, 120) + } + block t13 { + position: pos(770, 210, 200, 120) + layer: -6 + } + block t14 { + position: pos(570, 210, 190, 120) + } + block t15 { + position: pos(0, 180, 1730, 1060) + layer: -7 + } + block t17 { + position: pos(1360, 550, 340, 310) + } + block t18 { + position: pos(990, 550, 350, 310) + } + block t19 { + position: pos(1360, 210, 340, 350) + } + block t20 { + position: pos(990, 210, 350, 350) + } + block t21 { + position: pos(370, 330, 600, 490) + layer: -6 + } + block v6 { + position: pos(370, 240, 190, 70) + } + block v7 { + position: pos(770, 240, 200, 70) + } + block v8 { + position: pos(570, 240, 190, 70) + } + block t22 { + position: pos(380, 220, 180, 50) + } + block t23 { + position: pos(780, 220, 190, 50) + } + block t24 { + position: pos(580, 220, 180, 50) + } + block v9 { + position: pos(990, 290, 350, 240) + } + block v10 { + position: pos(1010, 220, 90, 90) + } + block v10_dup_dup { + position: pos(1220, 220, 90, 90) + } + block v10_dup { + position: pos(1110, 220, 100, 90) + } + block v9_dup { + position: pos(1370, 290, 320, 240) + } + block v10_dup_dup_dup { + position: pos(1390, 220, 150, 90) + } + block v10_dup_dup_dup_dup { + position: pos(1540, 220, 160, 90) + } + block v11 { + position: pos(990, 580, 350, 250) + } + block v12 { + position: pos(1360, 600, 340, 150) + } + block v13_dup { + position: pos(500, 610, 60, 130) + } + block t11_dup { + position: pos(390, 580, 180, 80) + layer: -1 + } + block v13 { + position: pos(420, 610, 60, 130) + } + block t26 { + position: pos(1010, 570, 280, 80) + } + block t25 { + position: pos(1380, 570, 300, 80) + } + block f1 { + position: pos(40, 490, 300, 80) + layer: 2 + } + block t27 { + position: pos(70, 320, 240, 70) + } + } + block t5: TextBlock { + content: @md + + +
+ + + demo + +
;; + } + block t6: TextBlock { + content: @md
+

POKEDEX

+

Gonna Catch 'Em All

+
;; + } + block t7: TextBlock { + content: @md
+
;; + } + block t8: TextBlock { + content: @md
+
;; + } + block t9: TextBlock { + content: @md
+ + + demo + +
;; + } + block v2: VizBlock { + label: 'Pokemon' + viz: DataTable { + dataset: pokedex_2 + calculation f_ef7b4e0 { + label: 'PNG' + formula: @aml concat('');; + calc_type: 'dimension' + data_type: 'text' + } + fields: [ + VizFieldFull { + label: ' ' + ref: 'f_ef7b4e0' + format { + type: 'html' + } + } + ] + settings { + row_limit: 1 + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v3: VizBlock { + label: 'Description' + viz: DataTable { + dataset: pokedex_2 + calculation f_ef7b4e0 { + label: 'Description' + formula: @aml concat('

', pkm_2.description, '

');; + calc_type: 'dimension' + data_type: 'text' + } + fields: [ + VizFieldFull { + label: ' ' + ref: 'f_ef7b4e0' + format { + type: 'html' + } + } + ] + settings { + row_limit: 1 + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v4: VizBlock { + label: 'Name' + viz: DataTable { + dataset: pokedex_2 + calculation f_ef7b4e0 { + label: 'Description' + formula: @aml concat('

', pkm_2.name, '

');; + calc_type: 'dimension' + data_type: 'text' + } + fields: [ + VizFieldFull { + label: ' ' + ref: 'f_ef7b4e0' + format { + type: 'html' + } + } + ] + settings { + row_limit: 1 + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v5: VizBlock { + label: 'Japanese Name' + viz: DataTable { + dataset: pokedex_2 + calculation f_ef7b4e0 { + label: 'Description' + formula: @aml concat('

', pkm_2.japanese_name, '

');; + calc_type: 'dimension' + data_type: 'text' + } + fields: [ + VizFieldFull { + label: ' ' + ref: 'f_ef7b4e0' + format { + type: 'html' + } + } + ] + settings { + row_limit: 1 + } + } + settings { + hide_label: true + hide_controls: true + } + } + block t10: TextBlock { + content: @md
+

Pokemon

+

+
;; + } + block t11: TextBlock { + content: @md
+

Description

+

+
;; + } + block t12: TextBlock { + content: @md
+
;; + } + block t13: TextBlock { + content: @md
+
;; + } + block t14: TextBlock { + content: @md
+
;; + } + block t15: TextBlock { + content: @md
+
;; + } + block t17: TextBlock { + content: @md
+
;; + } + block t18: TextBlock { + content: @md
+
;; + } + block t19: TextBlock { + content: @md
+
;; + } + block t20: TextBlock { + content: @md
+
;; + } + block t21: TextBlock { + content: @md
+
;; + } + block v6: VizBlock { + label: 'Height' + viz: DataTable { + dataset: pokedex_2 + fields: [ + VizFieldFull { + ref: ref('pkm_2', 'height_m') + format { + type: 'number' + pattern: '#,###0.00' + } + } + ] + settings { + row_limit: 1 + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v7: VizBlock { + label: 'Experience' + viz: DataTable { + dataset: pokedex_2 + fields: [ + VizFieldFull { + ref: ref('pkm_2', 'base_experience') + format { + type: 'number' + pattern: '#,###0.00' + } + } + ] + settings { + row_limit: 1 + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v8: VizBlock { + label: 'Weight' + viz: DataTable { + dataset: pokedex_2 + fields: [ + VizFieldFull { + ref: ref('pkm_2', 'weight_kg') + format { + type: 'number' + pattern: '#,###0.00' + } + } + ] + settings { + row_limit: 1 + } + } + settings { + hide_label: true + hide_controls: true + } + } + block t22: TextBlock { + content: @md
+

Height (m)

+
;; + } + block t23: TextBlock { + content: @md
+

Experience

+
;; + } + block t24: TextBlock { + content: @md
+

Weight (kg)

+
;; + } + block v9: VizBlock { + label: 'Attack, Defense, Speed' + viz: PieChart { + dataset: pokedex_2 + series { + field { + label: 'Attack' + ref: ref('pkm_2', 'attack') + aggregation: 'sum' + format { + type: 'number' + } + } + settings { + color: '#255DD4' + } + } + series { + field { + label: 'Defense' + ref: ref('pkm_2', 'defense') + aggregation: 'sum' + format { + type: 'number' + } + } + settings { + color: '#F2B602' + } + } + series { + field { + label: 'Speed' + ref: ref('pkm_2', 'speed') + aggregation: 'sum' + format { + type: 'number' + } + } + settings { + color: '#07326C' + } + } + settings { + display_as_donut: true + legend_label: 'hidden' + show_data_label_by: 'percentage' + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v10: VizBlock { + label: "Attack" + viz: MetricKpi { + dataset: pokedex_2 + value: VizFieldFull { + label: 'Attack' + ref: ref('pkm_2', 'attack') + aggregation: 'avg' + format { + type: 'number' + } + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v10_dup_dup: VizBlock { + label: "Speed" + viz: MetricKpi { + dataset: pokedex_2 + value: VizFieldFull { + label: 'Speed' + ref: ref('pkm_2', 'speed') + aggregation: 'sum' + format { + type: 'number' + } + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v10_dup: VizBlock { + label: "Defense" + viz: MetricKpi { + dataset: pokedex_2 + value: VizFieldFull { + label: 'Defense' + ref: ref('pkm_2', 'defense') + aggregation: 'sum' + format { + type: 'number' + } + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v9_dup: VizBlock { + label: 'Special Attack, Special Defense' + viz: PieChart { + dataset: pokedex_2 + series { + field { + label: 'Special Attack' + ref: ref('pkm_2', 'sp_attack') + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#255DD4' + } + } + series { + field { + label: 'Special Defense' + ref: ref('pkm_2', 'sp_defense') + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#F2B602' + } + } + settings { + display_as_donut: true + legend_label: 'hidden' + show_data_label_by: 'percentage' + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v10_dup_dup_dup: VizBlock { + label: 'Special Attack' + viz: MetricKpi { + dataset: pokedex_2 + value: VizFieldFull { + label: 'Special Attack' + ref: ref('pkm_2', 'sp_attack') + aggregation: 'sum' + format { + type: 'number' + } + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v10_dup_dup_dup_dup: VizBlock { + label: 'Special Defense' + viz: MetricKpi { + dataset: pokedex_2 + value: VizFieldFull { + label: 'Special Defense' + ref: ref('pkm_2', 'sp_defense') + aggregation: 'sum' + format { + type: 'number' + } + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v11: VizBlock { + label: 'Health' + viz: CustomChart { + dataset: pokedex_2 + custom_chart_id: 16582 + field max: VizFieldFull { + ref: ref('pkm_2', 'max_hp') + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + } + field current: VizFieldFull { + ref: ref('pkm_2', 'hp') + aggregation: 'sum' + format { + type: 'number' + pattern: 'inherited' + } + } + setting label_color: '#53586A' + setting ring1_color: '#F2B602' + } + settings { + hide_label: true + hide_controls: true + } + } + block v12: VizBlock { + label: 'Is Legendary?' + viz: DataTable { + dataset: pokedex_2 + fields: [ + VizFieldFull { + ref: ref('pkm_2', 'is_legendary') + format { + type: 'number' + } + } + ] + settings { + row_limit: 1 + } + } + settings { + hide_label: true + hide_controls: true + } + } + block v13_dup: VizBlock { + label: 'Type 2' + viz: DataTable { + dataset: pokedex_2 + calculation f_a2dc312 { + label: 'type icon' + formula: @aml concat('');; + calc_type: 'dimension' + data_type: 'text' + } + fields: [ + VizFieldFull { + label: ' ' + ref: 'f_a2dc312' + format { + type: 'html' + } + } + ] + settings { + row_limit: 1 + } + } + settings { + hide_label: true + hide_controls: true + } + } + block t11_dup: TextBlock { + content: @md
+

Type

+

+
;; + } + block v13: VizBlock { + label: 'Type 1' + viz: DataTable { + dataset: pokedex_2 + calculation f_a2dc312 { + label: 'type icon' + formula: @aml concat('');; + calc_type: 'dimension' + data_type: 'text' + } + fields: [ + VizFieldFull { + label: ' ' + ref: 'f_a2dc312' + format { + type: 'html' + } + } + ] + settings { + row_limit: 1 + } + } + settings { + hide_label: true + hide_controls: true + } + } + block t26: TextBlock { + content: @md
+

Health

+

+
;; + } + block t25: TextBlock { + content: @md
+

Is Legendary?

+

+
;; + } + block f1: FilterBlock { + label: 'Choose your Pokemon' + type: 'field' + source: FieldFilterSource { + dataset: pokedex_2 + field: ref('pkm_2', 'name') + } + default { + operator: 'is' + value: 'Pikachu' + } + settings { + hide_label: true + hide_controls: true + input_type: 'single' + } + } + block t27: TextBlock { + content: @md
+

CHOOSE YOUR

+
;; + } +} \ No newline at end of file diff --git a/demo adhoc/pokemon/[Staging3] Pokemon/pokedex_2.dataset.aml b/demo adhoc/pokemon/[Staging3] Pokemon/pokedex_2.dataset.aml new file mode 100644 index 0000000..6857cb1 --- /dev/null +++ b/demo adhoc/pokemon/[Staging3] Pokemon/pokedex_2.dataset.aml @@ -0,0 +1,11 @@ +Dataset pokedex_2 { + label: 'Pokedex 2.0' + description: '' + data_source_name: 'demodb' + models: [ + pkm_2 + ] + relationships: [ + ] + owner: 'chukwudi@holistics.io' +} diff --git a/demo adhoc/pokemon/[Staging3] Pokemon/repack_persisted_pokedex_2_csv.model.aml b/demo adhoc/pokemon/[Staging3] Pokemon/repack_persisted_pokedex_2_csv.model.aml new file mode 100644 index 0000000..be265b6 --- /dev/null +++ b/demo adhoc/pokemon/[Staging3] Pokemon/repack_persisted_pokedex_2_csv.model.aml @@ -0,0 +1,327 @@ +Model repack_persisted_pokedex_2_csv { + type: 'table' + label: 'Repack Persisted Pokedex 2 Csv' + description: '' + data_source_name: 'demodb' + dimension index { + label: 'Index' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.index }};; + } + dimension pokedex_number { + label: 'Pokedex Number' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.pokedex_number }};; + } + dimension name { + label: 'Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.name }};; + } + dimension german_name { + label: 'German Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.german_name }};; + } + dimension japanese_name { + label: 'Japanese Name' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.japanese_name }};; + } + dimension generation { + label: 'Generation' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.generation }};; + } + dimension is_sub_legendary { + label: 'Is Sub Legendary' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.is_sub_legendary }};; + } + dimension is_legendary { + label: 'Is Legendary' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.is_legendary }};; + } + dimension is_mythical { + label: 'Is Mythical' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.is_mythical }};; + } + dimension species { + label: 'Species' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.species }};; + } + dimension type_number { + label: 'Type Number' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_number }};; + } + dimension type_1 { + label: 'Type 1' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_1 }};; + } + dimension type_2 { + label: 'Type 2' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.type_2 }};; + } + dimension height_m { + label: 'Height M' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.height_m }};; + } + dimension weight_kg { + label: 'Weight Kg' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.weight_kg }};; + } + dimension abilities_number { + label: 'Abilities Number' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.abilities_number }};; + } + dimension ability_1 { + label: 'Ability 1' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.ability_1 }};; + } + dimension ability_2 { + label: 'Ability 2' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.ability_2 }};; + } + dimension ability_hidden { + label: 'Ability Hidden' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.ability_hidden }};; + } + dimension total_points { + label: 'Total Points' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.total_points }};; + } + dimension hp { + label: 'Hp' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.hp }};; + } + dimension attack { + label: 'Attack' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.attack }};; + } + dimension defense { + label: 'Defense' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.defense }};; + } + dimension sp_attack { + label: 'Sp Attack' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.sp_attack }};; + } + dimension sp_defense { + label: 'Sp Defense' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.sp_defense }};; + } + dimension speed { + label: 'Speed' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.speed }};; + } + dimension catch_rate { + label: 'Catch Rate' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.catch_rate }};; + } + dimension base_friendship { + label: 'Base Friendship' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.base_friendship }};; + } + dimension base_experience { + label: 'Base Experience' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.base_experience }};; + } + dimension growth_rate { + label: 'Growth Rate' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.growth_rate }};; + } + dimension egg_type_number { + label: 'Egg Type Number' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.egg_type_number }};; + } + dimension egg_type_1 { + label: 'Egg Type 1' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.egg_type_1 }};; + } + dimension egg_type_2 { + label: 'Egg Type 2' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.egg_type_2 }};; + } + dimension percentage_male { + label: 'Percentage Male' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.percentage_male }};; + } + dimension egg_cycles { + label: 'Egg Cycles' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.egg_cycles }};; + } + dimension against_normal { + label: 'Against Normal' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_normal }};; + } + dimension against_fire { + label: 'Against Fire' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_fire }};; + } + dimension against_water { + label: 'Against Water' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_water }};; + } + dimension against_electric { + label: 'Against Electric' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_electric }};; + } + dimension against_grass { + label: 'Against Grass' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_grass }};; + } + dimension against_ice { + label: 'Against Ice' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_ice }};; + } + dimension against_fight { + label: 'Against Fight' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_fight }};; + } + dimension against_poison { + label: 'Against Poison' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_poison }};; + } + dimension against_ground { + label: 'Against Ground' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_ground }};; + } + dimension against_flying { + label: 'Against Flying' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_flying }};; + } + dimension against_psychic { + label: 'Against Psychic' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_psychic }};; + } + dimension against_bug { + label: 'Against Bug' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_bug }};; + } + dimension against_rock { + label: 'Against Rock' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_rock }};; + } + dimension against_ghost { + label: 'Against Ghost' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_ghost }};; + } + dimension against_dragon { + label: 'Against Dragon' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_dragon }};; + } + dimension against_dark { + label: 'Against Dark' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_dark }};; + } + dimension against_steel { + label: 'Against Steel' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_steel }};; + } + dimension against_fairy { + label: 'Against Fairy' + type: 'text' + hidden: false + definition: @sql {{ #SOURCE.against_fairy }};; + } + + owner: 'chukwudi@holistics.io' + table_name: '"persisted_models"."repack_persisted_pokedex_2_csv"' +} diff --git a/team-folders/Thang/ecommerce_users.model.aml b/team-folders/Thang/ecommerce_users.model.aml index c30e6f7..a88b472 100644 --- a/team-folders/Thang/ecommerce_users.model.aml +++ b/team-folders/Thang/ecommerce_users.model.aml @@ -9,10 +9,10 @@ Model ecommerce_users2 { hidden: false definition: @sql {{ #SOURCE.id }};; } - dimension sign_up_dat { + dimension sign_up_date { label: 'Sign Up Date' - type: 'dat' - hidden: flse + type: 'date' + hidden: false definition: @sql {{ #SOURCE.sign_up_date }};; } dimension sign_up_at { @@ -27,7 +27,7 @@ Model ecommerce_users2 { hidden: false definition: @sql {{ #SOURCE.first_name }};; } - dimension last ame { + dimension last_name { label: 'Last Name' type: 'text' hidden: false diff --git a/team-folders/Thinh/ecommerce_cohort.dataset.aml b/team-folders/Thinh/ecommerce_cohort.dataset.aml index 3905b9a..8cddbc7 100644 --- a/team-folders/Thinh/ecommerce_cohort.dataset.aml +++ b/team-folders/Thinh/ecommerce_cohort.dataset.aml @@ -8,7 +8,7 @@ Dataset ecommerce_cohort { ] dimension cohort_month { - model: order_maste + model: order_master label: 'Cohort Month' type: 'date' definition: @aql order_master @@ -17,14 +17,14 @@ Dataset ecommerce_cohort { } dimension month_num { - model: order_maser + model: order_master label: 'Month Number' type: 'number' definition: @aql date_diff('month', order_master.cohort_month, order_master.order_created_month) - 1;; } dimension cohort_size { - model: order_maser + model: order_master label: 'Cohort Size' type: 'number' definition: @aql count_distinct(order_master.user_id) | exact_grains(order_master.cohort_month) ;; diff --git a/team-folders/Vux/ecom_dataset_vux.dataset.aml b/team-folders/Vux/ecom_dataset_vux.dataset.aml index bb16a5b..45ce5d5 100644 --- a/team-folders/Vux/ecom_dataset_vux.dataset.aml +++ b/team-folders/Vux/ecom_dataset_vux.dataset.aml @@ -28,7 +28,7 @@ pre_aggregates: { models: [ - order_mastr, + order_master, ecommerce_orders, ecommerce_users, ecommerce_products, From 848b8133f040490a188e0a68dbe2d795b2808fcb Mon Sep 17 00:00:00 2001 From: Thang Date: Tue, 3 Feb 2026 08:33:26 +0000 Subject: [PATCH 25/28] Add new dashboard 'Ecommerce Dashboard - THANG' with KPIs, sales, user analysis, filters, and interactions --- ...ommerce_dashboard_amyra_copy_copy.page.aml | 1304 +++++++++++++++++ 1 file changed, 1304 insertions(+) create mode 100644 team-folders/Thang/demo_ecommerce_dashboard_amyra_copy_copy.page.aml diff --git a/team-folders/Thang/demo_ecommerce_dashboard_amyra_copy_copy.page.aml b/team-folders/Thang/demo_ecommerce_dashboard_amyra_copy_copy.page.aml new file mode 100644 index 0000000..806ce45 --- /dev/null +++ b/team-folders/Thang/demo_ecommerce_dashboard_amyra_copy_copy.page.aml @@ -0,0 +1,1304 @@ +// use lib +// use demo + +Dashboard demo_ecommerce_dashboard_amyra_copy_copy { + title: 'Ecommerce Dashboard - THANG' + + block hd1: TextBlock { + content: @md + demo;; + } + block hd2: TextBlock { + content: @md
+

Ecommerce Dashboard

+
;; + } + block hd3: TextBlock { + content: @md

;; + theme { + background { + bg_image: 'linear-gradient(97deg, #051527 20%, #071945 80%)' + } + } + } + block t2: TextBlock { + content: @md
+

+This dashboard tracks the KPIs of all managers for their respective teams. This will also be presented in our monthly presentation to our board and investors. +

+ +
;; + } + block v1: VizBlock { + label: ' KPI Overview' + viz: MetricSheet { + dataset: demo_ecommerce + filter { + field: ref('dim_dates', 'date_key') + operator: 'matches' + value: '12 months ago to last month end' + } + date_field: VizFieldFull { + ref: ref('dim_dates', 'date_key') + transformation: 'datetrunc month' + format { + type: 'date' + } + } + rows: [ + MetricHeading { + label: '🎯Orders' + settings { + background_color: '#255DD4' + text_color: '#FFFFFF' + } + }, + MetricSeries { + field: VizFieldFull { + ref: ref('ecommerce_orders', 'total_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + } + }, + MetricSeries { + field: VizFieldFull { + ref: ref('ecommerce_orders', 'cancelled_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + } + }, + MetricSeries { + field: VizFieldFull { + ref: ref('ecommerce_orders', 'refunded_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + } + }, + MetricSeries { + field: VizFieldFull { + ref: ref('ecommerce_orders', 'delivered_orders_count') + format { + type: 'number' + pattern: 'inherited' + } + } + }, + MetricHeading { + label: '💰 Revenue' + settings { + background_color: '#255DD4' + text_color: '#FFFFFF' + } + }, + MetricSeries { + field: VizFieldFull { + ref: ref('order_master', 'nmv') + format { + type: 'number' + pattern: '[$$]#,###0.00' + } + } + }, + MetricSeries { + field: VizFieldFull { + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###0.00' + } + } + }, + MetricSeries { + field: VizFieldFull { + ref: ref('order_master', 'aov') + format { + type: 'number' + pattern: 'inherited' + } + } + } + ] + settings { + max_column: 3 + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + settings { + hide_label: true + } + } + block v2: VizBlock { + label: 'GMV' + viz: MetricKpi { + dataset: demo_ecommerce + // calculation f_2fb1cc3 { + // label: 'GMT last year' + // formula: @aml order_master.gmv * 0.87;; + // calc_type: 'measure' + // data_type: 'number' + // } + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + value: VizFieldFull { + label: 'Gross Merchandise Value' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###' + } + } + compare_value: VizPopSettings { + field: ref('order_master', 'order_created_at') + duration: 1 + granularity: 'year' + } + } + settings { + hide_label: true + } + } + block v2_dup_dup: VizBlock { + label: 'Top selling product category' + viz: PieChart { + dataset: demo_ecommerce + filter { + field: r(order_master.order_created_at) + operator: 'matches' + value: '2023' + } + legend: VizFieldFull { + ref: r(map_categories.parent_category) + format { + type: 'text' + } + } + series { + field: VizFieldFull { + label: ' ' + ref: r(order_master.gmv) + format { + type: 'number' + pattern: '[$$]#,###' + } + } + settings { + point { + value: 'Clothes' + color: '#255DD4' + } + point { + value: 'Groceries' + color: '#18A59E' + } + point { + value: 'Skin Care' + color: '#F2B602' + } + point { + value: 'Home Furniture' + color: '#AF7DED' + } + point { + value: 'Mobiles & Tablets' + color: '#A50E43' + } + point { + value: 'Home Entertainment' + color: '#07326C' + } + } + } + settings { + display_as_donut: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v6: VizBlock { + label: 'Top selling products' + viz: DataTable { + dataset: demo_ecommerce + calculation f_28374b6 { + label: 'Product Image' + formula: @aml concat('');; + calc_type: 'dimension' + data_type: 'text' + } + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + fields: [ + VizFieldFull { + label: 'Product Name' + ref: ref('ecommerce_products', 'product_google_link') + format { + type: 'html' + } + uname: 'ecommerce_products_product_google_link' + }, + VizFieldFull { + ref: 'f_28374b6' + format { + type: 'html' + } + uname: 'f_28374b6_text' + }, + VizFieldFull { + ref: ref('order_master', 'discount') + aggregation: 'avg' + format { + type: 'number' + pattern: '#,###%' + } + }, + VizFieldFull { + label: 'Quantity Sold' + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + label: 'GMV' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '[$$]#,###' + } + } + ] + settings { + pagination_size: 100 + row_height: 'multiple_lines' + sorts: [ + SortSetting { + field_index: 4 + direction: 'desc' + } + ] + conditional_formats: [ + ConditionalFormat { + ref: ref('order_master', 'gmv') + format: ScaleFormat { + min { + value: 0 + color: '#E9EFFB' + } + max { + value: 100000 + color: '#255DD4' + } + } + }, + ConditionalFormat { + ref: ref('order_master', 'order_count') + format: ScaleFormat { + min { + value: 0 + color: '#FFFFFF' + } + max { + value: 600 + color: '#47B881' + } + } + } + ] + column_width { + manual_widths: [ + ColumnWidth { + key: 'ecommerce_products_product_google_link' + width: 145 + }, + ColumnWidth { + key: 'f_28374b6_text' + width: 99 + } + ] + } + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v7: VizBlock { + label: 'Cohort Retention' + viz: RetentionHeatmap { + dataset: demo_ecommerce + filter { + field: ref('user_cohort_retention', 'cohort_month') + operator: 'matches' + value: '2023' + } + cohort: VizFieldFull { + label: 'Cohort Month' + ref: ref('user_cohort_retention', 'cohort_month') + transformation: 'datetrunc month' + format { + type: 'date' + } + } + cohort_size: VizFieldFull { + ref: ref('user_cohort_retention', 'cohort_size') + format { + type: 'number' + pattern: 'inherited' + } + } + cohort_duration: VizFieldFull { + ref: ref('user_cohort_retention', 'relative_month_disp') + format { + type: 'text' + } + } + cohort_value: VizFieldFull { + ref: ref('user_cohort_retention', 'active_users_count') + format { + type: 'number' + pattern: 'inherited' + } + } + } + } + block v8: VizBlock { + label: 'Users vs Orders Growth' + viz: CombinationChart { + dataset: demo_ecommerce + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'sign_up_date') + transformation: 'datetrunc quarter' + format { + type: 'date' + } + } + y_axis { + series { + mark_type: 'column' + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#18A59E' + } + } + } + y_axis { + settings { + alignment: 'right' + } + series { + mark_type: 'line' + field: VizFieldFull { + ref: ref('order_master', 'delivered_orders_count') + format { + type: 'number' + } + } + settings { + color: '#255DD4' + line_interpolation: 'smooth' + } + } + } + settings { + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v10: VizBlock { + label: 'Total Users compared with Target Users' + viz: MetricKpi { + dataset: demo_ecommerce + calculation f_d80427a { + label: 'Target Users' + formula: @aml ecommerce_users.users_signed_up_count * 1.38;; + calc_type: 'measure' + data_type: 'number' + } + value: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + compare_value: VizFieldFull { + ref: 'f_d80427a' + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + display_mode: 'progress' + } + } + settings { + hide_label: true + hide_controls: true + } + } + block f1: FilterBlock { + label: 'Country' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: ref('ecommerce_countries', 'name') + } + default { + operator: 'is' + value: [] + } + settings { + hide_label: true + input_type: 'nullable-single' + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block t5: TextBlock { + content: @md

Overview

;; + } + block t6: TextBlock { + content: @md

Regional Analysis

;; + } + block t8: TextBlock { + content: @md

User Analysis

;; + } + block t9: TextBlock { + content: @md

Filter by Country

;; + } + block t10: TextBlock { + content: @md + + ;; + } + block t11: TextBlock { + content: @md + + ;; + } + block t12: TextBlock { + content: @md + + ;; + } + block v13: VizBlock { + label: 'GMV by Country' + viz: BarChart { + dataset: demo_ecommerce + legend: VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + y_axis { + settings { + axis_max: 12000000 + show_data_label_by: 'value' + } + series { + field: VizFieldFull { + label: ' ' + ref: ref('order_master', 'gmv') + format { + type: 'number' + pattern: '#,###' + } + } + settings { + color: '#255DD4' + point { + value: 'India' + color: '#AF7DED' + } + point { + value: 'France' + color: '#18A59E' + } + point { + value: 'Germany' + color: '#07326C' + } + point { + value: 'Vietnam' + color: '#07326C' + } + point { + value: 'Australia' + color: '#255DD4' + } + point { + value: 'Indonesia' + color: '#A50E43' + } + point { + value: 'Singapore' + color: '#F2B602' + } + point { + value: 'South Korea' + color: '#E27712' + } + point { + value: 'United States' + color: '#18A59E' + } + point { + value: 'United Kingdom' + color: '#255DD4' + } + } + } + } + settings { + legend_label: 'left' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block t26: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block t28: TextBlock { + content: @md

Filter by Age Group

;; + } + block f2: FilterBlock { + label: 'Age Group' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: ref('ecommerce_users', 'age_group') + } + default { + operator: 'is' + value: [] + } + settings { + hide_label: true + input_type: 'nullable-single' + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block f3: FilterBlock { + label: 'City' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: ref('ecommerce_cities', 'name') + } + default { + operator: 'is' + value: [] + } + settings { + hide_label: true + input_type: 'nullable-single' + drillthrough: Drillthrough { + enabled: true + sources: [ + AutoDrillthroughSource { + } + ] + } + } + } + block t32: TextBlock { + content: @md

Filter by City

;; + } + block v15: VizBlock { + label: 'Average Order Value over time' + viz: CombinationChart { + dataset: demo_ecommerce + filter { + field: ref('order_master', 'order_created_at') + operator: 'matches' + value: '2023' + } + x_axis: VizFieldFull { + ref: ref('order_master', 'order_created_at') + transformation: 'datetrunc week' + format { + type: 'date' + pattern: 'wwww' + } + } + y_axis { + series { + mark_type: 'line' + field: VizFieldFull { + ref: ref('order_master', 'aov') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#18A59E' + } + } + } + settings { + pop { + field: ref('order_master', 'order_created_at') + duration: 1 + granularity: 'year' + show_growth_rate: true + } + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block v16: VizBlock { + label: 'Sales Funnel' + viz: ConversionFunnel { + dataset: demo_ecommerce_users + breakdown_by: VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + values: [ + VizFieldFull { + ref: ref('ecommerce_users', 'users_signed_up_count') + format { + type: 'number' + } + }, + VizFieldFull { + label: 'Users Purchased' + ref: ref('user_facts_aggr', 'buyers_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + label: 'Users Repeated Purchased' + ref: ref('user_facts_aggr', 'repeated_buyers_count') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + circle_color: '#18A59E' + columns_color: '#255DD4' + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block t38: TextBlock { + content: @md

;; + theme { + background { + bg_image: 'linear-gradient(97deg, #051527 20%, #071945 80%)' + } + } + } + block t39: TextBlock { + content: @md + + demo + ;; + } + block t40: TextBlock { + content: @md + + + + +;; + } + // block t46: background_gray() + block t47: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t49: TextBlock { + content: @md
;; + } + block t51: TextBlock { + content: @md
+ + + + + + + + + +
;; + } + block t52: TextBlock { + content: @md
;; + } + block t53: TextBlock { + content: @md
;; + } + block t55: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block t56: TextBlock { + content: @md

;; + theme { + border { + border_width: 1 + border_radius: 6 + border_color: '#4896EA' + border_style: 'dashed' + } + background { + bg_color: '#E8F2FD' + } + } + } + block v17: VizBlock { + label: 'Total Users and Delivered Orders Count by Quarter Sign Up Date' + viz: PivotTable { + dataset: demo_ecommerce + filter { + field: ref('ecommerce_users', 'age_group') + operator: 'is_not' + value: '3. From 40 to 49' + } + rows: [ + VizFieldFull { + ref: ref('ecommerce_countries', 'continent_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + } + ] + columns: [ + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + ] + values: [ + VizFieldFull { + ref: ref('order_master', 'revenue') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + } + ] + settings { + show_row_total: true + show_column_total: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + } + } + } + block v18: VizBlock { + label: 'Customer Info and Buying Behavior' + viz: DataTable { + dataset: demo_ecommerce + fields: [ + VizFieldFull { + ref: ref('ecommerce_users', 'full_name') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + }, + VizFieldFull { + ref: ref('ecommerce_countries', 'name') + format { + type: 'text' + } + uname: 'ecommerce_countries_name' + }, + VizFieldFull { + ref: ref('order_master', 'order_count') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('ecommerce_products', 'total_products') + format { + type: 'number' + pattern: 'inherited' + } + }, + VizFieldFull { + ref: ref('order_master', 'cancelled_order_ratio') + format { + type: 'number' + pattern: 'inherited' + } + uname: 'custom_cancelled_order_ratio' + } + ] + settings { + show_row_number: true + row_limit: 5000 + aggregate_awareness { + enabled: true + debug_comments: true + } + frozen_columns: 0 + column_styles: [ + ColumnStyle { + key: 'ecommerce_countries_name' + width: 216 + }, + ColumnStyle { + key: 'custom_cancelled_order_ratio' + width: 180 + } + ] + } + } + } + block p1: PopBlock { + label: 'Compare with Period' + } + block v19: VizBlock { + label: 'Total Users and Total Users by Age Demographic and Gender' + viz: ColumnChart { + dataset: demo_ecommerce + theme { + + } + x_axis: VizFieldFull { + ref: ref('ecommerce_users', 'age_group') + format { + type: 'text' + } + } + legend: VizFieldFull { + ref: ref('ecommerce_users', 'gender') + format { + type: 'text' + } + } + y_axis { + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + } + settings { + color: '#07326C' + point { + value: 'Male' + color: '#FB8761' + } + point { + value: 'Female' + color: '#64628c' + } + } + } + series { + field: VizFieldFull { + ref: ref('ecommerce_users', 'total_users') + format { + type: 'number' + pattern: 'inherited' + } + break_by_legend: false + } + } + } + settings { + x_axis_show_null_datetime: true + aggregate_awareness { + enabled: true + debug_comments: true + } + } + } + } + block f_users_gender: FilterBlock { + label: 'Users Gender' + type: 'field' + source: FieldFilterSource { + dataset: demo_ecommerce + field: r(ecommerce_users.gender) + } + default { + operator: 'is' + value: [] + } + } + view: CanvasLayout { + label: 'View 1' + width: 1540 + height: 4460 + grid_size: 20 + block hd1 { + position: pos(1320, 20, 180, 60) + } + block hd2 { + position: pos(180, 360, 640, 60) + } + block hd3 { + position: pos(0, 0, 1540, 200) + layer: -1 + } + block t2 { + position: pos(40, 100, 660, 60) + } + block v1 { + position: pos(60, 800, 1420, 380) + } + block v2 { + position: pos(80, 460, 300, 140) + } + block v2_dup_dup { + position: pos(440, 2300, 380, 500) + } + block v6 { + position: pos(840, 2300, 680, 500) + } + block v7 { + position: pos(60, 3380, 1440, 440) + } + block v8 { + position: pos(380, 2960, 560, 400) + } + block v10 { + position: pos(80, 600, 320, 140) + } + block f1 { + position: pos(80, 3020, 260, 40) + } + block t5 { + position: pos(40, 320, 1460, 80) + } + block t6 { + position: pos(40, 1300, 1460, 80) + } + block t8 { + position: pos(60, 2860, 1460, 80) + } + block t9 { + position: pos(80, 2980, 260, 40) + } + block t10 { + position: pos(920, 100, 180, 60) + } + block t11 { + position: pos(1120, 100, 180, 60) + } + block t12 { + position: pos(1320, 100, 180, 60) + } + block v13 { + position: pos(40, 1380, 720, 460) + } + block t26 { + position: pos(60, 2960, 300, 120) + layer: -2 + } + block t28 { + position: pos(80, 3260, 260, 40) + } + block f2 { + position: pos(80, 3300, 260, 40) + } + block f3 { + position: pos(80, 3160, 260, 40) + } + block t32 { + position: pos(80, 3120, 260, 40) + layer: 1 + } + block v15 { + position: pos(960, 2960, 560, 400) + } + block v16 { + position: pos(780, 1380, 720, 460) + } + block t38 { + position: pos(0, 4400, 1540, 180) + layer: -1 + } + block t39 { + position: pos(60, 3860, 200, 80) + } + block t40 { + position: pos(1120, 4440, 400, 120) + } + block t47 { + position: pos(1420, 1240, 80, 100) + layer: 1 + } + block t49 { + position: pos(40, 780, 1460, 420) + layer: -2 + } + block t51 { + position: pos(1440, 2820, 80, 100) + layer: 1 + } + block t52 { + position: pos(460, 420, 1040, 340) + layer: -2 + } + block t53 { + position: pos(40, 420, 400, 340) + layer: -2 + } + block t55 { + position: pos(60, 3100, 300, 120) + layer: -1 + } + block t56 { + position: pos(60, 3240, 300, 120) + layer: -1 + } + block v17 { + position: pos(40, 1860, 1480, 420) + } + block v18 { + position: pos(60, 3820, 1480, 500) + } + block p1 { + position: pos(1300, 2960, 220, 60) + layer: 2 + } + block v19 { + position: pos(40, 2300, 380, 500) + layer: 3 + } + block f_users_gender { + position: pos(1160, 220, 300, 80) + layer: -1 + } + } + settings { + timezone: 'America/Los_Angeles' + cache_duration: 10 + } + interactions: [ + FilterInteraction { + from: 'f1' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f2' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f3' + to: [ + CustomMapping { + block: 'f_users_gender' + disabled: true + } + ] + }, + FilterInteraction { + from: 'f_users_gender' + to: [ + CustomMapping { + block: [ + 'f1', + 'f2', + 'f3' + ] + disabled: true + } + ] + }, + PopInteraction { + from: 'p1' + to: [ + CustomMapping { + block: 'v15' + field: r(order_master.order_created_at) + } + ] + } + ] +} \ No newline at end of file From d34907455975bee118fb773f6cb1896ba11666d7 Mon Sep 17 00:00:00 2001 From: Thang Date: Tue, 3 Feb 2026 10:45:00 +0000 Subject: [PATCH 26/28] Modify: Hieu/hieu_test.dataset.aml Modify dataset Hieu/hieu_test.dataset.aml --- Hieu/hieu_test.dataset.aml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Hieu/hieu_test.dataset.aml b/Hieu/hieu_test.dataset.aml index a5dcaf8..8c4cef6 100644 --- a/Hieu/hieu_test.dataset.aml +++ b/Hieu/hieu_test.dataset.aml @@ -12,7 +12,7 @@ Dataset hieu_test { type: "date" hidden: false description: "" - definition: @aql min(date_trunc(dim_date_hieu.date_key, 'day')) + definition: @al min(date_trunc(dim_date_hieu.date_key, 'day')) | where(dim_date_hieu.date_key == @(9-Oct-2025) );; } metric date2 { From 142d2301a16b656bfa70eb05c3bd2e8a89f3689f Mon Sep 17 00:00:00 2001 From: Thang Date: Mon, 9 Feb 2026 09:04:07 +0000 Subject: [PATCH 27/28] Update 'Airbnb Data' dataset source to 'emodb', add 'airbnb_data_copy' dataset, and fix 'ecommerce_demo_pointmap_airbnb' model source --- .../demo map/airbnb_data.dataset.aml | 2 +- .../demo map/airbnb_data_copy.dataset.aml | 11 +++++++++ .../ecommerce_demo_pointmap_airbnb.model.aml | 6 ++--- .../demo_ecommerce_query_param.dataset.aml | 12 ---------- .../dataset/what_if_analysis.dataset.aml | 24 ------------------- 5 files changed, 15 insertions(+), 40 deletions(-) create mode 100644 demo (specific use-case)/demo map/airbnb_data_copy.dataset.aml delete mode 100644 demo (specific use-case)/demo query param/dataset/demo_ecommerce_query_param.dataset.aml delete mode 100644 demo (specific use-case)/demo query param/dataset/what_if_analysis.dataset.aml diff --git a/demo (specific use-case)/demo map/airbnb_data.dataset.aml b/demo (specific use-case)/demo map/airbnb_data.dataset.aml index e0536df..c589ed1 100644 --- a/demo (specific use-case)/demo map/airbnb_data.dataset.aml +++ b/demo (specific use-case)/demo map/airbnb_data.dataset.aml @@ -1,7 +1,7 @@ Dataset airbnb_data { label: 'Airbnb Data' description: '' - data_source_name: 'demodb' + data_source_name: 'emodb' models: [ ecommerce_demo_pointmap_airbnb ] diff --git a/demo (specific use-case)/demo map/airbnb_data_copy.dataset.aml b/demo (specific use-case)/demo map/airbnb_data_copy.dataset.aml new file mode 100644 index 0000000..b290c48 --- /dev/null +++ b/demo (specific use-case)/demo map/airbnb_data_copy.dataset.aml @@ -0,0 +1,11 @@ +Dataset airbnb_data_copy { + label: 'Airbnb Data' + description: '' + data_source_name: 'emodb' + models: [ + ecommerce_demo_pointmap_airbnb + ] + relationships: [ + ] + owner: 'vincent@holistics.io' +} \ No newline at end of file diff --git a/demo (specific use-case)/demo map/ecommerce_demo_pointmap_airbnb.model.aml b/demo (specific use-case)/demo map/ecommerce_demo_pointmap_airbnb.model.aml index edae072..d7c4dba 100644 --- a/demo (specific use-case)/demo map/ecommerce_demo_pointmap_airbnb.model.aml +++ b/demo (specific use-case)/demo map/ecommerce_demo_pointmap_airbnb.model.aml @@ -2,12 +2,12 @@ Model ecommerce_demo_pointmap_airbnb { type: 'table' label: 'Airbnb Listings' description: '' - data_source_name: 'demodb' + data_source_name: 'demodb'sadasda dimension id { label: 'Id' - type: 'number' + type: 'numbeadas hidden: false - definition: @sql {{ #SOURCE.id }};; + definition: @sql {{ #SOdasdasCE.id }};; } dimension name { label: 'Name' diff --git a/demo (specific use-case)/demo query param/dataset/demo_ecommerce_query_param.dataset.aml b/demo (specific use-case)/demo query param/dataset/demo_ecommerce_query_param.dataset.aml deleted file mode 100644 index 706b3f2..0000000 --- a/demo (specific use-case)/demo query param/dataset/demo_ecommerce_query_param.dataset.aml +++ /dev/null @@ -1,12 +0,0 @@ -Dataset demo_ecommerce_query_param { - __engine__: 'aql' //turn this Dataset to using AQL Engine - label: 'Demo Ecommerce Query Param' - description: '' - data_source_name: 'demodb' - models: [ - qp_cohort_retention - ] - relationships: [ - ] - owner: 'triet.lq+demo4@holistics.io' -} diff --git a/demo (specific use-case)/demo query param/dataset/what_if_analysis.dataset.aml b/demo (specific use-case)/demo query param/dataset/what_if_analysis.dataset.aml deleted file mode 100644 index ee6d338..0000000 --- a/demo (specific use-case)/demo query param/dataset/what_if_analysis.dataset.aml +++ /dev/null @@ -1,24 +0,0 @@ -Dataset what_if_analysis { - label: "[WIP] [Demo] Query Param - What If Analysis" - __engine__: 'aql' - description: '' - data_source_name: 'demodb' - models: [ - aggr_total_product_revenue, - product_discount - , - product_stock - , - products_1 - , - ecommerce_merchants - ] - relationships: [ - relationship(aggr_total_product_revenue.product_id > products_1.id, true), - relationship(product_discount.product_id > products_1.id, true), - relationship(product_stock.product_id > products_1.id, true) - , - relationship(products_1.merchant_id > ecommerce_merchants.id, true) - ] - owner: 'huong.le+demo4@holistics.io' -} From 797399de8f270164c08db0690d483a1de08b9e74 Mon Sep 17 00:00:00 2001 From: Thang Date: Mon, 9 Feb 2026 09:04:58 +0000 Subject: [PATCH 28/28] Remove datasets 'hieu_test', 'Airbnb Data', and model 'ecommerce_demo_pointmap_airbnb' --- Hieu/hieu_test.dataset.aml | 33 -- .../demo map/airbnb_data.dataset.aml | 11 - .../demo map/airbnb_data_copy.dataset.aml | 11 - .../ecommerce_demo_pointmap_airbnb.model.aml | 405 ------------------ 4 files changed, 460 deletions(-) delete mode 100644 Hieu/hieu_test.dataset.aml delete mode 100644 demo (specific use-case)/demo map/airbnb_data.dataset.aml delete mode 100644 demo (specific use-case)/demo map/airbnb_data_copy.dataset.aml delete mode 100644 demo (specific use-case)/demo map/ecommerce_demo_pointmap_airbnb.model.aml diff --git a/Hieu/hieu_test.dataset.aml b/Hieu/hieu_test.dataset.aml deleted file mode 100644 index 8c4cef6..0000000 --- a/Hieu/hieu_test.dataset.aml +++ /dev/null @@ -1,33 +0,0 @@ -Dataset hieu_test { - label: 'hieu_test' - description: '' - data_source_name: 'movies_lens' - models: [ - holidays, - dim_date_hieu - ] - relationships: [] - metric date1 { - label: "Date 1" - type: "date" - hidden: false - description: "" - definition: @al min(date_trunc(dim_date_hieu.date_key, 'day')) -| where(dim_date_hieu.date_key == @(9-Oct-2025) );; - } - metric date2 { - label: "Date 2" - type: "date" - hidden: false - description: "" - definition: @aql min(date_trunc(dim_date_hieu.date_key, 'day')) -| where(dim_date_hieu.date_key == @(14-Oct-2025) );; - } - metric business_days { - label: "Business Days" - type: "number" - hidden: false - description: "" - definition: @aql cast(2.4, 'int');; - } -} \ No newline at end of file diff --git a/demo (specific use-case)/demo map/airbnb_data.dataset.aml b/demo (specific use-case)/demo map/airbnb_data.dataset.aml deleted file mode 100644 index c589ed1..0000000 --- a/demo (specific use-case)/demo map/airbnb_data.dataset.aml +++ /dev/null @@ -1,11 +0,0 @@ -Dataset airbnb_data { - label: 'Airbnb Data' - description: '' - data_source_name: 'emodb' - models: [ - ecommerce_demo_pointmap_airbnb - ] - relationships: [ - ] - owner: 'vincent@holistics.io' -} diff --git a/demo (specific use-case)/demo map/airbnb_data_copy.dataset.aml b/demo (specific use-case)/demo map/airbnb_data_copy.dataset.aml deleted file mode 100644 index b290c48..0000000 --- a/demo (specific use-case)/demo map/airbnb_data_copy.dataset.aml +++ /dev/null @@ -1,11 +0,0 @@ -Dataset airbnb_data_copy { - label: 'Airbnb Data' - description: '' - data_source_name: 'emodb' - models: [ - ecommerce_demo_pointmap_airbnb - ] - relationships: [ - ] - owner: 'vincent@holistics.io' -} \ No newline at end of file diff --git a/demo (specific use-case)/demo map/ecommerce_demo_pointmap_airbnb.model.aml b/demo (specific use-case)/demo map/ecommerce_demo_pointmap_airbnb.model.aml deleted file mode 100644 index d7c4dba..0000000 --- a/demo (specific use-case)/demo map/ecommerce_demo_pointmap_airbnb.model.aml +++ /dev/null @@ -1,405 +0,0 @@ -Model ecommerce_demo_pointmap_airbnb { - type: 'table' - label: 'Airbnb Listings' - description: '' - data_source_name: 'demodb'sadasda - dimension id { - label: 'Id' - type: 'numbeadas - hidden: false - definition: @sql {{ #SOdasdasCE.id }};; - } - dimension name { - label: 'Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.name }};; - } - dimension latitude { - label: 'Latitude' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.latitude }};; - } - dimension longitude { - label: 'Longitude' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.longitude }};; - } - dimension description { - label: 'Description' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.description }};; - } - dimension neighborhood_overview { - label: 'Neighborhood Overview' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.neighborhood_overview }};; - } - dimension picture_url { - label: 'Picture Url' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.picture_url }};; - } - dimension host_url { - label: 'Host Url' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_url }};; - } - dimension host_name { - label: 'Host Name' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_name }};; - } - dimension host_location { - label: 'Host Location' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_location }};; - } - dimension host_about { - label: 'Host About' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_about }};; - } - dimension host_response_time { - label: 'Host Response Time' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_response_time }};; - } - dimension host_response_rate { - label: 'Host Response Rate' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.host_response_rate }};; - } - dimension host_acceptance_rate { - label: 'Host Acceptance Rate' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.host_acceptance_rate }};; - } - dimension host_is_superhost { - label: 'Host Is Superhost' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_is_superhost }};; - } - dimension host_thumbnail_url { - label: 'Host Thumbnail Url' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_thumbnail_url }};; - } - dimension host_picture_url { - label: 'Host Picture Url' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_picture_url }};; - } - dimension host_neighbourhood { - label: 'Host Neighbourhood' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_neighbourhood }};; - } - dimension host_listings_count { - label: 'Host Listings Count' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.host_listings_count }};; - } - dimension host_total_listings_count { - label: 'Host Total Listings Count' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.host_total_listings_count }};; - } - dimension host_verifications { - label: 'Host Verifications' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_verifications }};; - } - dimension host_has_profile_pic { - label: 'Host Has Profile Pic' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_has_profile_pic }};; - } - dimension host_identity_verified { - label: 'Host Identity Verified' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.host_identity_verified }};; - } - dimension neighbourhood { - label: 'Neighbourhood' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.neighbourhood }};; - } - dimension neighbourhood_cleansed { - label: 'Neighbourhood Cleansed' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.neighbourhood_cleansed }};; - } - dimension property_type { - label: 'Property Type' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.property_type }};; - } - dimension room_type { - label: 'Room Type' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.room_type }};; - } - dimension accommodates { - label: 'Accommodates' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.accommodates }};; - } - dimension bathrooms_text { - label: 'Bathrooms Text' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.bathrooms_text }};; - } - dimension bedrooms { - label: 'Bedrooms' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.bedrooms }};; - } - dimension beds { - label: 'Beds' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.beds }};; - } - dimension amenities { - label: 'Amenities' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.amenities }};; - } - dimension price { - label: 'Price' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.price }};; - } - dimension minimum_nights { - label: 'Minimum Nights' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.minimum_nights }};; - } - dimension maximum_nights { - label: 'Maximum Nights' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.maximum_nights }};; - } - dimension minimum_minimum_nights { - label: 'Minimum Minimum Nights' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.minimum_minimum_nights }};; - } - dimension maximum_minimum_nights { - label: 'Maximum Minimum Nights' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.maximum_minimum_nights }};; - } - dimension minimum_maximum_nights { - label: 'Minimum Maximum Nights' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.minimum_maximum_nights }};; - } - dimension maximum_maximum_nights { - label: 'Maximum Maximum Nights' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.maximum_maximum_nights }};; - } - dimension minimum_nights_avg_ntm { - label: 'Minimum Nights Avg Ntm' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.minimum_nights_avg_ntm }};; - } - dimension maximum_nights_avg_ntm { - label: 'Maximum Nights Avg Ntm' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.maximum_nights_avg_ntm }};; - } - dimension calendar_updated { - label: 'Calendar Updated' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.calendar_updated }};; - } - dimension has_availability { - label: 'Has Availability' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.has_availability }};; - } - dimension availability_30 { - label: 'Availability 30' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.availability_30 }};; - } - dimension availability_60 { - label: 'Availability 60' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.availability_60 }};; - } - dimension availability_90 { - label: 'Availability 90' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.availability_90 }};; - } - dimension availability_365 { - label: 'Availability 365' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.availability_365 }};; - } - dimension calendar_last_scraped { - label: 'Calendar Last Scraped' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.calendar_last_scraped }};; - } - dimension number_of_reviews { - label: 'Number Of Reviews' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.number_of_reviews }};; - } - dimension number_of_reviews_ltm { - label: 'Number Of Reviews Ltm' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.number_of_reviews_ltm }};; - } - dimension number_of_reviews_l_30_d { - label: 'Number Of Reviews L 30 D' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.number_of_reviews_l_30_d }};; - } - dimension first_review { - label: 'First Review' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.first_review }};; - } - dimension last_review { - label: 'Last Review' - type: 'date' - hidden: false - definition: @sql {{ #SOURCE.last_review }};; - } - dimension review_scores_rating { - label: 'Review Scores Rating' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.review_scores_rating }};; - } - dimension review_scores_accuracy { - label: 'Review Scores Accuracy' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.review_scores_accuracy }};; - } - dimension review_scores_cleanliness { - label: 'Review Scores Cleanliness' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.review_scores_cleanliness }};; - } - dimension review_scores_checkin { - label: 'Review Scores Checkin' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.review_scores_checkin }};; - } - dimension review_scores_communication { - label: 'Review Scores Communication' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.review_scores_communication }};; - } - dimension review_scores_location { - label: 'Review Scores Location' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.review_scores_location }};; - } - dimension review_scores_value { - label: 'Review Scores Value' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.review_scores_value }};; - } - dimension instant_bookable { - label: 'Instant Bookable' - type: 'text' - hidden: false - definition: @sql {{ #SOURCE.instant_bookable }};; - } - dimension calculated_host_listings_count { - label: 'Calculated Host Listings Count' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.calculated_host_listings_count }};; - } - dimension calculated_host_listings_count_entire_homes { - label: 'Calculated Host Listings Count Entire Homes' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.calculated_host_listings_count_entire_homes }};; - } - dimension calculated_host_listings_count_private_rooms { - label: 'Calculated Host Listings Count Private Rooms' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.calculated_host_listings_count_private_rooms }};; - } - dimension calculated_host_listings_count_shared_rooms { - label: 'Calculated Host Listings Count Shared Rooms' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.calculated_host_listings_count_shared_rooms }};; - } - dimension reviews_per_month { - label: 'Reviews Per Month' - type: 'number' - hidden: false - definition: @sql {{ #SOURCE.reviews_per_month }};; - } - - owner: 'vincent@holistics.io' - table_name: '"ecommerce"."demo_pointmap_airbnb"' -}