Microsoft_MVP_banner

Computed columns in Views – Dynamics AX 2012

Computed columns have been using in SQL server since many versions but this feature was available Dynamics AX since version 2012. Follow steps described here to learn how to create view and walthrough the complete example to understand how can we add computed columns in AX 2012 Views. More examples can be found from here; http://daxmusings.codecrib.com/2011/10/computed-view-columns-in-ax-2012.html  Well, here is an example which illustrates how can we add computed columns in a view with different logic. Computed column; Returning Field in View public static server str compAmount() { #define.CompView(SWProjForecastCost) #define.CompDS(ProjForecastCost) #define.CostPrice(CostPrice)    return SysComputedColumn::returnField(tableStr(#CompView), identifierStr(#CompDS), fieldStr(#CompDS, #CostPrice)); } Computed column; Converting UTC Date to Date in View public static server str compDate() { #define.CompView(SWProjForecastCost) #define.CompDS(ProjForecastCost) #define.ActualDateTime(ActualDateTime) str sDateTime; sDateTime = SysComputedColumn::returnField(tableStr(#CompView), identifierStr(#CompDS), fieldStr(#CompDS, #ActualDateTime));    return SysComputedColumn::fromUtcDateToDate(sDateTime); } Computed column; Returning Enum Value in View public static server str compGeneralTransType() {    return SysComputedColumn::returnLiteral(Transaction::ProjectInvoice); } Computed column; Multiplying two coulmns and returning resultant from View private static server str compTotalCostPrice() { #define.CompView(SWProjForecastCost)    #define.CompDS(ProjForecastCost)    #define.QtyCol(Qty) #define.PriceCol(CostPrice)    return SysComputedColumn::multiply( SysComputedColumn::returnField( tableStr(#CompView), identifierStr(#CompDS), fieldStr(#CompDS, #PriceCol)           ), SysComputedColumn::returnField( tableStr(#CompView), identifierStr(#CompDS), fieldStr(#CompDS, #QtyCol)            )         ); } Computed column; Case Statement in View public static server str TransType() { #define.CompDS(ProjForecastCost) #define.CompView(SWProjForecastCost)    str ret;    str ModelId = SysComputedColumn::returnField(identifierStr(SWProjForecastCost), identifierStr(ProjForecastCost), identifierStr(ModelId));    ret = “case ” + modelId +          ” when ‘Sales’ then ‘Forecast Sales’ ” +          ” when ‘Orders’ then ‘Forecast Orders’ ” +          ” when ‘Latest’ then ‘Forecast Latest’ ” +          ” end”;    return ret; } Case Statement for this view looks like in SQL server as below;    CASE T2.MODELID       WHEN ‘Sales’ THEN ‘Forecast Sales’       WHEN ‘Orders’ THEN ‘Forecast Orders’       WHEN ‘Latest’ THEN ‘Forecast Latest’ END Till next post Happy Daxing 🙂

FaisalFareed@2025. All rights reserved

Design by T3chDesigns