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:
DimensionFinancialTag::findByFinancialTagCategoryAndValue(dimAttribute.financialTagCategory(), dimensionView.DisplayValue).Description;
Under the terms of this license, you are authorized to share and redistribute the content across various mediums, subject to adherence to the specified conditions: you must provide proper attribution to Stoneridge as the original creator in a manner that does not imply their endorsement of your use, the material is to be utilized solely for non-commercial purposes, and alterations, modifications, or derivative works based on the original material are strictly prohibited.
Responsibility rests with the licensee to ensure that their use of the material does not violate any other rights.