Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
392b531
Restore to version "Update dashboard 'thongs_test_dashboard' in repor…
vudqholistics Feb 27, 2026
e84fdfa
Cleanup
Feb 27, 2026
fb860f1
Resolve conflicts when merging origin/master to develop
Feb 27, 2026
a70177e
Resolve conflicts when merging origin/master to develop
Thang-Kim Mar 2, 2026
e3773c8
Remove 'Vy Huynh Abernathy' dashboard and all associated visualizatio…
Thang-Kim Mar 2, 2026
70adeeb
Remove 'VyHuynh Ecommerce Dataset' dataset and related data models fr…
Thang-Kim Mar 2, 2026
fe8ff1e
Resolve conflicts when merging origin/master to develop
khanh-tran-quoc Mar 9, 2026
af57425
Update 'Orders' model description to new description in base models
khaito241 Mar 9, 2026
8962702
Resolve conflicts when merging origin/master to develop
khaito241 Mar 9, 2026
5b54269
Add 'category_name_param' filter and update 'block_cohort_retention' …
khaito241 Mar 11, 2026
9e45288
Merge remote-tracking branch 'origin/master' into develop
khaito241 Mar 11, 2026
ccf3b99
Remove 'untitled_10' dashboard and all associated visualization block…
khaito241 Mar 11, 2026
307a0dd
Delete: 3 dashboards
khanh-tran-quoc Mar 12, 2026
872d1da
Merge remote-tracking branch 'origin/develop' into develop
khanh-tran-quoc Mar 12, 2026
436d405
Resolve conflicts when merging origin/master to develop
khaito241 Apr 16, 2026
d1e7dae
Resolve conflicts when merging origin/master to develop
khaito241 Apr 20, 2026
1cb57d8
Restore to version "Update 'Vy kaggle' models labels and add multiple…
khaito241 Apr 20, 2026
a097a10
Restore to version "Resolve conflicts when merging origin/master to d…
khaito241 Apr 20, 2026
7604c16
Resolve conflicts when merging origin/master to develop
khaito241 Apr 28, 2026
7926f2e
Add 'total_city' measure in 'cities' model, fix 'total_orders' measur…
khaito241 May 3, 2026
32e3444
Resolve conflicts when merging origin/master to develop
doanhthong Jun 29, 2026
f46f353
Comment out 'dynamic_schema_dataset' to pause dynamic data source swi…
doanhthong Jun 29, 2026
2f7bc39
Comment out 'Data Catalog' dashboard to embrace impermanence and prep…
doanhthong Jun 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
This repo is forked from **`https://github.com/growth-holistics/demo4`** on **02 April 2025**.
This serves as a testing environment on production (same as demo4, secure.h), whose content is duplicated from demo4.
This is a backup repo, imported from **`https://github.com/growth-holistics/demo4`** on **02 April 2025**.

