Dynamic timeframe using parameter

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 : Screenshot 2023-06-15 at 3.21.11 PM.png

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.

Screenshot 2023-06-15 at 3.32.29 PM.png

How just capitalizing the first letter of ‘quarter’ works and without it doesn't.

 

1 0 283
0 REPLIES 0
Top Labels in this Space