Skip to content

Commit 8b989c8

Browse files
authored
Handle measures SQL generation where for measures columns with reserved characters in the name (#1363)
* Include measures columns even when they contain reserved character sequences * Change logic to handle cases where there is a _DOT_ in the measure column name
1 parent 8fd9d39 commit 8b989c8

File tree

1 file changed

+10
-6
lines changed
  • datajunction-server/datajunction_server/construction

1 file changed

+10
-6
lines changed

datajunction-server/datajunction_server/construction/build_v2.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -194,13 +194,17 @@ async def get_measures_query(
194194
parent_ast.select.projection = [
195195
expr
196196
for expr in parent_ast.select.projection
197-
if from_amenable_name(expr.alias_or_name.identifier(False)).split( # type: ignore
198-
SEPARATOR,
199-
)[-1]
200-
in parents_to_measures[parent_node.name]
201-
or from_amenable_name(expr.alias_or_name.identifier(False)) # type: ignore
202-
in dimensions_without_roles
197+
if (
198+
(identifier := expr.alias_or_name.identifier(False))
199+
and (
200+
from_amenable_name(identifier).split(SEPARATOR)[-1]
201+
in parents_to_measures[parent_node.name]
202+
or identifier in parents_to_measures[parent_node.name]
203+
or from_amenable_name(identifier) in dimensions_without_roles
204+
)
205+
)
203206
]
207+
204208
await refresh_if_needed(session, parent_node.current, ["columns"])
205209
parent_ast = rename_columns(parent_ast, parent_node.current, preaggregate)
206210

0 commit comments

Comments
 (0)