def to_lookml()

in generator/views/ping_view.py [0:0]


    def to_lookml(self, v1_name: Optional[str], dryrun) -> Dict[str, Any]:
        """Generate LookML for this view."""
        view_defn: Dict[str, Any] = {"name": self.name}

        # use schema for the table where channel=="release" or the first one
        table = next(
            (table for table in self.tables if table.get("channel") == "release"),
            self.tables[0],
        )["table"]

        dimensions = self.get_dimensions(table, v1_name, dryrun=dryrun)

        # set document id field as a primary key for joins
        view_defn["dimensions"] = [
            d if d["name"] != "document_id" else dict(**d, primary_key="yes")
            for d in dimensions
            if not lookml_utils._is_dimension_group(d)
        ]
        view_defn["dimension_groups"] = [
            d for d in dimensions if lookml_utils._is_dimension_group(d)
        ]

        # add measures
        view_defn["measures"] = self.get_measures(dimensions, table, v1_name)

        [project, dataset, table_id] = table.split(".")
        table_schema = dryrun.create(
            project=project,
            dataset=dataset,
            table=table_id,
        ).get_table_schema()
        nested_views = lookml_utils._generate_nested_dimension_views(
            table_schema, self.name
        )

        # Round-tripping through a dict to get an ordered deduped list.
        suggestions = list(
            dict.fromkeys(
                _table["channel"] for _table in self.tables if "channel" in _table
            )
        )

        if len(suggestions) > 1:
            view_defn["filters"] = [
                {
                    "name": "channel",
                    "type": "string",
                    "description": "Filter by the app's channel",
                    "sql": "{% condition %} ${TABLE}.normalized_channel {% endcondition %}",
                    "default_value": suggestions[0],
                    "suggestions": suggestions,
                }
            ]

        view_defn["sql_table_name"] = f"`{table}`"

        return {"views": [view_defn] + nested_views}