GitHub user dosubot[bot] added a comment to the discussion: Jinja macro fails 
to extract data from column-contained SQL string

<!-- Answer -->
You can't pass a column value to a Jinja macro in Superset because Jinja macros 
are evaluated before the SQL is sent to the database, during the template 
rendering phase. At that point, only static values or template parameters are 
available—actual column data is not accessible yet. That's why your macro works 
with hardcoded strings but fails with column references like `t.sql`—the macro 
receives the literal string `'t.sql'`, not the value from each row.

If you need to extract information from SQL strings stored in a column, you'll 
need to do it using SQL functions or database-side logic (like a PostgreSQL 
function or UDF), or by exporting the data and processing it externally. This 
limitation is fundamental to how Superset and Jinja templating work and is 
consistent across SQL Lab and dataset queries 
[[source](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/jinja_context.py)].

For more details, see the related discussion and code references:
- [Jinja macros are evaluated before SQL execution, so they can't access column 
values](https://github.com/apache/superset/issues/33591)
- [Superset Jinja template rendering 
lifecycle](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/sqllab/query_render.py)


<!-- Dosu Comment Footer -->
*To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*

---
<sup>How did I do? 
[Good](https://app.dosu.dev/response-feedback/c96b567f-64df-4c4a-958b-ed0bc76e8b1d?feedback_type=great_response)
 | 
[Irrelevant](https://app.dosu.dev/response-feedback/c96b567f-64df-4c4a-958b-ed0bc76e8b1d?feedback_type=irrelevant_answer)
 | 
[Incorrect](https://app.dosu.dev/response-feedback/c96b567f-64df-4c4a-958b-ed0bc76e8b1d?feedback_type=incorrect_sources)
 | 
[Verbose](https://app.dosu.dev/response-feedback/c96b567f-64df-4c4a-958b-ed0bc76e8b1d?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/c96b567f-64df-4c4a-958b-ed0bc76e8b1d?feedback_type=hallucination)
 | [Report 
🐛](https://app.dosu.dev/response-feedback/c96b567f-64df-4c4a-958b-ed0bc76e8b1d?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/c96b567f-64df-4c4a-958b-ed0bc76e8b1d?feedback_type=other)</sup>&nbsp;&nbsp;[![Join
 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Sh
 are on 
X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/discussions/34234)

GitHub link: 
https://github.com/apache/superset/discussions/34234#discussioncomment-13816735

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to