-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathperiod_over_period_bq.lkml
84 lines (74 loc) · 2.36 KB
/
period_over_period_bq.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
explore: weather_period_over_period {
fields: [ALL_FIELDS*,
-weather_period_2.period_1,
-weather_period_2.period_2,
-weather_period_2.comparison_interval,
-weather_period_2.intervals_into_period_1,
-weather_period_2.intervals_into_period_2,
-weather_period_2.periods]
view_label: "Weather Period 1"
from: bq_gsod
join: weather_period_2{
type: full_outer
from: bq_gsod
relationship: one_to_one
sql_on: false ;;
}
sql_always_where:
{% condition weather_period_over_period.period_1 %} ${weather_period_over_period.weather_raw} {% endcondition %}
OR
{% condition weather_period_over_period.period_2 %} ${weather_period_2.weather_raw} {% endcondition %} ;;
}
view: bq_gsod {
sql_table_name: `bigquery-public-data.noaa_gsod.gsod*` ;;
parameter: comparison_interval {
view_label: "Period Over Period"
type: unquoted
allowed_value: {
value: "Day"
}
allowed_value: {
value: "Week"
}
allowed_value: {
value: "Month"
}
allowed_value: {
value: "Quarter"
}
allowed_value: {
value: "Year"
}
}
filter: period_1 {
view_label: "Period Over Period"
type: date
}
filter: period_2 {
view_label: "Period Over Period"
type: date
}
dimension: intervals_into_period_1 {
hidden: yes
view_label: "Period Over Period"
type: number
sql: DATE_DIFF(${weather_period_over_period.weather_date},
CAST(TIMESTAMP(split(split("{% condition weather_period_over_period.period_1 %} ${weather_period_over_period.weather_raw} {% endcondition %}",">= (TIMESTAMP('")[ORDINAL(2)],"')) AND")[ORDINAL(1)]) as DATE),
{% parameter comparison_interval %}) ;;
}
dimension: intervals_into_period_2 {
hidden: yes
view_label: "Period Over Period"
type: number
sql: DATE_DIFF(${weather_period_2.weather_date},
CAST(TIMESTAMP(split(split("{% condition weather_period_over_period.period_2 %} ${weather_period_over_period.weather_raw} {% endcondition %}",">= (TIMESTAMP('")[ORDINAL(2)],"')) AND")[ORDINAL(1)]) as DATE),
{% parameter comparison_interval %}) ;;
}
dimension: periods {
view_label: "Period Over Period"
label: "{% parameter comparison_interval %}s into Period"
type: number
sql: coalesce(${intervals_into_period_1},${intervals_into_period_2}) ;;
}
#Other dimensions and measures...
}