在我的SSRS报告中,当连续的PolStockCode为空或空字符串时,我希望我的查询中的PolDiscountPerc文本框变为空白,但是如果PolStockCode包含值,则格式化PolDiscountPerc文本框以将其显示为百分比。
abstract class Animal
{
public string Name { get; set; }
public Animal(string name)
{
Name = name;
}
}
class Dog : Animal
{
public Dog(string name)
: base(name)
{
}
}
class Cat : Animal
{
public Cat(string name)
: base(name)
{
}
}
abstract class Furniture
{
public int Height { get; set; }
public Furniture(int height)
{
Height = height;
}
}
class Chair : Furniture
{
public Chair(int height)
: base(height)
{
}
}
class TallDog : Animal
{
public int Height { get; set; }
public TallDog(string name, int height)
: base(name)
{
Height = height;
}
}
以下查询的问题在于,它或者不执行任何操作,或者为表中的每一行将文本框设置为空白,尽管它们中的大多数都包含PolStockCode。我哪里出错?
答案 0 :(得分:0)
is
只能用于与nothing
进行比较。你需要使用=
。
=IIF(IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value = "", "",(Format(Fields!PolDiscountPerc.Value, "0.00") & "%"))
答案 1 :(得分:0)
您可以将is
移至=
并将表达式设为单个()
来尝试。
=IIF
(
(IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value = "")
, ""
,(Format(Fields!PolDiscountPerc.Value, "0.00") & "%")
)
或者您可以在外部格式化百分比:
=IIF
(
(IsNothing(Fields!PolStockCode.Value) or Fields!PolStockCode.Value = "")
, ""
,Fields!PolDiscountPerc.Value)
)
答案 2 :(得分:0)
我完全忘记了这是数据库中的nchar字段,它不会是一个空字符串。
因此这解决了我的问题
=IIF((IsNothing(Fields!PolPMStockCode.Value) or Len(Trim(Fields!PolPMStockCode.Value)) = 0), "", Fields!PolDiscountPerc.Value)