Hi, I'm trying to create a dynamic column in a derived table but can't get it to work.
In my main view file I have the following
# Parameters
parameter: property_selector {
hidden: no
group_label: "Product Properties"
view_label: "Product Information"
description: "Set the property (1 to 20)."
type: unquoted
allowed_value: {
label: "Property 1"
value: "property1"
}
allowed_value: {
label: "Property 2"
value: "property2"
}
allowed_value: {
label: "Property 3"
value: "property3"
}
allowed_value: {
label: "Property 4"
value: "property4"
}
allowed_value: {
label: "Property 5"
value: "property5"
}
allowed_value: {
label: "Property 6"
value: "property6"
}
allowed_value: {
label: "Property 7"
value: "property7"
}
allowed_value: {
label: "Property 8"
value: "property8"
}
allowed_value: {
label: "Property 9"
value: "property9"
}
allowed_value: {
label: "Property 10"
value: "property10"
}
allowed_value: {
label: "Property 11"
value: "property11"
}
allowed_value: {
label: "Property 12"
value: "property12"
}
allowed_value: {
label: "Property 13"
value: "property13"
}
allowed_value: {
label: "Property 14"
value: "property14"
}
allowed_value: {
label: "Property 15"
value: "property15"
}
allowed_value: {
label: "Property 16"
value: "property16"
}
allowed_value: {
label: "Property 17"
value: "property17"
}
allowed_value: {
label: "Property 18"
value: "property18"
}
allowed_value: {
label: "Property 19"
value: "property19"
}
allowed_value: {
label: "Property 20"
value: "property20"
}
default_value: "property1"
}
dimension: property_selected {
hidden: no
description: "One of the properties of the product"
label: "Property Selected"
group_label: "Product Properties"
view_label: "Product Information"
type: string
sql: {% if property_selector._parameter_value == 'property1' %}
${property1}
{% elsif property_selector._parameter_value == 'property2' %}
${property2}
{% elsif property_selector._parameter_value == 'property3' %}
${property3}
{% elsif property_selector._parameter_value == 'property4' %}
${property4}
{% elsif property_selector._parameter_value == 'property5' %}
${property5}
{% elsif property_selector._parameter_value == 'property6' %}
${property6}
{% elsif property_selector._parameter_value == 'property7' %}
${property7}
{% elsif property_selector._parameter_value == 'property8' %}
${property8}
{% elsif property_selector._parameter_value == 'property9' %}
${property9}
{% elsif property_selector._parameter_value == 'property10' %}
${property10}
{% elsif property_selector._parameter_value == 'property11' %}
${property11}
{% elsif property_selector._parameter_value == 'property12' %}
${property12}
{% elsif property_selector._parameter_value == 'property13' %}
${property13}
{% elsif property_selector._parameter_value == 'property14' %}
${property14}
{% elsif property_selector._parameter_value == 'property15' %}
${property15}
{% elsif property_selector._parameter_value == 'property16' %}
${property16}
{% elsif property_selector._parameter_value == 'property17' %}
${property17}
{% elsif property_selector._parameter_value == 'property18' %}
${property18}
{% elsif property_selector._parameter_value == 'property19' %}
${property19}
{% elsif property_selector._parameter_value == 'property20' %}
${property20}
{% endif %};;
}
And for my derived table I have this simplified version:
derived_table: {
explore_source: main{
column: property_selected {}
column: totalsalesvalue {}
derived_column: total_sales_rank {
sql: RANK() OVER(ORDER BY totalsalesvalue DESC) ;;
}
bind_filters: {
to_field: main.property_selected
from_field: main.property_selected
}
dimension: property_selected {
hidden: yes
}
However the column property_selected is always queried as property1 and doesn't seem to be dynamic