Microsoft Dynamics 365 provides end-users with a robust set of tools to easily access, review, and relate their data. It also gives customizers an incredible amount of flexibility when it comes to configuring the system, especially with the Power Platform. Dynamics includes several components that are hidden away, even to system customizers. One of these components, logical columns (or fields, prior to the terminology change with the release of the Power Platform), are difficult to locate and can be even more troublesome when trying to troubleshoot dependency errors.
What is a logical column?
Put simply, logical columns in Dynamics 365 are used by the system to reference data. These columns are not visible outright to an app user or to a customizer in Power Apps. Furthermore, these columns are not editable or visible in a solution’s XML data (assuming the column is included in the solution).
For example, say we create a lookup column called Test Lookup on the Account table, and this column looks up to a contact row on the Contact table. When our lookup column is created, a relationship to both the Account and Contact tables are also created, and it appears to us at least that we now only have a single column in Power Apps:
But, alas, we have actually created a few additional columns: the related logical columns. These additional columns allow us to see the data in the lookup column not as a GUID, but as human-readable text, and it is this human-readable text that is displayed to the end-user on a form or in a view.
Accessing a logical column
Dynamics logical columns are difficult to access and, as of this writing, require the use of third-party tools
such as XrmToolBox’s Metadata Browser. We can leverage the Metadata Browser to dive into a table’s columns, and from here we can observe all of the properties that a lookup column has, including its related logical columns.
Here, we can see the Test Lookup column we created has two related additional columns, btg_testlookupName and btg_testlookupYomiName, each an attribute of the Test Lookup column. If we look closer at the metadata… (