I have created this parameter , dimension and measure in LookML
Parameter:
parameter: select_timeframe {
label: "Select Timeframe"
type: unquoted
default_value: "month"
allowed_value: {
value: "year"
label: "Years"
}
allowed_value: {
value: "quarter"
label: "Quarters"
}
allowed_value: {
value: "month"
label: "Months"
}
allowed_value: {
value: "week"
label: "Weeks"
}
allowed_value: {
value: "day"
label: "Days"
}
}
Dimension:
dimension: selected_dynamic_timeframe {
label_from_parameter: parameters.select_timeframe
description: "Use this dimension alongside the \"Select Timeframe\" filter to be able to dynamically change between the date, week, month, quarter or year dimensions"
alias: [dynamic_timeframe]
type: string
sql:
{% if parameters.select_timeframe._parameter_value == 'day' %}
${order_date}
{% elsif parameters.select_timeframe._parameter_value == 'week' %}
${order_week}
{% elsif parameters.select_timeframe._parameter_value == 'year' %}
${order_year}
{% elsif parameters.select_timeframe._parameter_value == 'quarter' %}
${order_quarter}
{% else %}
${order_month}
{% endif %}
;;
}
Measure:
measure: total_Sales {
type: sum
value_format: "$0.0,,\" M\""
sql: ${order_quantity}*${products.product_price} ;;
}
When I am using these fields in the visualization and selecting quarter in timeframe, it is giving me LookMl error with this error detail :
However when I am just changing the value in parameter for label ‘Quarters’ from ‘quarter’ to “Quarter’ (i.e. making ‘q’ to ‘Q’ in the value) and same I do in the dimension as well as shown below:
Parameter:
parameter: select_timeframe {
label: "Select Timeframe"
type: unquoted
default_value: "month"
allowed_value: {
value: "year"
label: "Years"
}
allowed_value: {
value: "Quarter"
label: "Quarters"
}
allowed_value: {
value: "month"
label: "Months"
}
allowed_value: {
value: "week"
label: "Weeks"
}
allowed_value: {
value: "day"
label: "Days"
}
}
Dimension:
dimension: selected_dynamic_timeframe {
label_from_parameter: parameters.select_timeframe
description: "Use this dimension alongside the \"Select Timeframe\" filter to be able to dynamically change between the date, week, month, quarter or year dimensions"
alias: [dynamic_timeframe]
type: string
sql:
{% if parameters.select_timeframe._parameter_value == 'day' %}
${order_date}
{% elsif parameters.select_timeframe._parameter_value == 'week' %}
${order_week}
{% elsif parameters.select_timeframe._parameter_value == 'year' %}
${order_year}
{% elsif parameters.select_timeframe._parameter_value == 'Quarter' %}
${order_quarter}
{% else %}
${order_month}
{% endif %}
;;
}
When I use these fields in the visualization keeping the measure same, it gives me the correct visualization.
How just capitalizing the first letter of ‘quarter’ works and without it doesn't.