Question

LookML error happens when switch to new LookML runtime

  • 25 August 2022
  • 3 replies
  • 335 views

When I apply new_lookml_runtime: yes in the manifest.lkml, a LookML Error appears. The error message is something like “There was a problem building the derived table for view "my_derived_table". The filter "" is not allowed.”.

 

It does not happen in legacy LookML runtime, so obviously the new LookML runtime validates my LookML differently from the legacy one.

 

The filter which the error message points to is like this:

parameter: media {
      suggest_persist_for: "5 seconds"
      label: "Media"
      type: unquoted
      default_value: "someschema.@{table_a}"
      allowed_value: {
        label: "A"
        value: "someschema.@{table_a}"
      }
      allowed_value: {
        label: "c"
        value: "someschema.@{table_c}"
      }
      allowed_value: {
        label: "D"
        value: "someschema.@{table_d}"
      }

}

 

How does the new runtime validates filter? 

 


3 replies

Userlevel 2

I have the exact same issue.

In my case, for the same reasons (new version of Looker), the error was:
 

There was a problem building the derived table for view “my_view". Filter on parameter "my_view_parameter" with type "number" must be a plain number.

 

The solution for passing LookML validation was to change the filter default value from an empty string to a valid integer in all places where it appears.

always_filter: {

    filters: [my_view_parameter: “12345”]

}

Hope this helps someone...

It seems that the new LookML runtime checks the filter setting in the explore.

explore: my_explore {

    label: “My Explore”

    extends: [some_other]

    always_filter: {

       filters: [my_view_parameter: “”]

    }

}

 

The legacy LookML runtime allows the above code (giving an empty string as default value to the filter). However it becomes inappropriate in the new LookML runtime. Simply delete the always_filter or give it a correct value (I’ve tried but it is still incorrect so I delete it) might resolve the error.

Reply