forked from llooker/demo_segment
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpage_aliases_mapping__v1.view.lkml
62 lines (57 loc) · 1.38 KB
/
page_aliases_mapping__v1.view.lkml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
view: page_aliases_mapping__v1 {
derived_table: {
sql_trigger_value: select current_date ;;
sortkeys: ["tenantbase_visitor_id", "alias"]
distribution: "alias"
sql: WITH
all_mappings AS (
SELECT
anonymous_id,
user_id,
"timestamp"
FROM production.tracks
UNION
SELECT
user_id AS anonymous_id,
NULL AS user_id,
"timestamp"
FROM production.tracks
UNION
SELECT
anonymous_id,
user_id,
"timestamp"
FROM production.pages
UNION
SELECT
user_id AS anonymous_id,
NULL AS user_id,
"timestamp"
FROM production.pages
)
SELECT
DISTINCT anonymous_id AS alias,
COALESCE(FIRST_VALUE(user_id IGNORE NULLS)
OVER(
PARTITION BY anonymous_id
ORDER BY "timestamp"
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING),anonymous_id) AS tenantbase_visitor_id
FROM all_mappings
;;
}
measure: count_tenantbase_visitor {
label: "Number of TenantBase Visitors"
type: count_distinct
sql: ${tenantbase_visitor_id} ;;
drill_fields: [tenantbase_visitor_id]
}
dimension: alias {
primary_key: yes
type: string
sql: ${TABLE}.alias ;;
}
dimension: tenantbase_visitor_id {
type: string
sql: ${TABLE}.tenantbase_visitor_id ;;
}
}