使用什么语法将 {{ from_dttm }} 和 {{ to_dttm }} Jinja 变量解析为自定义 SQL 查询中的日期时间对象?
What syntax to use for parsing {{ from_dttm }} and {{ to_dttm }} Jinja variables as datetime objects in Custom SQL queries?
问题:如何正确格式化{{ from_dttm }}
和{{ to_dttm }}
default Jinja variables,使它们在datetime
中被解析为对象Apache Superset 自定义 SQL 指标?
MWE: 假设我想显示我在仪表板中使用的数据所涵盖的时间范围是什么——时间范围过滤器会影响什么。
为了示例,我使用 public.birth_names
演示数据集。
所以我创建了一个 BigNumber 图表,具有以下自定义指标:
age(
{% if from_dttm is not none %}
'{{ from_dttm }}'
{% else %}
min(ds)
{% endif %}
,
{% if to_dttm is not none %}
'{{ to_dttm }}'
{% else %}
max(ds)
{% endif %}
)
但是,如果我将 Jinja 变量格式化为:
{{ from_dttm }}
,我得到:
Error: syntax error at or near "{"
LINE 1: SELECT age({{ from_dttm }} , '{{ to_dttm }}') AS "age(
'{{ from_dttm }}'
, 我得到
Error: invalid input syntax for type timestamp with time zone: "{{ from_dttm }}"
LINE 1: SELECT age('{{ from_dttm }}'
"{{ from_dttm }}"
, 我得到
Error: column "{{ from_dttm }}" does not exist
LINE 1: SELECT age("{{ from_dttm }}" ,
我在 5ae7e5499
使用 Superset(2022 年 3 月 25 日最新提交),使用 PostgreSQL 作为后端数据库引擎。
问题:如何正确格式化{{ from_dttm }}
和{{ to_dttm }}
default Jinja variables,使它们在datetime
中被解析为对象Apache Superset 自定义 SQL 指标?
MWE: 假设我想显示我在仪表板中使用的数据所涵盖的时间范围是什么——时间范围过滤器会影响什么。
为了示例,我使用 public.birth_names
演示数据集。
所以我创建了一个 BigNumber 图表,具有以下自定义指标:
age(
{% if from_dttm is not none %}
'{{ from_dttm }}'
{% else %}
min(ds)
{% endif %}
,
{% if to_dttm is not none %}
'{{ to_dttm }}'
{% else %}
max(ds)
{% endif %}
)
但是,如果我将 Jinja 变量格式化为:
{{ from_dttm }}
,我得到:
Error: syntax error at or near "{"
LINE 1: SELECT age({{ from_dttm }} , '{{ to_dttm }}') AS "age(
'{{ from_dttm }}'
, 我得到
Error: invalid input syntax for type timestamp with time zone: "{{ from_dttm }}"
LINE 1: SELECT age('{{ from_dttm }}'
"{{ from_dttm }}"
, 我得到
Error: column "{{ from_dttm }}" does not exist
LINE 1: SELECT age("{{ from_dttm }}" ,
我在 5ae7e5499
使用 Superset(2022 年 3 月 25 日最新提交),使用 PostgreSQL 作为后端数据库引擎。