我想使用 dbt 迭代所有列。
您可以使用内置的
adapter
包装器和 adapter.get_columns_in_relation:
{% for col in adapter.get_columns_in_relation(ref('<<your model>>')) -%}
... {{ col.column }} ...
{% endfor %}
我认为 dbt-utils 包中的星号宏 + 一些 for 循环逻辑可能对您有帮助?这取决于您正在使用的确切用例和仓库(如评论中指出的)。
star 宏在提供的表中生成列列表。
因此,一种可能的方法是:
{% for col in adapter.get_columns_in_relation(ref('my_model')) }}] %}
...operation...
{% endfor %}