Sql 将SSRS中的负值转换为零

Sql 将SSRS中的负值转换为零,sql,sql-server,reporting-services,Sql,Sql Server,Reporting Services,在设计报告时,如何将SSRS中的负值转换为零 Example in preview: -2 Outcome in preview: 0, but actually mean 0 我可以选择“-2”所在的文本框,并将其属性格式化为“0”,但“0”后面的值仍然是“-2”。我需要“0”实际上是“0”的值 使用表达式,例如 =IIF(Fields!YourField.Value < 0, 0, Fields!YourField.Value) =IIF(Fields!YourField.Va

在设计报告时,如何将SSRS中的负值转换为零

 Example in preview: -2
 Outcome in preview: 0, but actually mean 0
我可以选择“-2”所在的文本框,并将其属性格式化为“0”,但“0”后面的值仍然是“-2”。我需要“0”实际上是“0”的值

使用表达式,例如

=IIF(Fields!YourField.Value < 0, 0, Fields!YourField.Value)
=IIF(Fields!YourField.Value<0,0,Fields!YourField.Value)
对于您的具体示例:

=IIF(Fields!NetDischarges.Value < Fields!ApptKeptWithin7days.Value, 0, Fields!NetDischarges.Value-Fields!ApptKeptWithin7days.Value)
=IIF(Fields!NetDischarges.Value
您可以修改查询,将日期差作为计算字段返回,如下所示:

SELECT NetDischarges, ApptKeptWithin7days, 
  CASE WHEN NetDischarges < ApptKeptWithin7days THEN 0 ELSE NetDischarges - ApptKeptWithin7days END AS DaysDifference
FROM MyTable
选择NetDispositions,ApptKeptwithin7天,
如果7天内净排放量

然后使用表中的
DaysDifference
字段。

您可以修改数据集以实现这一点是的,我尝试过,但它仍然认为它是-2。这是我的密码=领域!nets.Value-Fields!APPTKEPTwithin7天。值。。。这适用于我报告中的每件事,但这一个例子除外。净流量为0,7天内的ApptKeptWith为2。所以答案是我的问题。@RMM你是说:
=iiffelds!nets.Value-Fields!apptkeptwithin7天。值<0,0,字段!nets.Value-Fields!apptkeptwithin7天。Value)
不起作用?正确!我的总值和百分比没有反映变化。例如,我必须在一个总和文本框中添加一个值5,该值为0,该总和仍然显示为3,而不是0。@RMM那么您不需要在一个文本框中更改它,正如我在前面的评论中所说,您需要更改数据集您必须在“需要更改数据集”部分更具体。