This only serves the purpose of **resetting content** for internal testing tenants (e.g. staging.h, testing4.h)
newline
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,78 +9,33 @@ Dashboard demo_column_based_access_control {
dataset: demo_ecommerce
fields: [
VizFieldFull {
ref: r(ecommerce_countries.name)
ref: ref('ecommerce_users', 'full_name')
format {
type: 'text'
}
},
VizFieldFull {
ref: r(ecommerce_users.id)
aggregation: 'count'
ref: ref('ecommerce_users', 'email_pii')
format {
type: 'number'
pattern: 'inherited'
type: 'text'
}
},
VizFieldFull {
ref: ref('ecommerce_countries', 'name')
format {
type: 'text'
}
},
VizFieldFull {
ref: ref('ecommerce_cities', 'name')
format {
type: 'text'
}
uname: 'count_id'
}
]
settings {
show_row_number: true
conditional_formats: [
ConditionalFormat {
key: 'count_id'
aggregation: 'count'
format: SingleFormat {
condition {
operator: 'greater_than'
value: 600
}
text_color: '#9C5C1C'
background_color: '#F0CFAD'
}
},
ConditionalFormat {
key: 'count_id'
aggregation: 'count'
format: SingleFormat {
condition {
operator: 'less_than_equal'
value: 1100
}
text_color: '#9C5C1C'
background_color: '#F0CFAD'
}
},
ConditionalFormat {
key: 'count_id'
aggregation: 'count'
format: SingleFormat {
condition {
operator: 'greater_than'
value: 1100
}
text_color: '#328159'
background_color: '#B5E3CD'
}
},
ConditionalFormat {
key: 'count_id'
aggregation: 'count'
format: SingleFormat {
condition {
operator: 'less_than'
value: 600
}
text_color: '#BF0E08'
background_color: '#FAD2D1'
}
}
]
row_limit: 5000
aggregate_awareness {
enabled: true
debug_comments: true
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,12 @@ Model dbt_dev_analytics_order_stats {
hidden: false
definition: @sql {{ #SOURCE.user_id }};;
}

dimension created_at {
label: 'Created At'
type: 'datetime'
hidden: false
definition: @sql {{ #SOURCE.created_at }} - interval '1 hour';;
definition: @sql {{ #SOURCE.created_at }};;
}

dimension order_status {
label: 'Order Status'
type: 'text'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ Dataset demo_ecommerce_query_param {
relationships: [
]
owner: 'triet.lq+demo4@holistics.io'
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,6 @@ Learn about this feature on [Aggregate Awareness | Public Doc](https://docs.holi
settings {
timezone: 'America/Los_Angeles'
autorun: false
allow_timezone_change: true
cache_duration: 10
}
description: @md This demo illustrates the capability of Aggregate Awareness in Holistics
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Model bq_fct_order_items {
label: 'Value'
type: 'number'
hidden: false
definition: @sql CAST({{ #SOURCE.value }} AS INTEGER);;
definition: @sql {{ #SOURCE.value }};;
description: 'Price * Quantity'
}
dimension discount_value {
Expand All @@ -89,23 +89,4 @@ Model bq_fct_order_items {

owner: 'triet.lq@holistics.io'
table_name: '`demo_ecommerce`.`fct_order_items`'
measure test_median {
label: "Median of Order Items Value"
type: "number"
description: ""
hidden: false
definition: @sql
AVG(DISTINCT
CAST(
PERCENTILE_CONT({{ #SOURCE.value }}, 0.5) OVER()
AS FLOAT64)
)
;;
aggregation_type: "custom"
}

param report_date_param {
label: 'Report Date Filter'
type: 'datetime'
}
}
}
Original file line number Diff line number Diff line change
@@ -1,31 +1,23 @@
Model bq_dim_product_cities = bq_dim_cities.extend(
{
label: 'Product Cities'
}
)
Model bq_dim_product_countries = bq_dim_countries.extend(
{
label: 'Product Countries'
}
)
Model bq_dim_product_cities = bq_dim_cities.extend({
label: 'Product Cities'
})
Model bq_dim_product_countries = bq_dim_countries.extend({
label: 'Product Countries'
})

Model bq_dim_user_cities = bq_dim_cities.extend(
{
label: 'User Cities'
}
)
Model bq_dim_user_countries = bq_dim_countries.extend(
{
label: 'User Countries'
}
)
Model bq_dim_user_cities = bq_dim_cities.extend({
label: 'User Cities'
})
Model bq_dim_user_countries = bq_dim_countries.extend({
label: 'User Countries'
})


Dataset demo_bigquery_ecommerce {
label: 'Demo Bigquery Ecommerce'
description: 'Ecommerce dataset in BigQuery. ERD can be found [here](https://dbdiagram.io/e/658b9f1289dea62799972ec8/665fedfcb65d933879884fa8)'
data_source_name: 'data_staging'

models: [
bq_fct_order_items,
bq_fct_orders,
Expand All @@ -34,31 +26,31 @@ Dataset demo_bigquery_ecommerce {
bq_dim_users,
bq_dim_categories,
bq_dim_merchants,


bq_dim_product_cities,
bq_dim_product_countries,
bq_dim_user_cities,
bq_dim_user_countries,
bq_dim_dates,

]
relationships: [
relationship(bq_fct_order_items.product_id > bq_dim_products.id, true),
relationship(bq_fct_order_items.category_id > bq_dim_categories.id, true),

relationship(bq_fct_order_items.merchant_id > bq_dim_merchants.id, true),
relationship(bq_fct_order_items.merchant_city_id > bq_dim_product_cities.id, true),
relationship(bq_fct_order_items.merchant_country_code > bq_dim_product_countries.code, true),
relationship(bq_fct_order_items.user_id > bq_dim_users.id, true),
relationship(bq_fct_order_items.created_date > bq_dim_dates.date_key, true),
relationship(bq_fct_order_items.order_id > bq_fct_orders.id, false),
relationship(bq_fct_order_items.category_id > bq_dim_categories.id, true),
relationship(bq_fct_order_items.merchant_id > bq_dim_merchants.id, true),
relationship(bq_fct_order_items.merchant_city_id > bq_dim_product_cities.id, true),
relationship(bq_fct_order_items.merchant_country_code > bq_dim_product_countries.code, true),
relationship(bq_fct_order_items.user_id > bq_dim_users.id, true),
relationship(bq_fct_order_items.created_date > bq_dim_dates.date_key, true),
relationship(bq_fct_order_items.order_id > bq_fct_orders.id, false),


relationship(bq_fct_orders.user_city_id > bq_dim_user_cities.id, true),
relationship(bq_fct_orders.user_country_code > bq_dim_user_countries.code, true),
relationship(bq_fct_orders.created_date > bq_dim_dates.date_key, true),
relationship(bq_fct_orders.user_id > bq_dim_users.id, false),
relationship(bq_fct_orders.user_city_id > bq_dim_user_cities.id, true),
relationship(bq_fct_orders.user_country_code > bq_dim_user_countries.code, true),
relationship(bq_fct_orders.created_date > bq_dim_dates.date_key, true),
relationship(bq_fct_orders.user_id > bq_dim_users.id, false),

]

Expand Down Expand Up @@ -99,28 +91,6 @@ Dataset demo_bigquery_ecommerce {
type: 'number'
definition: @aql gmv/count_orders;;
}
metric metric_034647b {
label: "Median of Order Items Value"
type: "number"
hidden: false
description: ""
definition: @aql median(bq_fct_order_items.value);;
}
metric count_user_group {
label: "Count User Group"
type: "text"
hidden: false
description: ""
definition: @aql case(
when: count_users < 750,
then: "Less than 750",
when: and(count_users < 1500, count_users > 749),
then: "From 750 - 1500",
when: count_users > 1499,
then: "Greater than 1500",
else: "Other"
);;
}

owner: 'triet.lq@holistics.io'
}
}
Loading