Question

How to pass liquid parameters to `date` fields filters?

  • 25 August 2021
  • 1 reply
  • 97 views

How to pass liquid parameters to `date` fields filters?

I can pass parameter to string filters  like this 

  filters: [ date: "1 day ago"  ] 

but

  filter: dt_filter {
type: date
}

measure: sum_filt_by_dt {
type: sum
filters: [ date: "{% date_end dt_filter %}"] #< --- Error here
sql: ${age} ;;
}

throws 
 

 

Why it is possible  for string fields but not for dates?
This works fine for unquoted parameters:

  dimension: gender {
type: string
sql: ${TABLE}.gender ;;
}

...
filters: [ gender: "{% parameter gender_param %}"]

 


This topic has been closed for comments

1 reply

You can add a yesno dimension that uses your dt_filter and then use that in the measure filters

 

dimension: dt_yesno {
type: yesno
sql: {% condition dt_filter %} your_date_field {% endcondition %} ;;
}

measure: sum_filt_by_dt {
type: sum
filters: [ dt_yesno: "yes" ]
sql: ${age} ;;
}

 

I think why it works for you for the string fields is that you’re using a parameter there, which is a different thing than filter.