Say you have two datasets that you wish to join together, “Dataset1” and “Dataset2”, but the datasets share a field name (not necessarily the field used to join the dataset together, and could contain wildly different data). Say this field is called “SimilarField”. In the new dataset created from the two original datasets, there will be a field called “SimilarField” and another field called “SimilarField[Dataset2]” to represent the field with the same name. Sometimes it would instead have “SimilarField” and “SimilarField[Dataset1]”; I’ve not worked out which field Quicksight will take as priority.
The issue that this creates is it’s often difficult to tell which parent dataset a field is from. Well, naturally you’d assume that if you’ve got SimilarField and SimilarField[Dataset2], then the first field will be from Dataset1. But this gets harder to determine when you’ve got 4-5 or even more datasets all joined together, and only some of them have a SimilarField. This is especially the case for Author users who only have User access to the child dataset, so can’t verify what fields each parent dataset has.
A bigger, but more niche issue that this gives, is say you have two datasets, ChildDataset1 and ChildDataset2, where ChildDataset1 is made from joining Dataset1 and Dataset2, and ChildDataset2 is made from joining Dataset3 and Dataset4. Dataset1 and Dataset3 have identical fields, and so do Dataset2 and Dataset4, but the queries are filtered differently. However, ChildDataset1 has fields called SimilarField and SimilarField[Dataset2], and ChildDataset2 has fields called SimilarField and SimilarField[Dataset3]. To clarify:
- SimilarField on ChildDataset1 is from Dataset1.
- SimilarField[Dataset2] on ChildDataset1 is from Dataset2.
- SimilarField[Dataset3] on ChildDataset2 is from Dataset3.
- SimilarField on ChildDataset2 is from Dataset4.
SimilarField (from Dataset1) and SimilarField[Dataset3] are pulling the same kind of data, as areSimilarField (from Dataset4) and SimilarField[Dataset2], but the two pairs of fields are pulling very different data (for the sake of argument, it’s the same datatype, but different values than you’d expect).
If I had an analysis built from ChildDataset1 using SimilarField, saved it as a new analysis, and replaced ChildDataset1 for ChildDataset2, it would map without error, but SimilarField on ChildDataset1 would map to SimilarField on ChildDataset2, where I would prefer it to map to SimilarField[Dataset3]. Since there is no verification step when the fields map without error, a user could overlook this incorrect mapping easily and clone the report erroneously.
I believe this issue would be fixed if every SimilarField specified its parent dataset, for instance, if in the example, ChildDataset1 ha s SimilarField[Dataset1] and SimilarField[Dataset2], rather than one of them having an unspecified name. The only issue I can see from this would be with field name displays (e.g., if a table has SimilarField with no renaming, and it one day just changed to SimilarField[Dataset1], it may look unappealing). This could be solved by renaming each changed field to what it originally was in the visual, or what may be a lot easier, to only apply this change to new datasets.