Fixed macro

This commit is contained in:
Joaquin Ossa 2025-01-24 14:17:29 +01:00
parent e4d19b85e8
commit 720185f235
3 changed files with 68 additions and 56 deletions

View file

@ -0,0 +1,20 @@
/*
This macro caps a given value between a specified bottom and top limit,
returning `NULL` if the input value is `NULL`.
It uses the `LEAST` and `GREATEST` SQL functions to enforce the caps while
preserving the `NULL` values in the input.
Parameters:
- `value`: The value to be capped.
- `cap_bottom`: The minimum limit for the value.
- `cap_top`: The maximum limit for the value.
*/
{% macro return_capped_value(value, cap_bottom, cap_top) %}
CASE
WHEN {{ value }} IS NULL THEN NULL
ELSE LEAST({{ cap_top }}, GREATEST({{ cap_bottom }}, {{ value }}))
END
{% endmacro %}