issue with closing tag in liquid looker any help would be great

Viewed 18

I was wondering if anyone could help me - I've been building out a custom PoP dimension in Looker - this appears to be working fine but I keep getting the error that my if tag hasn't been closed.

I'm certainly not an expert in liquid, but I can't see this issue - I've had segments of this code working so I know it works okay. But when combining different elements of the function Looker is telling me that I've not closed one of the IF tags.

Liquid Syntax Error: Error parsing liquid: Liquid syntax error: 'if' tag was never closed

This is the code


      {% if parameters.select_timeframe_advanced._parameter_value == "ytd" %}
        CASE
          WHEN ${order_date} BETWEEN DATE_TRUNC(DATE_TRUNC(${parameters.selected_reference_date_default_today_advanced_raw}, YEAR), MONTH) AND DATE_TRUNC(${parameters.selected_reference_date_default_today_advanced_raw}, DAY)
            THEN ${selected_dynamic_timeframe_advanced}
          WHEN ${order_date} BETWEEN DATE_TRUNC(DATE_TRUNC(DATE_SUB(${parameters.selected_reference_date_default_today_advanced_raw}, INTERVAL 1 YEAR), YEAR), MONTH) AND DATE_TRUNC(DATE_SUB(${parameters.selected_reference_date_default_today_advanced_raw}, INTERVAL 1 YEAR), MONTH)
            THEN ${selected_dynamic_timeframe_advanced}
          ELSE NULL
        END
        {% else %}
               {% if parameters.select_timeframe_advanced._parameter_value == 'week' %}
        {% if parameters.select_comparison._parameter_value == "year" %}
             CASE
            WHEN DATE_TRUNC(${order_raw},  {% parameter parameters.select_timeframe_advanced %}(Monday)) = DATE_TRUNC(${parameters.selected_reference_date_default_today_advanced_raw}, {% parameter parameters.select_timeframe_advanced %}(Monday))
              THEN ${selected_dynamic_timeframe_advanced}
            WHEN DATE_TRUNC(${order_raw},  {% parameter parameters.select_timeframe_advanced %}(Monday)) = DATE_TRUNC(DATE_SUB(${parameters.selected_reference_date_default_today_advanced_raw}, INTERVAL 1 YEAR), {% parameter parameters.select_timeframe_advanced %}(Monday))
              THEN ${selected_dynamic_timeframe_advanced}
            ELSE NULL
          END
        {% elsif parameters.select_comparison._parameter_value == "period" %}
              CASE
            WHEN DATE_TRUNC(${order_raw},  {% parameter parameters.select_timeframe_advanced %}(Monday)) = DATE_TRUNC(${parameters.selected_reference_date_default_today_advanced_raw}, {% parameter parameters.select_timeframe_advanced %}(Monday))
              THEN ${selected_dynamic_timeframe_advanced}
            WHEN DATE_TRUNC(${order_raw},  {% parameter parameters.select_timeframe_advanced %}(Monday)) = DATE_TRUNC(DATE_SUB(${parameters.selected_reference_date_default_today_advanced_raw}, INTERVAL 1 {% parameter parameters.select_timeframe_advanced %}(Monday)), {% parameter parameters.select_timeframe_advanced %}(Monday))
              THEN ${selected_dynamic_timeframe_advanced}
            ELSE NULL
          END
        {% else %}
        {% if parameters.select_comparison._parameter_value == "year" %}
          CASE
            WHEN DATE_TRUNC(${order_raw},  { parameters parameters.select_timeframe_advanced._parameter_value }) = DATE_TRUNC(${parameters.selected_reference_date_default_today_advanced_raw}, {% parameter parameters.select_timeframe_advanced %})
              THEN ${selected_dynamic_timeframe_advanced}
            WHEN DATE_TRUNC(${order_raw},  {% parameter parameters.select_timeframe_advanced %}) = DATE_TRUNC(DATE_SUB(${parameters.selected_reference_date_default_today_advanced_raw}, INTERVAL 1 YEAR), {% parameter parameters.select_timeframe_advanced %})
              THEN ${selected_dynamic_timeframe_advanced}
            ELSE NULL
          END
        {% elsif parameters.select_comparison._parameter_value == "period" %}
          CASE
            WHEN DATE_TRUNC(${order_raw},  {% parameter parameters.select_timeframe_advanced %}) = DATE_TRUNC(${parameters.selected_reference_date_default_today_advanced_raw}, {% parameter parameters.select_timeframe_advanced %})
              THEN ${selected_dynamic_timeframe_advanced}
            WHEN DATE_TRUNC(${order_raw},  {% parameter parameters.select_timeframe_advanced %}) = DATE_TRUNC(DATE_SUB(${parameters.selected_reference_date_default_today_advanced_raw}, INTERVAL 1 {% parameter parameters.select_timeframe_advanced %}), {% parameter parameters.select_timeframe_advanced %})
              THEN ${selected_dynamic_timeframe_advanced}
            ELSE NULL
          END
      {% endif %}
    {% endif %}
  {% endif %}``` 

1 Answers

You have 4 if statements and only 3 endif's causing the issue

There is an additional if on line 10 of

{% if parameters.select_timeframe_advanced._parameter_value == 'week' %}

that looks out of place

Related