Nat*_*her 5 sql-server reportingservices-2005 reporting-services
我遇到的问题是SQL Server Reporting Services不喜欢Sum(First())表示法.它只允许Sum()或First().
上下文
我正在创建对帐报告.即.什么袜子我们有一个时期的开始,订购什么和我们最后有什么股票.
Type,Product,Customer,Stock at Start(SAS), Ordered Qty, Stock At End (SAE) Export,1,1,100,5,90 Export,1,2,100,5,90 Domestic,2,1,200,10,150 Domestic,2,2,200,20,150 Domestic,2,3,200,30,150
我按类型分组,然后选择产品并列出购买该产品的客户.我想显示SAS,Ordered Qty和SAE的总数,但如果我在SAS或SAE上做了总和,那么当产品1和2分别为100和200时,我得到的值分别为200和600.
我认为我可以做一个Sum(First())但是SSRS抱怨我不能在聚合中有一个聚合.
理想情况下SSRS需要一个Sum(Distinct())
迄今为止的解决方案
1.不要将开始时的库存和最后的库存显示为总计的一部分.
2.直接在报告中编写一些代码来进行计算.尝试过这个 - 没有按照我的预期工作.3.编写程序集进行计算.(没试过这个)
编辑 - 问题澄清
问题源于这样的事实,即实际上两个报告合并为一个(我看到它).生产报告和销售报告.
该报告试图解决这些标准
复杂因素是我们将它卖给谁.不管怎样,它本来就很容易.但包括它意味着其他顶线数字(开始时的库存和最后的库存)与销售的产品无关,而不是特定的产品.
我有一个类似的问题,最后在我的查询中使用ROW_NUMBER为行值提供一个整数,然后使用SUM(IIF(myRowNumber = 1,myValue,0)).
当我开始工作并提供更多数据时,我会对此进行编辑,但认为这可能足以让您入门.我对阿道夫的解决方案也很好奇.
写一个子查询。
理想情况下 SSRS 需要 Sum(Distinct())
重写您的查询以正确执行此操作。
我怀疑你的问题是你编写的查询得到了错误的结果,或者你的表设计得很糟糕。在不了解您要做什么的情况下,我无法告诉您如何解决它,但它有一种不好的“气味”。
| 归档时间: |
|
| 查看次数: |
5595 次 |
| 最近记录: |