我遇到的问题是 SQL Server Reporting Services 不喜欢 Sum(First()) 表示法。它只允许 Sum() 或 First()。
我正在创建对帐报告的上下文。IE。我们在一个时期开始时有什么袜子,订购了什么以及我们在结束时有什么库存。
类型、产品、客户、起始库存 (SAS)、订购数量、结束库存 (SAE) 出口,1,1,100,5,90 出口,1,2,100,5,90 国内,2,1,200,10,150 国内,2,2,200,20,150 国内,2,3,200,30,150
我按类型分组,然后按产品分组并列出购买该产品的客户。我想显示 SAS、Ordered Qty 和 SAE 的总数,但如果我对 SAS 或 SAE 进行求和,则产品 1 和 2 的值分别为 200 和 600,而产品 1 和 2 应该分别为 100 和 200。
我以为我可以做一个 Sum(First()) 但 SSRS 抱怨我不能在聚合中包含聚合。
理想情况下,SSRS 需要一个 Sum(Distinct())
到目前为止的解决方案
1. 不要将“开始时的库存”和“结束时的库存”显示为总数的一部分。
2. 直接在报表中写一些代码来进行计算。试过这个 - 没有像我预期的那样工作。3. 编写程序集进行计算。(这个没试过)
编辑 - 问题澄清
问题源于这实际上是两个报告合并为一个(如我所见)。一份生产报告和一份销售报告。
该报告试图解决这些标准
- 我们卖给的市场(出口,国内)
- 我们有多少库存,
- 生产了多少,
- 卖了多少钱,
- 我们把它卖给了谁,
- 我们还剩下多少。
复杂的因素是我们把它卖给了谁。没有它,它会相对容易。但包括它意味着其他顶线数据(开始时的库存和结束时的库存)与销售的东西无关,除了特定的产品。