axapta2009:在特定日期对inventtrans求和,按维度筛选

axapta2009:在特定日期对inventtrans求和,按维度筛选,axapta,dynamics-ax-2009,Axapta,Dynamics Ax 2009,我需要计算在特定日期具有特定物理维度[inventTransPosting.Dimension]的InvnetTrans的总和。也就是说,我需要模拟 select sum(CostAmountPosted) //other sums from InventTrans where InventTrans.transDate < 3\3\2010 exists join InventTransPosted where InventTransPosted.di

我需要计算在特定日期具有特定物理维度[inventTransPosting.Dimension]的InvnetTrans的总和。也就是说,我需要模拟

select sum(CostAmountPosted) //other sums
     from InventTrans 
     where  InventTrans.transDate  < 3\3\2010
exists join InventTransPosted 
    where InventTransPosted.dimension[1] == 'XXX'
       && InventTransPosted.inventTransId == inventTrans.inventTransId
       && //other relations
选择总和(CostAmountPosted)//其他总和
来自Inventrans
其中InventTrans.transDate<3\3\2010
存在连接和转置
其中InventTransPosted.dimension[1]=“XXX”
&&InventTransPosted.inventTransId==inventTrans.inventTransId
&&//其他关系
可以使用InventSum*类通过InventDim过滤InvenTrans来计算InvenTrans sum。 是否可能以某种方式按非维度进行过滤? 或者有必要更改InventSum*类?
现在我看不到inventSum*类可以按维度过滤。也许我错过了一些课程?

看一下现有的
InventOnHand
课程

它根据项目id和库存维度(但不是财务维度)等标准对现有价值进行汇总


有几种构造函数方法可以
InventOnhand
命名new,比如
newInventBatch

,您可以在
InventTransPosted
表上冗余地存储
amountPosted
,然后创建相关索引

在现有交易中填写
amountPosted
,可能会有问题

值得吗?
或者您可以使用BI工具进行报告吗?

重新组织您的选择:

select sum(CostAmountPosted) //other sums
     from InventTrans 
exists join InventTransPosting
    where InventTransPosting.dimension[1] == 'XXX'
       && InventTransPosting.transDate  < 3\3\2010
       && InventTransPosting.inventTransId == inventTrans.inventTransId
       && InventTransPosting.itemId == inventTrans.itemId
       && //other relations
选择总和(CostAmountPosted)//其他总和
来自Inventrans
存在连接和转置
其中InventTransPosting.dimension[1]=“XXX”
&&InventTransPosting.transDate<3\3\2010
&&InventTransPosting.inventTransId==inventTrans.inventTransId
&&InventTransPosting.itemId==inventTrans.itemId
&&//其他关系

维度[1]
作为第一个索引字段,将
转换日期
作为第二个索引字段,对InventTransPosting进行相关索引。

维度
字段中不存储“物理维度”。
维度
存储财务维度。不幸的是,它看起来没有什么帮助。看来我别无选择,只能对所有inventrans求和:inventSum根本没有维度[]的链接,因此无法从inventSum中减去inventTrans。