diff --git a/mitm_tooling/extraction/sql/data_models/virtual_view.py b/mitm_tooling/extraction/sql/data_models/virtual_view.py
index 0a56d21f15468d6d327897efbd4c520289333a1e..44131a8a8b6d3721141fe158f78477b31737a828 100644
--- a/mitm_tooling/extraction/sql/data_models/virtual_view.py
+++ b/mitm_tooling/extraction/sql/data_models/virtual_view.py
@@ -42,7 +42,7 @@ class VirtualView(VirtualViewBase):
         return cls(table_meta=tm, from_clause=from_clause, sa_table=virtual_table)
 
     def as_compiled(self, dialect: sa.Dialect) -> 'CompiledVirtualView':
-        compiled = self.from_clause.select().compile(dialect=dialect, compile_kwargs={"literal_binds": True})
+        compiled = self.from_clause.select().compile(dialect=dialect, compile_kwargs={'literal_binds': True, 'render_postcompile': True})
         contains_binds = len(compiled.binds) > 0
         tm = self.table_meta
         if contains_binds:
diff --git a/mitm_tooling/transformation/superset/definition_bundles.py b/mitm_tooling/transformation/superset/definition_bundles.py
index 8e42b248d5111d4add3e5ed6311f43fa0a725f27..b87ab4346d2fd677c0961e91a4decfb2ccbbc3a9 100644
--- a/mitm_tooling/transformation/superset/definition_bundles.py
+++ b/mitm_tooling/transformation/superset/definition_bundles.py
@@ -26,7 +26,7 @@ class SupersetDatasourceBundle(SupersetAssetBundle):
 
     @property
     def placeholder_dataset_identifiers(self) -> dict[TableName, DatasourceIdentifier]:
-        return {ds.table_name: DatasourceIdentifier(dataset_uuid=ds.uuid) for ds in self.datasets}
+        return {ds.table_name: DatasourceIdentifier(uuid=ds.uuid) for ds in self.datasets}
 
     def to_import(self) -> SupersetAssetsImport:
         return mk_assets_import(databases=[self.database], datasets=self.datasets)
diff --git a/mitm_tooling/transformation/superset/definitions/core.py b/mitm_tooling/transformation/superset/definitions/core.py
index c53eeda10142a8b076f2a832bc43a37b5023e601..3a31bdab39258d1fb1701dcc70d8077bc626ead5 100644
--- a/mitm_tooling/transformation/superset/definitions/core.py
+++ b/mitm_tooling/transformation/superset/definitions/core.py
@@ -4,24 +4,24 @@ from mitm_tooling.representation import ColumnName
 from .constants import *
 
 
-class SupersetPostProcessing(pydantic.BaseModel, ABC):
-    @pydantic.computed_field()
-    @property
-    def operation(self) -> str:
-        raise NotImplementedError()
-
-
 class DatasourceIdentifier(FrozenSupersetDefinition):
     id: SupersetId = -1 # -1 as a placeholder
     type: Literal['table', 'annotation'] = 'table'
 
-    dataset_uuid: StrUUID = pydantic.Field(exclude=True)
+    uuid: StrUUID = pydantic.Field(exclude=False)
 
     @property
     def datasource_uid(self):
         return f'{self.id}__{self.type}'
 
 
+class SupersetPostProcessing(pydantic.BaseModel, ABC):
+    @pydantic.computed_field()
+    @property
+    def operation(self) -> str:
+        raise NotImplementedError()
+
+
 class SupersetColumn(FrozenSupersetDefinition):
     column_name: str
     verbose_name: str | None = None
diff --git a/mitm_tooling/transformation/superset/definitions/mitm_dataset.py b/mitm_tooling/transformation/superset/definitions/mitm_dataset.py
index 4a259eb649e341838924b337f5d8777bae5fc42b..5c5ff6197b4fe7f338a77d7b1537dac2eb3c1aa4 100644
--- a/mitm_tooling/transformation/superset/definitions/mitm_dataset.py
+++ b/mitm_tooling/transformation/superset/definitions/mitm_dataset.py
@@ -4,17 +4,26 @@ from mitm_tooling.transformation.superset.definitions import SupersetDefFile, St
     SupersetId
 
 
