Dimension Value Descriptions in Dynamics AX
I have been asked a few times to retrieve the description along with the value of a particular dimension in Dynamics AX. For example, in AX go to a sales order and select a sales line, below the lines grid expand the Line details fast tab and click on the Financial dimensions fast tab.
Often times in reports or forms, you want to see not just OU_241 but also the descriptive name of a particular dimension, in this case Projects. While this example is based on a sales order it applies to many different transaction types in AX.
To retrieve the descriptive name you can do the following:
- Find the DefaultDimension value saved on the line. On every transaction line I have seen there is a field called DefaultDimension. It stores the combination of dimension values saved on that line.
2. With the DefaultDimension field retrieve the DefaultDimensionView. You can use a query similar to this one:
DefaultDimensionView dimensionView; DimensionAttribute dimensionAttribute; select firstOnly dimensionView where dimensionView.DefaultDimension == _dimensionDefault //DefaultDimension saved on the SalesLine table join dimensionAttribute where dimensionView.Name == dimensionAttribute.Name && dimensionView.Name == _dimensionName; //Name of the dimension to retrieve. For the example above it would be Department
3. With the DimensionView find the corresponding DimensionAttribute:
DimensionAttribute dimAttribute; dimAttribute = DimensionAttribute::find(dimensionView.DimensionAttributeId);
4. With the DimensionAttribute retrieve the descriptive name from the DimensionFinancialTag table: