There is a “rate” dimension in “masterdata” view using “${corp_1.date}” in sql parameter.
explore: corp_1 {
join: masterdata {
...
}
}
view: corp_1 {
dimension: date {
...
}
}
view: masterdata {
dimension: rate {
type: number
sql: (CASE
WHEN ${corp_1.date} < PARSE_DATE('%F', '2021-07-01') THEN 0.1
ELSE ${TABLE}.rate
END) ;;
value_format_name: percent_0
}
}
I want to implement “corp_2” explore as well. However, there is a hard-coding in “rate” dimension. So, I used Liquid to implement it.
explore: corp_1 {
join: masterdata {
...
}
}
explore: corp_2 {
join: masterdata {
...
}
}
view: corp_1 {
dimension: date {
...
}
}
view: corp_2 {
dimension: date {
...
}
}
view: masterdata {
dimension: rate {
type: number
sql: (CASE
{% if _explore._name == 'corp_1' %}
WHEN ${corp_1.date} < PARSE_DATE('%F', '2021-07-01') THEN 0.1
{% elsif _explore._name == 'corp_2' %}
WHEN ${corp_2.date} < PARSE_DATE('%F', '2021-07-01') THEN 0.2
{% else %}
WHEN ...
{% endif %}
ELSE ${TABLE}.rate
END) ;;
value_format_name: percent_0
}
}
But, LookML varidation error occurs:
Inaccessible view “corp_2” referenced in “masterdata.rate”. “corp_2” is not accessible in explore “corp_1”. Check for missing joins in explore “corp_1”.
How can I solve this problem?