diff --git a/generator/views/lookml_utils.py b/generator/views/lookml_utils.py index e4a37c4e..9b9c6014 100644 --- a/generator/views/lookml_utils.py +++ b/generator/views/lookml_utils.py @@ -117,6 +117,11 @@ 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": + 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 +202,6 @@ def _generate_nested_dimension_views( views = views + _generate_nested_dimension_views( field.fields, f"{view_name}__{field.name}" ) - return views