Please note this issue likely only applies to very early Looker customers. Even in those cases it’s likely that LookML models have since been modified to avoid any problems.
Early in the development of LookML fields were not scoped with their view. When scoping was added to Looker we added some automatic field aliasing to ease the transition. This aliasing is being removed in release 3.52.
This change is associated with the Add Unscoped Field Name Alias legacy feature (for more details see the Legacy Features docs page). By default, this feature is checked, which means that no change in behavior will occur. After you make adjustments for the new behavior, un-check this legacy feature and click the Update Legacy Features button.
Old Behavior
In old LookML models, fields were not scoped according to their view. This required users to name fields uniquely across their model, like this:
- view: users
fields:
- dimension: users_name
…
Calling this dimension name
could conflict with another dimension called name
in another view.
In saved Looks, such a field would appear as users_name
in the URL.
New Behavior
When scoping was introduced the view name became part of the field name. In the example above, the field would now be called users.users_name
in the Look URL. This meant that users only had to name fields uniquely within a view, and not across the entire model.
Implication
When this change in behavior occurred the Look Validator did not yet exist, so there was no way to fix saved Looks in bulk. In order to prevent users from having to re-save every single Look, we automatically aliased all old style fields with the new style. For example, whenever Looker found users_name
in a URL, it would alias it as users.name
.
This automatic aliasing is now being removed. This means that if you still have any old Looks with the old field name style, they will no longer function. You can use the Look Validator to fix them before disabling this feature.