Axapta 2009 AOT报告

Axapta 2009 AOT报告,axapta,dynamics-ax-2009,ax,Axapta,Dynamics Ax 2009,Ax,目前我在一个报告部门工作。在这方面,我有一个疑问 在我的报告中,一个字段上有3个表。我想根据我在联接查询中使用的公共字段筛选数据。只需在特定字段上使用一个范围即可。如果对“关系”节点中的字段进行相等联接,则将范围放在哪个表上并不重要 例如: select inventTable where inventTable.ItemId == "000100" join inventTrans where inventTrans.ItemId == inventTable.I

目前我在一个报告部门工作。在这方面,我有一个疑问


在我的报告中,一个字段上有3个表。我想根据我在联接查询中使用的公共字段筛选数据。

只需在特定字段上使用一个范围即可。如果对“关系”节点中的字段进行相等联接,则将范围放在哪个表上并不重要

例如:

select inventTable
     where inventTable.ItemId == "000100"
     join inventTrans
     where inventTrans.ItemId == inventTable.ItemId 
     join inventTransPosting
     where inventTransPosting.ItemId == inventTrans.ItemId &&
           inventTransPosting.Voucher == inventTrans.Voucher &&
           inventTransPosting.TransDate == inventTrans.TransDate &&                                
           inventTransPosting.InventTransId == inventTrans.InventTransId
{
    ....
}
在此查询中,您最好使用:

where inventTransPosting.ItemId == "000100"

在顶级数据源上为要筛选的字段创建一个新范围。这将为报告创建一个参数,用于过滤数据。如果在报表上正确设置了联接,则应过滤数据集,使其仅包含包含选定值的记录。

如果可能,请更具体地说明查询,将其写入X++或SQL查询。过滤是按范围进行的,无论是否存在关系。你有什么问题?请陈述您的问题。谢谢您的回复,实际上我的问题是我正在做AX 2009的报告。在本报告中,我使用三个表来检索数据,其中我有一个公共字段Yes,但您的查询将有一个公共字段,如上面的
ItemId
。如果你想得到问题的答案,你必须更清楚地描述你的问题。