在SSRS中划分图表中的值

时间:2016-04-27 13:33:11

标签: sql sql-server reporting-services

我尝试在SSRS中创建一个报告。

enter image description here

enter image description here

这显示了我的数字。我希望看到百分比。我必须划分以获得这些Countername与Produced部分的百分比。而这些产品与其他conter名称在同一个表中。

我的查询:

var constants =  {
   const_1: 0,
   const_2: 1,
   const_3: 2,
}

如果我将副手与生产分开:

SELECT *
    FROM (
    Select  
        tsystem.Name as Name, 
        CounterName,
        calculationUnitsInitial,
        Sum(case when CounterName = 'Produziert' then calculationUnitsInitial else 0 end) as Produced

from IntervalCount inner join tsystem ON IntervalCount.systemid = tsystem.id
    where IntervalDate >= @StartDate And IntervalDate <= @EndDate 
    and  tsystem.ID in  (Select SystemID from tSystemViewSystem where SystemViewID in ('2', '3', '4', '5'))     
    and tsystem.Name = @Maschine    
    and CounterName in ('1', '2', '3', '4', '5', '6', '7')
    group by tsystem.Name, OeeCounterName, calculationUnitsInitial 
    ) as s

这不会在我的图表中显示任何栏: enter image description here

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:0)

首先,这个IIF声明的目的是什么?为什么不在SQL中抑制0?

iif(Fields!calculationUnitsInitial.Value=0 OR Fields!ProduzierteTampons.Value=0,0,

尝试更改此设置,然后执行以下操作:

在水平轴属性中,您应该能够更改数字 - &gt;下显示的数字的格式。百分比。

单击确定,看看这是否能为您提供所需的结果。

enter image description here

答案 1 :(得分:0)

快速建议...尝试修改你的iif声明

=iif(Fields!calculationUnitsInitial.Value=0 OR Fields!ProduzierteTampons.Value=0,0, 100.0* (Sum(Fields!calculationUnitsInitial.Value)/Sum(Fields!ProduzierteTampons.Value))

分频和乘法的顺序可能会给出一个接近于零的非常小的数字。