我只想在SSRS报告中隐藏具有零数量的行。 有以下多个数量列,如开仓股票,调度总额,转出,出售数量,库存调整和结算股票等。 我正在使用以下表达式执行此任务。
=IIF(Fields!OpeningStock.Value=0 AND Fields!GrossDispatched.Value=0 AND
Fields!TransferOutToMW.Value=0 AND Fields!TransferOutToDW.Value=0 AND
Fields!TransferOutToOW.Value=0 AND Fields!NetDispatched.Value=0 AND Fields!QtySold.Value=0
AND Fields!StockAdjustment.Value=0 AND Fields!ClosingStock.Value=0,True,False)
但是,通过在行可见性中使用此表达式,报告会隐藏除Totals Row之外的所有行。即使报告应显示具有上述列数量的行。 总值显示正确。
注意:我在Detail Row上设置了此行可见性表达式。
不使用表达式结果如下。
对于前2行,所有数量都是0(ZERO),我想隐藏这2行。
如何解决此问题或必须使用哪个表达式来获取所需的结果?
先谢谢你的帮助。
答案 0 :(得分:11)
你可以尝试一下吗?
=IIF((Fields!OpeningStock.Value=0) AND (Fields!GrossDispatched.Value=0) AND
(Fields!TransferOutToMW.Value=0) AND (Fields!TransferOutToDW.Value=0) AND
(Fields!TransferOutToOW.Value=0) AND (Fields!NetDispatched.Value=0) AND (Fields!QtySold.Value=0)
AND (Fields!StockAdjustment.Value=0) AND (Fields!ClosingStock.Value=0),True,False)
注意:将Hidden设置为False会使行可见
答案 1 :(得分:3)
你根本不需要IIF()。无论如何,比较都会返回真或假。
此外,由于此行可见性位于组行上,因此请确保在字段中使用与在行中的字段中使用相同的聚合函数。因此,如果您的组行显示总和,那么您将其放入隐藏属性。
=Sum(Fields!OpeningStock.Value) = 0 And
Sum(Fields!GrossDispatched.Value) = 0 And
Sum(Fields!TransferOutToMW.Value) = 0 And
Sum(Fields!TransferOutToDW.Value) = 0 And
Sum(Fields!TransferOutToOW.Value) = 0 And
Sum(Fields!NetDispatched.Value) = 0 And
Sum(Fields!QtySold.Value) = 0 And
Sum(Fields!StockAdjustment.Value) = 0 And
Sum(Fields!ClosingStock.Value) = 0
但是对于上面的版本,如果一个记录的值为1,一个记录的值为-1,而其他记录的值为零,则sum也为零,并且该行可以隐藏。如果那不是你想要的,你可以写一个更复杂的表达式:
=Sum(
IIF(
Fields!OpeningStock.Value=0 AND
Fields!GrossDispatched.Value=0 AND
Fields!TransferOutToMW.Value=0 AND
Fields!TransferOutToDW.Value=0 AND
Fields!TransferOutToOW.Value=0 AND
Fields!NetDispatched.Value=0 AND
Fields!QtySold.Value=0 AND
Fields!StockAdjustment.Value=0 AND
Fields!ClosingStock.Value=0,
0,
1
)
) = 0
这实际上是一种计算任何字段不为零的行数的奇特方式。如果组中的每一行的每个字段都为零,则表达式返回true并隐藏该行。
答案 2 :(得分:0)
这是一个应该给你一些想法的例子..
=IIF(First(Fields!Gender.Value,"vw_BrgyClearanceNew")="Female" and
(First(Fields!CivilStatus.Value,"vw_BrgyClearanceNew")="Married"),false,true)
我认为你必须确定数据来源的数据源名称或表名。