From 73afb3c628be4c9aa363734ef6e147f56a9a03c8 Mon Sep 17 00:00:00 2001 From: Arkadiusz Komarzewski Date: Mon, 15 Jul 2024 17:33:23 +0200 Subject: [PATCH] Rename `event` to `full_event_name` in `events_stream` views --- generator/views/lookml_utils.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/generator/views/lookml_utils.py b/generator/views/lookml_utils.py index e4a37c4e..4c85e2ed 100644 --- a/generator/views/lookml_utils.py +++ b/generator/views/lookml_utils.py @@ -117,6 +117,16 @@ def _generate_dimensions(client: bigquery.Client, table: str) -> List[Dict[str, """ dimensions = {} for dimension in _generate_dimensions_helper(client.get_table(table).schema): + # Rename `event` field in `events_stream` to `full_event_name` to expose it in Looker views. + # This is required since `event_timestamp` is renamed to `event` in `_get_dimension` and takes precedence below. + if ( + table.endswith(".events_stream") + and dimension["name"] == "event" + and dimension["type"] == "string" + ): + # `event` field contains concatenated event category and name + dimension["name"] = "full_event_name" + name = dimension["name"] # overwrite duplicate "submission", "end", "start" dimension group, thus picking the # last value sorted by field name, which is submission_timestamp @@ -197,7 +207,6 @@ def _generate_nested_dimension_views( views = views + _generate_nested_dimension_views( field.fields, f"{view_name}__{field.name}" ) - return views