|
|
#11 |
|
MCTS
|
Например, вот анализируется поле EnumItemValue из датасорса MSKOLAP_FactTypeView представления MSKOLAP_FactSalesView и выбирается соответвующее ему значение из Map amountMap
X++: public static server str getAmountFactType1() { #macrolib.MSKOLAP Map amountMap = new Map(Types::String, Types::String); amountMap.insert(#cLiteral(MSKOlapFactType::Qty), #cField(MSKOLAP_FactSalesAllDiscView, CustInvoiceTrans, Qty)); amountMap.insert(#cLiteral(MSKOlapFactType::Retail), MSKOLAP_FactSalesAllDiscView::amount()); amountMap.insert(#cLiteral(MSKOlapFactType::Sale), MSKOLAP_FactSalesAllDiscView::amountSales()); amountMap.insert(#cLiteral(MSKOlapFactType::Purch), MSKOLAP_FactSalesAllDiscView::amountPurch()); return #cSwitch(#cComparisonField(MSKOLAP_FactSalesView, MSKOLAP_FactTypeView, EnumItemValue), amountMap, #cLiteral(0)); } X++: #localmacro.cField
SysComputedColumn::returnField(tableStr(%1), identifierStr(%2), fieldStr(%2, %3))
#endmacro
#localmacro.cFieldL
SysComputedColumn::returnField(tableStr(%1), identifierStr(%2), fieldStr(%3, %4))
#endmacro
#localmacro.cAdd
SysComputedColumn::add(%1, %2)
#endmacro
#localmacro.cMultiply
SysComputedColumn::multiply(%1, %2)
#endmacro
#localmacro.cSubtract
SysComputedColumn::subtract(%1, %2)
#endmacro
#localmacro.cLiteral
SysComputedColumn::returnLiteral(%1)
#endmacro
#localmacro.cSwitch
SysComputedColumn::switch(%1, %2, %3)
#endmacro
#localmacro.cComparisonField
SysComputedColumn::comparisonField(tableStr(%1), identifierStr(%2), fieldStr(%2, %3))
#endmacro
#localmacro.cComparisonFieldL
SysComputedColumn::comparisonField(tableStr(%1), identifierStr(%2), fieldStr(%3, %4))
#endmacro
#localmacro.cIf
SysComputedColumn::if(%1, %2, %3)
#endmacro
#localmacro.cEqual
SysComputedColumn::equalExpression(%1, %2)
#endmacro
#localmacro.cCast
SysComputedColumn::cast(%1, %2)
#endmacro
#localmacro.isNullExpr
SysComputedColumn::isNullExpression(%1)
#endmacro
__________________
I could tell you, but then I would have to bill you. |
|
|
| Теги |
| olap, ssas, кубы |
|
|
|