SSRS聚合表达式,从每行中表示的值中获取列的总和

时间:2015-11-19 17:06:42

标签: reporting-services ssrs-2008 aggregate-functions reportingservices-2005 ssrs-tablix

我必须准备一份报告,列出被调查到Sale的百分比。 但我们希望%为=或<超过100%

=IIF(
Sum(Fields!Sold.Value)/SUM(Fields!Enquired.Value)>1,1,
IIF(Sum(Fields!Sold.Value)=0,"",
Sum(Fields!Sold.Value)/SUM(Fields!Enquired.Value))
)

并且售出的值为=或<询问价值。

=IIF(
Sum(Fields!Sold.Value) > SUM(Fields!Enquired.Value),
SUM(Fields! Enquired.Value),
IIF(Sum(Fields! Sold.Value)=0,"",Sum(Fields! Sold.Value))
)

所以我使用了这里包含的表达来实现这个目标。

问题是,当我得到总数时,它仍然显示实际的已售出总和 我的意思是, 我们希望总数显示为50而不是51 %显示为96%而不是98%。

是否以及如何做到这一点的任何建议。 谢谢。 如果不清楚,我不知道怎么称呼这个请求赦免。

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为你为自己创造的生活比用你目前制定的方程式完全必要。

首先,如果我们重新考虑您的要求,那么如果Sold大于Enquired,请使用Enquired值,否则使用Sold值。这可以表示为

=iif(Fields!Sold.Value > Fields!Enquired.Value, 
    Fields!Enquired.Value,
    Fields!Sold.Value)  <-- This will be the GREEN <Expr> below

然后计算此产品的百分比,然后您应该在Sold / Inquired列中使用此计算,如下所示

=iif(Fields!Sold.Value > Fields!Enquired.Value, 
    Fields!Enquired.Value,
    Fields!Sold.Value)
 /Fields!Enquired.Value  <-- This will be the PURPLE <Expr> below

要确定售出物品的总和,我们需要确定售出值或询问值的总和,如下所示

=Sum(iif(Fields!Sold.Value>Fields!Enquired.Value,
    Fields!Enquired.Value,
    Fields!Sold.Value))  <-- This will be the RED <Expr> below

最后,您希望通过将此值除以Inquired值的总和来确定百分比,因此最终表达式需要

=Sum(iif(Fields!Sold.Value>Fields!Enquired.Value,
    Fields!Enquired.Value,
    Fields!Sold.Value))
/ sum(Fields!Enquired.Value)  <-- This will be the BLUE <Expr> below

这将提供一个这样的设计

enter image description here

运行时会输出

enter image description here

希望这是您需要的输出。如果我能进一步帮助,请告诉我。