Dynamic column in derived table

mvs
Bronze 1
Bronze 1

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

0 0 118
0 REPLIES 0
Top Labels in this Space
Top Solution Authors