Skip to content

Commit 9eedd8d

Browse files
authored
Merge pull request #10 from dbt-labs/sdurry/add-sl-spec
add sl
2 parents 9822dbc + 8e11a0a commit 9eedd8d

6 files changed

Lines changed: 88 additions & 156 deletions

File tree

example/03_semantic_layer/models/marts/dim_customers.yml

Lines changed: 0 additions & 68 deletions
This file was deleted.

example/03_semantic_layer/models/marts/fct_orders.yml

Lines changed: 0 additions & 86 deletions
This file was deleted.

models/marts/dim_customers.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,42 @@ version: 2
33
models:
44
- name: dim_customers
55
description: Customer dimension with one row per customer, including customer attributes, first and most recent order dates, lifetime order count, and lifetime value.
6+
semantic_model:
7+
enabled: true
8+
9+
agg_time_dimension: first_order_date
10+
611
columns:
712
- name: customer_id
813
description: Eindeutiger Primärschlüssel des Kunden.
14+
entity:
15+
name: customer
16+
type: primary
917
data_tests:
1018
- not_null
1119
- unique
1220

1321
- name: first_name
1422
description: Vorname des Kunden.
23+
dimension:
24+
type: categorical
1525

1626
- name: last_name
1727
description: Nachname des Kunden.
28+
dimension:
29+
type: categorical
1830

1931
- name: first_order_date
2032
description: Datum der ersten Bestellung des Kunden.
33+
granularity: day
34+
dimension:
35+
type: time
2136

2237
- name: most_recent_order_date
2338
description: Datum der letzten Bestellung des Kunden.
39+
granularity: day
40+
dimension:
41+
type: time
2442

2543
- name: number_of_orders
2644
description: Gesamtzahl der Bestellungen des Kunden.
@@ -29,3 +47,22 @@ models:
2947

3048
- name: lifetime_value
3149
description: Kumulierte Umsatzsumme des Kunden über alle Bestellungen.
50+
51+
metrics:
52+
- name: customers
53+
description: Count of customers.
54+
type: simple
55+
agg: count
56+
expr: 1
57+
58+
- name: customer_lifetime_orders
59+
description: Sum of customer lifetime order counts.
60+
type: simple
61+
agg: sum
62+
expr: number_of_orders
63+
64+
- name: customer_lifetime_value
65+
description: Sum of customer lifetime value in USD.
66+
type: simple
67+
agg: sum
68+
expr: lifetime_value

example/03_semantic_layer/models/marts/dim_date.sql renamed to models/marts/dim_date.sql

File renamed without changes.

example/03_semantic_layer/models/marts/dim_date.yml renamed to models/marts/dim_date.yml

File renamed without changes.

models/marts/fct_orders.yml

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,35 @@ version: 2
33
models:
44
- name: fct_orders
55
description: Fact table with one row per order, including the customer, order date, and successful payment amount.
6+
semantic_model:
7+
enabled: true
8+
9+
agg_time_dimension: order_date
10+
611
columns:
712
- name: order_id
813
description: Eindeutiger Primärschlüssel der Bestellung.
14+
entity:
15+
name: order_id
16+
17+
type: primary
918
data_tests:
1019
- not_null
1120
- unique
1221

1322
- name: customer_id
1423
description: Fremdschlüssel zum Kunden der Bestellung.
24+
entity:
25+
name: customer
26+
type: foreign
1527
data_tests:
1628
- not_null
1729

1830
- name: order_date
1931
description: Datum, an dem die Bestellung aufgegeben wurde.
32+
granularity: day
33+
dimension:
34+
type: time
2035
data_tests:
2136
- not_null
2237

@@ -30,8 +45,42 @@ models:
3045
max_value: 20
3146
strictly: true # (Optional. Default is 'false'. Adds an 'or equal to' to the comparison operator for min/max)
3247

33-
3448
- name: fail_amount_usd
35-
description: Nicht erfolgreich bezahlter Betrag der Bestellung in US-Dollar.
49+
description: Fehlgeschlagener Zahlungsbetrag der Bestellung in US-Dollar.
3650
data_tests:
3751
- not_null
52+
53+
metrics:
54+
- name: orders
55+
description: Count of orders.
56+
type: simple
57+
agg: count
58+
expr: 1
59+
60+
- name: order_revenue
61+
description: Sum of successful order payment amounts in USD.
62+
type: simple
63+
agg: sum
64+
expr: success_amount_usd
65+
66+
- name: failed_order_amount
67+
description: Sum of failed payment amounts in USD.
68+
type: simple
69+
agg: sum
70+
expr: fail_amount_usd
71+
72+
- name: order_revenue_per_customer
73+
description: "the order revenue generated on average by each customer"
74+
label: Revenue per customer
75+
type: ratio
76+
numerator: order_revenue
77+
denominator: customers
78+
79+
- name: failed_revenue_pct
80+
description: Percentage of revenue missed out on failed payments
81+
label: failed_revenue_pct
82+
type: derived
83+
expr: failed_order_amount / order_revenue
84+
input_metrics:
85+
- name: failed_order_amount
86+
- name: order_revenue

0 commit comments

Comments
 (0)