๋ชจ๋ธ ํ์งํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์์ ์ธ์ด์ ๋ฐ๋ผ ๋ชจ๋ธ์ ๋ผ๋ฒจ๊ณผ ์ค๋ช ์ด ํ์๋๋ ๋ฐฉ์์ ๋ง์ถค์ค์ ํ ์ ์์ต๋๋ค.
ํ์งํ๋ ์ง๋ฆฌ์ ์์น๋ ์ธ์ด์ ๊ธฐ๋ฐํ ํ์๊ฐ ์์ต๋๋ค. ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ด๋ถ ์ฌ์ฉ์์ ์ธ๋ถ ์ฌ์ฉ์, ๊ด๋ฆฌ์ ๋๋ ๊ฐ๋ณ ์ฐธ์ฌ์ ๋ฑ ๋ค๋ฅธ ์ฐจ๋ณํ ์์๋ฅผ ๋ํ๋ด๊ณ ๊ทธ์ ๋ฐ๋ผ ๋ผ๋ฒจ๊ณผ ์ค๋ช ์ ๋ง์ถค์ค์ ํ ์ ์์ต๋๋ค.
์ด ํ์ด์ง์์๋ ํ๋ก์ ํธ๋ฅผ ํ์งํํ๋ ์ ์ฐจ๋ฅผ ์ค๋ช ํฉ๋๋ค.
- ๋ชจ๋ธ์ ๋ผ๋ฒจ, ๊ทธ๋ฃน ๋ผ๋ฒจ, ์ค๋ช ์ ์ถ๊ฐํ์ฌ ํ์งํํ ์์๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- ์ธ์ด ๋ฌธ์์ด ํ์ผ์ ๋ง๋ค์ด ํ๋ก์ ํธ์ ํ์งํ ์ ์๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ํ๋ก์ ํธ์ ๋งค๋ํ์คํธ ํ์ผ์ ํ์งํ ์ค์ ์ ์ถ๊ฐํ์ฌ ํ๋ก์ ํธ์ ํ์งํ๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค.
- ์ธ์ด์ ์ฌ์ฉ์๋ฅผ ํ ๋นํ์ฌ ์ฌ๋ฌ ์ฌ์ฉ์๋ณ๋ก ๋์คํ๋ ์ด๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
๋ชจ๋ธ ํ์งํ๋ ์ข ์ข ๊ด๋ฆฌ์๊ฐ ์ซ์ ํ์ ํ์งํ ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ธ์ด ์ค์ ์ ์ง์ ํ ๋ ํจ๊ป ์งํ๋ฉ๋๋ค.
๋ชจ๋ธ์ ๋ผ๋ฒจ ๋ฐ ์ค๋ช ํ์งํ
๋ค์์ ํฌํจํ์ฌ ๋ชจ๋ธ์ ๋ผ๋ฒจ, ๊ทธ๋ฃน ๋ผ๋ฒจ, ์ค๋ช ์ ํ์งํํ ์ ์์ต๋๋ค.
- ํ๋, ๋ชจ๋ธ, Explore, ๋ทฐ์
label
- Looker ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ์ ์ ํ๋ฆฌ์ผ์ด์
์ฉ
label
- Explore์
group_label
๋ฐ ํ๋์group_label
- ํ๋์
group_item_label
- Explore์
description
๋ฐ ํ๋์description
ํ๋ก์ ํธ์์ ํ์งํ๋ LookML ๋์๋ณด๋๋ฅผ ๋ง๋ค ์๋ ์์ต๋๋ค. ํ์งํํ ์ ์๋ LookML ๋์๋ณด๋ ๋งค๊ฐ๋ณ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
title
description
text
(note
๋งค๊ฐ๋ณ์์ ํ์ ๋งค๊ฐ๋ณ์์ด๋ฉฐtype: text
์์๋ฅผ ์ ์ธํ ๋ชจ๋ ๋์๋ณด๋ ์์ ์ ํ์ ์ ์ฉํ ์ ์์)comparison_label
single_value_title
ํ๋ก์ ํธ์์ ํ์งํํ ์ ์๋ ๋ชจ๋ ํ๋๋ฅผ ๋ณด๋ ค๋ฉด ํ๋ก์ ํธ์ ํ์งํ ์์ค์ strict
๋ก ์ค์ ํ๋ฉด ๋ฉ๋๋ค. ์ด๋ ๊ฒ ์ค์ ํ๋ฉด Looker IDE๋, ํ์งํ๋ ์ ์์ง๋ง ๋ผ๋ฒจ์ด ์๋ LookML ์์ ๋ฐ ํ์งํ๋ ์ ์์ง๋ง ์ธ์ด ๋ฌธ์์ด ํ์ผ์์ ์ ์๋์ง ์์ LookML ๋ชจ๋ธ์ ๋ชจ๋ ๋ฌธ์์ด์ ๋ํ์ฌ LookML ์ ํจ์ฑ ๊ฒ์ฌ ์ค๋ฅ๋ฅผ ๋ฐํํฉ๋๋ค.
๋ค์ ์ํ LookML์์๋ flights
๋ทฐ์ id
, country
, number_of_engines
ํ๋์ ๋ผ๋ฒจ์ด ์ ๊ณต๋ฉ๋๋ค. country
ํ๋์ ๋ํ ์ค๋ช
๋ ์ ๊ณต๋ฉ๋๋ค.
view: flights {
label: "flight_info"
sql_table_name: flightstats.accidents ;;
dimension: id {
label: "id"
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
dimension: country {
label: "country"
description: "country_of_departure"
type: string
map_layer_name: countries
sql: ${TABLE}.country ;;
}
dimension: number_of_engines {
label: "number_of_engines"
type: string
sql: ${TABLE}.number_of_engines ;;
}
dimension: location {
type: string
sql: ${TABLE}.location ;;
}
์ด ํ์ด์ง์ ๋ค์ ์์์์๋ permissive
ํ์งํ ์์ค์ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด ํ์ผ์์ ์ด๋ฌํ ๊ฐ์ ํ์งํํฉ๋๋ค. location
์ธก์ ๊ธฐ์ค์๋ ๋ผ๋ฒจ์ด ์์ผ๋ฏ๋ก ํ์งํ๋์ง ์์ ์ธก์ ๊ธฐ์ค์ด ํ์๋๋ ๋ฐฉ์์ ๋ณด์ฌ์ค ์ ์์ต๋๋ค.
์ธ์ด ๋ฌธ์์ด ํ์ผ ๋ง๋ค๊ธฐ
์ธ์ด ๋ฌธ์์ด ํ์ผ์ ํค-๊ฐ ์์ ์ฌ์ฉํ์ฌ ๊ฐ ์ธ์ด์์ ๋ชจ๋ธ์ ๋ผ๋ฒจ๊ณผ ์ค๋ช ์ด ํ์๋๋ ๋ฐฉ์์ ์ ์ํฉ๋๋ค. ๊ฐ ํค-๊ฐ ์์ ์ผ์ชฝ์ ๋ชจ๋ธ์ ๋ผ๋ฒจ ๋๋ ์ค๋ช ๋ฌธ์์ด์ธ ํ์งํ ํค๊ฐ ์์ต๋๋ค. ํค-๊ฐ ์์ ์ค๋ฅธ์ชฝ์์ ํด๋น ๋ฌธ์์ด์ Looker UI์ ํ์ํ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค.
ํ๋ก์ ํธ์ ์ฌ์ฉํ๋ ค๋ ๊ฐ ์ธ์ด๋ณ๋ก ์ ์ฉ ๋ฌธ์์ด ํ์ผ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ๊ฐ ์ธ์ด๋ณ๋ก ๋ฌธ์์ด ํ์ผ์ ํ๋๋ง ๋ง๋์ธ์. ๊ธฐ๋ณธ ์ธ์ด์ ์ผ์นํ๋๋ก ์ด๋ฆ์ด ์ง์ ๋ ๋ฌธ์์ด ํ์ผ์ด ์์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ํ๋ก์ ํธ์ ๋งค๋ํ์คํธ ํ์ผ์ default_locale: en
์ ์ง์ ํ ๊ฒฝ์ฐ ๋ชจ๋ธ์ en.strings.json
์ด๋ผ๋ ํ์ผ์ด ์์ด์ผ ํฉ๋๋ค. ๊ฐ ๋ฌธ์์ด์ ๊ธฐ๋ณธ ์ธ์ด ๋ฌธ์์ด ํ์ผ์์ ์ ์๋์ด์ผ ํ๋ฉฐ, ํ์งํ๋์ง ์์ต๋๋ค.
์ด en.strings.json
ํ์ผ ์์๋ ์ธ์ด ๊ฐ์ด en
์ธ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ํ์ฉ๋ฉ๋๋ค. ๋ค์ ์ํ LookML์์๋ en
๋ ๊ธฐ๋ณธ ์ธ์ด๋ก ์ง์ ๋๋ฏ๋ก ํ์งํํ๋ ค๋ฉด ์ด ํ์ผ์์ ๋ชจ๋ ๋ฌธ์์ด์ ์ ์ํด์ผ ํฉ๋๋ค.
{
"flight_info": "Flights",
"id": "Identifier",
"country_of_departure": "Country of Departure",
"number_engines": "Number of Engines"
}
๋ค์ ํ์์๋ ์ธ์ด๊ฐ en
์ผ๋ก ์ค์ ๋ ์ฌ์ฉ์๊ฐ Looker Explore์ ๋ฐ์ดํฐ ํ
์ด๋ธ์์ ๋ณผ ์ ์๋ ์ฌํญ์ ๋ณด์ฌ์ค๋๋ค.
Flights Identifier | Flights country | Flights Location | Flights Number of Engines |
---|---|---|---|
493 | Congo | Kisangani, Congo | 3 |
2167 | Saudi Arabia | Riyadh, Saudi Arabia | 3 |
2657 | Austria | Vienna, Austria | 2 |
17992 | United States | Kansas City, MO | 2 |
18893 | United States | Anchorage, AK | 4 |
๋ค์์ ์ ์ํ์ธ์.
- ์ด์ ์ ํ์๋
flights
๋ทฐ ์ํ LookML์์๋location
์ธก์ ๊ธฐ์ค์ ๋ผ๋ฒจ์ ์ ๊ณตํ์ง ์์์ผ๋ฏ๋ก Looker์์ ์ธก์ ๊ธฐ์ค ์ด๋ฆ์ธ '์์น'๋ฅผ ๋๋ฌธ์๋ก ํ์ํฉ๋๋ค. en.strings.json
ํ์ผ์์ '๊ตญ๊ฐ' ๋ผ๋ฒจ์ ํ์งํ๋ฅผ ์ ์ํ์ง ์์์ผ๋ฏ๋ก Looker๋ ๋ทฐ ํ์ผ์ ์ ์๋ ๋๋ก ๋ผ๋ฒจ์ ๋๋ฌธ์๋ก ํ์ํ์ง ์๊ณ '๊ตญ๊ฐ'๋ก ํ์ํฉ๋๋ค.
๋ ๋ค๋ฅธ ์์๋ก, ์ธ์ด ๊ฐ์ด es_ES
์ธ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ํ์ฉ๋๋ es_ES.strings.json
ํ์ผ์ ๋ง๋ค ์ ์์ต๋๋ค.
{
"flight_info": "Vuelos",
"id": "Identificador",
"country": "Paรญs",
"country_of_departure": "Paรญs de Partida",
"number_engines": "Nรบmero de Motores"
}
๋ค์ ํ์์๋ ์ธ์ด๊ฐ es_ES
๋ก ์ค์ ๋ ์ฌ์ฉ์๊ฐ Looker์์ ๋ณผ ์ ์๋ ์ฌํญ์ ๋ณด์ฌ์ค๋๋ค.
Vuelos Identificador | Vuelos country | Vuelos Location | Vuelos Nรบmero de Motores |
---|---|---|---|
493 | Congo | Kisangani, Congo | 3 |
2167 | Saudi Arabia | Riyadh, Saudi Arabia | 3 |
2657 | Austria | Vienna, Austria | 2 |
17992 | United States | Kansas City, MO | 2 |
18893 | United States | Anchorage, AK | 4 |
๋ค์์ ์ ์ํ์ธ์.
- ์์์์ ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ผ๋ฒจ๊ณผ ์ค๋ช
์ด ์ถ๊ฐ๋ ์๋ณธ ๋ทฐ์์
location
์ธก์ ๊ธฐ์ค์ ๋ํ ๋ผ๋ฒจ์ ์ ํ ์ ๊ณตํ์ง ์์์ผ๋ฏ๋ก Looker๋ ์ธก์ ๊ธฐ์ค์ ์ด๋ฆ์ธ ๋๋ฌธ์ 'Location'์ ํ์ํฉ๋๋ค. - ๊ธฐ๋ณธ ์ธ์ด ๋ฌธ์์ด ํ์ผ์ธ
en.strings.json
ํ์ผ์์ '๊ตญ๊ฐ' ๋ผ๋ฒจ์ ํ์งํ๋ฅผ ์ ์ํ์ง ์์์ต๋๋ค. ๋ฐ๋ผ์es_ES.strings.json
ํ์ผ์ '๊ตญ๊ฐ'๋ฅผ ์ ์ํ๋๋ผ๋ Looker๋ ์ด ๋ฌธ์์ด์ ํ์งํํ์ง ์๊ณ ๋ทฐ ํ์ผ '๊ตญ๊ฐ'์ ์ ์๋ ๋๋ก ๋ผ๋ฒจ์ ํ์ํฉ๋๋ค.
ํ๋ก์ ํธ์ ๋งค๋ํ์คํธ ํ์ผ์ ํ์งํ ์ค์ ์ถ๊ฐ
ํ๋ก์ ํธ์์ ํ์งํ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด localization_settings
๋งค๊ฐ๋ณ์๋ฅผ ํ๋ก์ ํธ์ ๋งค๋ํ์คํธ ํ์ผ์ ์ถ๊ฐํฉ๋๋ค.
๋งค๋ํ์คํธ ํ์ผ์ ํ์งํ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
localization_settings: {
default_locale: en
localization_level: permissive
}
default_locale
default_locale
๋งค๊ฐ๋ณ์๋ ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ์ธ์ด ๋ฌธ์์ด ํ์ผ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.
๊ธฐ๋ณธ ์ธ์ด ๋ฌธ์์ด ํ์ผ์ ๋ชจ๋ธ์ ์ด๋ค ๋ฌธ์์ด์ด ํ์งํ๋๋์ง ๊ฒฐ์ ํฉ๋๋ค. ๋ผ๋ฒจ ๋๋ ์ค๋ช ๋ฌธ์์ด์ด ๋ค๋ฅธ ์ธ์ด ๋ฌธ์์ด ํ์ผ์ ์ ์๋์ด ์์ด๋ ๊ธฐ๋ณธ ์ธ์ด ๋ฌธ์์ด ํ์ผ์ ์ ์๋์ง ์์ ๊ฒฝ์ฐ Looker UI์ ํ์งํ๋์ง ์์ ๋ฌธ์์ด์ด ํ์๋ฉ๋๋ค.
ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ์ธ์ด๋ Looker ์ฌ์ฉ์์ ๊ธฐ๋ณธ ์ธ์ด์ ํผ๋ํด์๋ ์ ๋ฉ๋๋ค. Looker ๊ด๋ฆฌ์๋ ์ธ์คํด์ค์ ๊ธฐ๋ณธ ์ธ์ด๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ด ์ค์ ๋์ด ์์ง ์์ผ๋ฉด Looker๋ ๊ธฐ๋ณธ์ ์ผ๋ก en
์ผ๋ก ์ค์ ๋ฉ๋๋ค. ๊ด๋ฆฌ์๊ฐ ์ฌ์ฉ์๊ฐ ์ํ ์ฌ์ฉ์ ๋๋ ์ฌ์ฉ์ ๊ทธ๋ฃน์ ์ธ์ด ๊ฐ์ ๊ตฌ์ฒด์ ์ผ๋ก ์
๋ ฅํ์ง ์์ ๊ฒฝ์ฐ Looker๋ ์ฌ์ฉ์๋ฅผ ๊ธฐ๋ณธ ์ธ์คํด์ค ์ธ์ด์ ํ ๋นํฉ๋๋ค. ๊ด๋ฆฌ์๊ฐ ๊ธฐ๋ณธ ์ธ์คํด์ค ์ธ์ด๋ฅผ ์ค์ ํ์ง ์์ ๊ฒฝ์ฐ Looker๋ ์ฌ์ฉ์๋ฅผ en
์ธ์ด์ ํ ๋นํฉ๋๋ค.
๋ฐ๋ผ์ Looker ๊ด๋ฆฌ์๊ฐ ๋ชจ๋ Looker ์ฌ์ฉ์์ ๋ํด ์ธ์ด๋ฅผ ์ค์ ํ ๊ฒ์ผ๋ก ํ์ ํ๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๋ฉด, ํ๋ก์ ํธ์ default_locale
๋งค๊ฐ๋ณ์๋ฅผ ์ธ์คํด์ค์ ๊ธฐ๋ณธ ์ธ์ด๋ก(๋๋ ๊ธฐ๋ณธ๊ฐ์ด ์ค์ ๋์ง ์์ ๊ฒฝ์ฐ en
์ผ๋ก) ์ค์ ํ๊ณ , ํด๋น ์ธ์ด์ ๋ํด .strings.json
ํ์ผ์์ ๋ชจ๋ ๋ผ๋ฒจ ๋ฐ ์ค๋ช
์ ๋ํ ํ์งํ๋ฅผ ์ ์ํด์ผ ํฉ๋๋ค.
localization_level
ํ๋ก์ ํธ์ ํ์งํ ์์ค์ ๋ชจ๋ธ์์ ํ์งํ๋์ง ์์ ์์๊ฐ ํ์ฉ๋๋์ง ์ง์ ํฉ๋๋ค.
- ํ๋ก์ ํธ์ ๋ชจ๋ ๋ชจ๋ธ, Explore, ๋ทฐ, ํ๋์ ํ์งํ๋ ๋ผ๋ฒจ์ ์๊ตฌํ๋ ค๋ฉด ํ์งํ ์์ค์
strict
๋ก ์ค์ ํฉ๋๋ค. Looker IDE๋ ๋ผ๋ฒจ์ด ์๋ ์์์ ๊ธฐ๋ณธ ์ธ์ด ๋ฌธ์์ด ํ์ผ์ ์ ์๋์ง ์์ ๋ผ๋ฒจ ๋ฐ ์ค๋ช ์ ๋ํด LookML ์ ํจ์ฑ ๊ฒ์ฌ ์ค๋ฅ๋ฅผ ๋ฐํํฉ๋๋ค. - ํ์งํ ์์ค์
permissive
๋ก ์ค์ ํ์ฌ ๋ผ๋ฒจ์ด ์๋ ์์๋ฅผ ํ์ฉํ๊ณ , ๊ธฐ๋ณธ ํ์งํ ๋ฌธ์์ด ํ์ผ์ ์ ์๋์ง ์์ ๋ผ๋ฒจ๊ณผ ์ค๋ช ์ ํ์ฉํ ์ ์์ต๋๋ค.
strict
ํ์งํ ์์ค์ ์ํ๋ ๊ฒฝ์ฐ์๋ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ ๋ ์ ํจ์ฑ ๊ฒ์ฌ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ํ๋ก์ ํธ์ ํ์งํ ์์ค์ permissive
๋ก ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ชจ๋ ๋ผ๋ฒจ ๋ฐ ์ค๋ช
์ ํ์งํ๋ฅผ ์๋ฃํ ํ ํ์งํ ์์ค์ strict
๋ก ์ค์ ํ์ฌ ์ค๋ฅ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์ธ์ด์ ์ฌ์ฉ์ ํ ๋น
์ธ์ด ๋ฌธ์์ด ํ์ผ์ ์ค์ ํ๋ฉด ์ธ์ด ๋ฌธ์์ด ํ์ผ ์ค ํ๋์ ํด๋นํ๋ ์ธ์ด์ ์ฌ์ฉ์๋ฅผ ํ ๋นํ ์ ์์ต๋๋ค. ์ด ์์
์ ์ธ์ด ํ๋ ๋๋ locale
์ฌ์ฉ์ ์์ฑ์ ์ฌ์ฉํ์ฌ .์ธ์คํด์ค, ์ฌ์ฉ์ ๊ทธ๋ฃน, ๋๋๊ฐ๋ณ ์ฌ์ฉ์ ์์ค์์ ์ํํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ es_ES.strings.json
ํ์ผ์ ์ ์๋ ๋ผ๋ฒจ๊ณผ ์ค๋ช
์ ๋ณด๊ฒ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ, Looker ๊ด๋ฆฌ์๋ ์ฌ์ฉ์์ ์ธ์ด ์ค์ ์ es_ES
๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
๋ฌธ์์ด ํ์ผ๋ก ๋ง๋ ๋ง์ถค ์ธ์ด๋ ๋๋กญ๋ค์ด ๋ฉ๋ด์์ ๊ธฐ๋ณธ ์ ๊ณต ์ธ์ด๋ฅผ ์ ํํ๋ ๋์ ํ๋๋ฅผ ํด๋ฆญํ๊ณ ๋ฌธ์์ด ํ์ผ ์ด๋ฆ์ ์ ๋ ฅํ์ฌ ์ธ์ด ํ๋์ ์ ๋ ฅํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฌ์ฉ์ ๋ฌธ์ ํ์ด์ง๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์๋ช ๋ ์๋ฒ ๋ ์ฌ์ฉ์์ ์ธ์ด ์ค์
๋ค๋ฅธ ์ฌ์ฉ์ ์์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ช
๋ ์๋ฒ ๋ URL์ ์ฌ์ฉ์์ ์ธ์ด ๊ฐ์ ํฌํจํ ์ ์์ต๋๋ค. ์๋ช
๋ ์๋ฒ ๋์ ํ์ํ ์ ํํ ํ์์ ์๋ช
๋ ์๋ฒ ๋ URL ์คํฌ๋ฆฝํธ๋ฅผ ๋น๋ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ๋ผ ๋ฌ๋ผ์ง์ง๋ง, ์ฌ์ฉ์ ์์ฑ ์ด๋ฆ์ locale
์
๋๋ค. ์๋ช
๋ ์๋ฒ ๋ URL ๋ฐ ์๋ช
๋ ์๋ฒ ๋ URL ๋น๋์ฉ ๋๊ตฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋ช
๋ ์๋ฒ ๋ฉ ๋ฌธ์ ํ์ด์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
Liquid ๋ณ์์์ ์ธ์ด ์ฌ์ฉ
์์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ ๋ชจ๋ธ ํ์งํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ์ธ์ด์ ๋ํ ๋ชจ๋ธ ๋ผ๋ฒจ ๋ฐ ์ค๋ช ํ์๋ฅผ ๋ง์ถค์ค์ ํ ์ ์์ต๋๋ค. ํ์ง๋ง Liquid ๋ณ์์ ํ์งํ ํค๋ฅผ ํฌํจํ์ฌ ๋ฐ์ดํฐ ๊ฐ๋ ํ์งํํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด en.strings.json
์ด๋ผ๋ ๊ธฐ๋ณธ ์ธ์ด ๋ฌธ์์ด ํ์ผ์์ ๋ค์ ํญ๋ชฉ์ด ํฌํจ๋ ํ์งํ ํค domestic
๊ณผ international
์ ๋ง๋ค ์ ์์ต๋๋ค.
{
"domestic": "Domestic",
"international": "International"
}
es_ES.strings.json
ํ์ผ์์ ๋ค์ ํ์งํ ํค์ ์คํ์ธ์ด ๋ฒ์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
{
"domestic": "Nacional",
"international": "Internacional"
}
์ด ๊ฒฝ์ฐ Liquid ๋ณ์์ domestic
๋ฐ international
ํ์งํ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ธก์ ๊ธฐ์ค์ ์ถ๋ ฅ์ ํ์งํํ ์ ์์ต๋๋ค.
dimension: from_US {
label: "from_us"
type: string
sql: CASE
WHEN ${TABLE}.country = 'United States' THEN '{{ _localization['domestic'] }}'
ELSE '{{ _localization['international'] }}'
END;;
}
en
์ธ์ด ์ฌ์ฉ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
Flights Identifier | Flights country | Flights From the US? |
---|---|---|
289 | United States | Domestic |
400 | Canada | International |
493 | Congo | International |
936 | United States | Domestic |
es_ES
์ธ์ด ์ฌ์ฉ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
Vuelos Identificador | Vuelos Paรญs | Vuelos ยฟDe Los Estados Unidos? |
---|---|---|
289 | United States | Nacional |
400 | Canada | Internacional |
493 | Congo | Internacional |
936 | United States | Nacional |
es_ES
์ธ์ด ์ฌ์ฉ์๋ ๊ฐ๊ฐ 'Nacional' ๋ฐ 'Internacional'๋ก ํ์งํ๋ '๊ตญ๋ด' ๋ฐ '๊ตญ์ ' ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
๋ํ LookML ๋์๋ณด๋ ํํฐ ๋ฐ LookML ๋์๋ณด๋ ์์ ํํฐ์์ Liquid๋ฅผ ์ฌ์ฉํ์ฌ ํํฐ์ ๊ธฐ๋ณธ๊ฐ์ ํ์งํํ ์๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด LookML ๋์๋ณด๋์ ์ด ํ์งํ๋ ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ํ์ผ์ด ์๊ณ ํด๋น ํ์ผ์ LookML์์ ์ ์๋ ํํฐ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
filters:
flights.from_US: "{{ _localization['domestic'] }}"
en
์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์๊ฐ ๋์๋ณด๋์ ํ์ผ์ ํ์ํ๋ฉด Explore๊ฐ Flights From the US? ํ๋์ Domestic ๊ฐ์ผ๋ก ํํฐ๋ง๋๋ฉฐ, Explore์ ๋ฐ์ดํฐ ํ
์ด๋ธ์ ๋ค์ ๊ฒฐ๊ณผ๊ฐ ํฌํจ๋ฉ๋๋ค.
Flights Identifier | Flights country | Flights From the US? |
---|---|---|
289 | United States | Domestic |
936 | United States | Domestic |
es_ES
์ธ์ด๊ฐ ์๋ ์ฌ์ฉ์๊ฐ ๋์๋ณด๋์ ํ์ผ์์ ํ์ํ๋ฉด Explore ํ๋๊ฐ Vuelos ยฟDe Los Estados Unidos? ํ๋์ Nacional ๊ฐ์ผ๋ก ํํฐ๋ง๋๋ฉฐ Explore์ ๋ฐ์ดํฐ ํ
์ด๋ธ์๋ ๋ค์ ๊ฒฐ๊ณผ๊ฐ ํฌํจ๋ฉ๋๋ค.
Vuelos Identificador | Vuelos Paรญs | Vuelos ยฟDe Los Estados Unidos? |
---|---|---|
289 | United States | Nacional |
936 | United States | Nacional |
ํ์ฅ๋ ๊ฐ์ฒด ๋ฐ ์ธ๋ถํ๋ ๊ฐ์ฒด์ ํ์งํ ๊ท์น์ด ์ ์ฉ๋๋ ๋ฐฉ์ ์ดํด
๋ทฐ, Explore ๋ถ์ ๋๋ LookML ๋์๋ณด๋๋ฅผ ํ์ฅํ ๋์ ๋ทฐ ๋๋ Explore ๋ฏธ์ธ ์กฐ์ ์์ ํ์งํ ๊ท์น์ด ์ ์ฉ๋๋ ์ ์ ์ ์ํ์ธ์.
๊ฐ์ฒด๋ฅผ ํ์ฅํ๊ฑฐ๋ ์์ธ๊ฒ์ํ ๋ค์ ์ ๋ผ๋ฒจ ๋๋ ์ค๋ช ์ ์ถ๊ฐํ ๊ฒฝ์ฐ ์ธ์ด ๋ฌธ์์ด ํ์ผ์ ํ์งํ ์ ์๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด flights
๋ทฐ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
view: flights {
label: "flight_info"
sql_table_name: flightstats.accidents ;;
...
}
๊ทธ๋ฐ ๋ค์ flights
๋ทฐ๋ฅผ ํ์ฅํ๋ ์ ๋ทฐ๋ฅผ ๋ง๋ญ๋๋ค.
include: "/views/flights.view"
view: flights_enhanced {
extends: [flights]
label: "enhanced_flight_info"
}
์ธ์ด ๋ฌธ์์ด ํ์ผ์์ ๋ ๊ฐ์ง ๋ทฐ ๋ผ๋ฒจ ๋ฌธ์์ด("flight_info"
๋ฐ "enhanced_flight_info"
)์ ๋ชจ๋ ์ ์ํด์ผ ํฉ๋๋ค. ํ๋ก์ ํธ์ ํ์งํ ์์ค์ด strict
๋ก ์ค์ ๋ ๊ฒฝ์ฐ ์ ๋ผ๋ฒจ ๋๋ ์ค๋ช
์ ์ ์ํ ๋๊น์ง ์
๋ฐ์ดํธ๋ฅผ ์ปค๋ฐํ ์ ์์ต๋๋ค.