AX 2012 Computed column IIF語句使用

涉及Dynamics ax 行業已經好幾年了,準備總結一些有用的處理方法供你們來參考server

首先先介紹下Computed column技術,該技術是微軟在AX2012版本中提供的新技術,能夠讓SQL語句在AX view中使用,這樣就能夠將想要的值拼接在一條交易記錄上,這樣就能夠針對數據進行批量處理,因此想要報表處理速度快,儘可能使用批量處理。blog

首先介紹IIF SQL語句應該怎麼寫,以下string

//當合計科目是C1開頭時,金額要取反
static server str CurrencyAmount()
{
    #define.viewName('Test_CustLedgerTransView') // 追加Computed column字段View
    #define.dataSourceName('Test_CompanyBULedgerTrans') // 此處是在view中字段屬性的數據源
    str expresion;
    ;
   
    expresion = @"iif(substring(%1, 1, 2) = 'C1', %2, %2 * (-1))"; // 此處IIF語句是SQL 語句寫法
    expresion = strFmt(expresion,
        SysComputedColumn::returnField(#viewName,
            #dataSourceName,
            fieldStr(Test_CompanyBULedgerTrans, MainAccountId)),
        SysComputedColumn::returnField(#viewName,
            #dataSourceName,
            fieldStr(Test_CompanyBULedgerTrans, AccountingCurrencyAmount)));
    return expresion;
}   

 上方方法如今view\Methods下追加,以後再Fields節點下追加Real Computed字段,設置viewMethod選爲上方方法,並設置擴展類型便可,在SQL Server中查詢該View,你會發現該View多了一個字段,而且該字段是計算出來的。io

相關文章
相關標籤/搜索