Allow an entity to be a dimension and a fact in the same star schema in a data mart to enable simple joins for point-in-time data analysis
When managing the data marts, an entity can be selected as a fact in a star schema, but the same entity cannot be selected as a dimension in that star schema to be related to the fact.
It would be beneficial for data modeling and end-user querying for point-in-time data analysis to enable an entity to be a fact and dimension in the same star schema (and thereby be linked to each other). This would enable the _VID column in the table join columns to be present on the fact table in addition to the dimension table, and enable point-in-time data analysis.
Typically, the fact table will have columns used for metric calculations, date values, and foreign key columns (_OID and _VID suffixed) to dimension tables, and a dimension table will have descriptive attribute columns in a Type 2 Slowly Changing Dimension. In Qlik Compose, it appears the fact and dimension table relationships are driven from the entity model relationships, and the physical fact and dimension tables will have two key columns joining the tables with an _OID and _VID suffix.
This join between the fact and the dimension physical tables using the _VID suffixed column is crucial for simple joins to see the dimension record version (in Type 2 SCD) as-at the time of the fact event record. This would be consistent with fact tables joined to a Type 2 SCD of a different entity.
Even if the entity is selected as a dimension in another star schema, that dimension cannot be added to the star schema with the entity as the fact.
Star Schema 1: Entity1 as Fact 1Fct_Entity1
Star Schema 2: Entity2 as Fact 1Fct_Entity2; Entity1 as Dimension 1Dim_Entity1 related to 1Fct_Entity2
1Dim_Entity1 cannot be added to Star Schema 1 using the 'Add Dimension to Star Schema' function in the 'Manage Data Marts' window. (refer to attachment screenshot)
If the entity exists as a dimension, the fact and the dimension share the key_OID column so it is possible to query and join the two tables in a query, but only to see the latest version of the dimension record, not the version of the dimension record as-at the time of the fact; the fact table lacks the key_VID column to provide an easy join for 'point-in-time' linkage to the dimension.