+class MitMDatasetIdentifier(BaseSupersetDefinition):
+    dataset_name: str
+    id: SupersetId | None = None
+    uuid: StrUUID | None = None
+
+
 class RelatedTable(BaseSupersetDefinition):
-    table_id : SupersetId | None = None
-    table_uuid : StrUUID
+    table_id: SupersetId | None = None
+    table_uuid: StrUUID
+
 
 class RelatedSlice(BaseSupersetDefinition):
-    slice_id : SupersetId | None = None
-    slice_uuid : StrUUID
+    slice_id: SupersetId | None = None
+    slice_uuid: StrUUID
+
 
 class RelatedDashboard(BaseSupersetDefinition):
-    dashboard_id : SupersetId | None = None
-    dashboard_uuid : StrUUID
+    dashboard_id: SupersetId | None = None
+    dashboard_uuid: StrUUID
+
 
 class SupersetMitMDatasetDef(SupersetDefFile):
     uuid: StrUUID
diff --git a/mitm_tooling/transformation/superset/factories/generic_charts.py b/mitm_tooling/transformation/superset/factories/generic_charts.py
index 3f8973dc71828f3234aa44557519823766296a3b..f615919dbaa9a34aee985df89b8a059380986ca9 100644
--- a/mitm_tooling/transformation/superset/factories/generic_charts.py
+++ b/mitm_tooling/transformation/superset/factories/generic_charts.py
@@ -26,7 +26,7 @@ def mk_pie_chart(name: str, datasource_identifier: DatasourceIdentifier, col: Co
 
     return mk_chart_def(name=name,
                         viz_type=SupersetVizType.PIE,
-                        dataset_uuid=datasource_identifier.dataset_uuid,
+                        dataset_uuid=datasource_identifier.uuid,
                         params=params,
                         query_context=qc)
 
@@ -64,7 +64,7 @@ def mk_time_series_bar_chart(name: str,
 
     return mk_chart_def(name=name,
                         viz_type=SupersetVizType.TIMESERIES_BAR,
-                        dataset_uuid=datasource_identifier.dataset_uuid,
+                        dataset_uuid=datasource_identifier.uuid,
                         params=params,
                         query_context=qc)
 
@@ -101,6 +101,6 @@ def mk_avg_count_time_series_chart(name: str,
 
     return mk_chart_def(name=name,
                         viz_type=SupersetVizType.TIMESERIES_LINE,
-                        dataset_uuid=datasource_identifier.dataset_uuid,
+                        dataset_uuid=datasource_identifier.uuid,
                         params=params,
                         query_context=qc)
diff --git a/mitm_tooling/transformation/superset/from_intermediate.py b/mitm_tooling/transformation/superset/from_intermediate.py
index 29123bf6c5a86fe00247d4cd41357ad6a52d6257..d3b8615885855ddfdbeb1b86dff6582e8fad095e 100644
--- a/mitm_tooling/transformation/superset/from_intermediate.py
+++ b/mitm_tooling/transformation/superset/from_intermediate.py
@@ -1,6 +1,7 @@
 from mitm_tooling.representation import Header
 
 from .common import SupersetDBConnectionInfo
+from .definitions.mitm_dataset import MitMDatasetIdentifier
 from .definition_bundles import SupersetDatasourceBundle, SupersetMitMDatasetBundle, SupersetVisualizationBundle
 from .mitm_specific import get_mitm_visualization_factory
 
@@ -20,12 +21,12 @@ def header_into_superset_visualization_bundle(header: Header,
 
 def header_into_superset_mitm_dataset_bundle(header: Header,
                                              db_conn_info: SupersetDBConnectionInfo,
-                                             dataset_name: str,
+                                             dataset_identifier: MitMDatasetIdentifier,
                                              include_visualizations: bool = False) -> SupersetMitMDatasetBundle:
     from ..sql.from_intermediate import header_into_db_meta
     from .from_sql import db_meta_into_mitm_dataset_bundle
     db_meta = header_into_db_meta(header)
-    mitm_dataset_bundle = db_meta_into_mitm_dataset_bundle(db_meta, db_conn_info, dataset_name, header.mitm)
+    mitm_dataset_bundle = db_meta_into_mitm_dataset_bundle(db_meta, db_conn_info, dataset_identifier, header.mitm)
     if include_visualizations:
         mitm_dataset_bundle.visualization_bundle = header_into_superset_visualization_bundle(header,
                                                                                              mitm_dataset_bundle.datasource_bundle)
diff --git a/mitm_tooling/transformation/superset/from_sql.py b/mitm_tooling/transformation/superset/from_sql.py
index 93b6bf05712c0e0cb917b254b4dcad7d462ffd67..1751e7d701be464b7f0bf78f3266896faa3d8a4f 100644
--- a/mitm_tooling/transformation/superset/from_sql.py
+++ b/mitm_tooling/transformation/superset/from_sql.py
@@ -2,6 +2,7 @@ from mitm_tooling.extraction.sql.data_models import DBMetaInfo
 from mitm_tooling.extraction.sql.data_models.db_meta import DBMetaInfoBase
 from mitm_tooling.extraction.sql.db import connect_and_reflect
 from .common import SupersetDBConnectionInfo
+from .definitions.mitm_dataset import MitMDatasetIdentifier
 from .common import _mk_engine, SQLiteFileOrEngine
 from .definition_bundles import SupersetDatasourceBundle, SupersetMitMDatasetBundle
 from .factories.database import mk_database
@@ -29,11 +30,11 @@ def db_meta_into_superset_datasource_bundle(db_meta: DBMetaInfoBase,
 
 def db_meta_into_mitm_dataset_bundle(db_meta: DBMetaInfoBase,
                                      db_conn_info: SupersetDBConnectionInfo,
-                                     dataset_name: str,
+                                     dataset_identifier: MitMDatasetIdentifier,
                                      mitm: MITM) -> SupersetMitMDatasetBundle:
     datasource_bundle = db_meta_into_superset_datasource_bundle(db_meta, db_conn_info)
     db_uuid = datasource_bundle.database.uuid
-    mitm_dataset = mk_mitm_dataset(dataset_name, mitm, db_uuid)
+    mitm_dataset = mk_mitm_dataset(dataset_identifier.dataset_name, mitm, db_uuid, uuid=dataset_identifier.uuid)
     return SupersetMitMDatasetBundle(mitm_dataset=mitm_dataset, datasource_bundle=datasource_bundle)
 
 
@@ -49,9 +50,9 @@ def db_into_superset_datasource_bundle(arg: SQLiteFileOrEngine,
 
 def db_into_mitm_dataset_bundle(arg: SQLiteFileOrEngine,
                                 db_conn_info: SupersetDBConnectionInfo,
-                                dataset_name: str,
+                                dataset_identifier: MitMDatasetIdentifier,
                                 mitm: MITM) -> SupersetMitMDatasetBundle:
     datasource_bundle = db_into_superset_datasource_bundle(arg, db_conn_info)
     db_uuid = datasource_bundle.database.uuid
-    mitm_dataset = mk_mitm_dataset(dataset_name, mitm, db_uuid)
+    mitm_dataset = mk_mitm_dataset(dataset_identifier.dataset_name, mitm, db_uuid, uuid=dataset_identifier.uuid)
     return SupersetMitMDatasetBundle(mitm_dataset=mitm_dataset, datasource_bundle=datasource_bundle)
diff --git a/mitm_tooling/transformation/superset/interface.py b/mitm_tooling/transformation/superset/interface.py
index 048e6169977a5d29c547a7da9f09268def448b61..85204be5e3028c6e88905cea145917040db7cd04 100644
--- a/mitm_tooling/transformation/superset/interface.py
+++ b/mitm_tooling/transformation/superset/interface.py
@@ -4,6 +4,7 @@ from mitm_tooling.transformation.superset.definition_bundles import SupersetData
 from mitm_tooling.transformation.superset.from_intermediate import header_into_superset_mitm_dataset_bundle
 from mitm_tooling.transformation.superset.from_intermediate import header_into_superset_visualization_bundle
 from .common import SupersetDBConnectionInfo
+from .definitions.mitm_dataset import MitMDatasetIdentifier
 from .from_intermediate import header_into_superset_datasource_bundle
 
 
@@ -16,6 +17,6 @@ def mk_superset_visualization_bundle(header: Header,
     return header_into_superset_visualization_bundle(header, superset_datasource_bundle)
 
 
-def mk_superset_mitm_dataset_bundle(dataset_name: str, header: Header, db_conn_info: SupersetDBConnectionInfo,
+def mk_superset_mitm_dataset_bundle(header: Header, dataset_identifier: MitMDatasetIdentifier, db_conn_info: SupersetDBConnectionInfo,
                                     include_visualizations: bool = False) -> SupersetMitMDatasetBundle:
-    return header_into_superset_mitm_dataset_bundle(header, db_conn_info, dataset_name=dataset_name)
+    return header_into_superset_mitm_dataset_bundle(header, db_conn_info, dataset_identifier, include_visualizations=include_visualizations)
diff --git a/pyproject.toml b/pyproject.toml
index 9289a99b6acf4069243729e2e9d87abd802c591a..afd4e4307c00efe2b246d2dbf62d44af8e214e89 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "mitm-tooling"
-version = "0.4.4"
+version = "0.4.5"
 description = ""
 authors = ["Leah Tacke genannt Unterberg <leah.tgu@pads.rwth-aachen.de>"]
 readme = "README.md"
diff --git a/test/something.py b/test/something.py
index 26100fd75ec554929fc560646fd4f98b48766f86..cd58d9c592f87cc60b93f4c3dd8f8403ee7fa369 100644
--- a/test/something.py
+++ b/test/something.py
@@ -4,6 +4,7 @@ import unittest
 from pydantic import AnyUrl
 
 from mitm_tooling.transformation.superset.common import name_plus_uuid, SupersetDBConnectionInfo
+from mitm_tooling.transformation.superset.definitions.mitm_dataset import MitMDatasetIdentifier
 
 
 class MyTestCase(unittest.TestCase):
@@ -65,7 +66,9 @@ class MyTestCase(unittest.TestCase):
         from mitm_tooling.io import importing, MITM
         syn = importing.read_zip('synthetic.maed', MITM.MAED, header_only=True)
         from mitm_tooling.transformation.superset import mk_superset_mitm_dataset_bundle, write_superset_import_as_zip
-        dataset_import = mk_superset_mitm_dataset_bundle(name_plus_uuid('SyntheticExampleDataset'), syn.header,
+        dataset_import = mk_superset_mitm_dataset_bundle(syn.header,
+                                                         MitMDatasetIdentifier(
+                                                             dataset_name=name_plus_uuid('SyntheticExampleDataset')),
                                                          SupersetDBConnectionInfo(
                                                              sql_alchemy_uri=AnyUrl(
                                                                  'sqlite://synthetic-variation.sqlite'),
@@ -77,7 +80,9 @@ class MyTestCase(unittest.TestCase):
         from mitm_tooling.io import importing, MITM
         syn = importing.read_zip('synthetic.maed', MITM.MAED, header_only=True)
         from mitm_tooling.transformation.superset import mk_superset_mitm_dataset_bundle, write_superset_import_as_zip
-        dataset_import = mk_superset_mitm_dataset_bundle(name_plus_uuid('SyntheticExampleDataset'), syn.header,
+        dataset_import = mk_superset_mitm_dataset_bundle(syn.header,
+                                                         MitMDatasetIdentifier(
+                                                             dataset_name=name_plus_uuid('SyntheticExampleDataset')),
                                                          SupersetDBConnectionInfo(
                                                              sql_alchemy_uri=AnyUrl(
                                                                  'sqlite://synthetic-variation.sqlite'),