我使用以下表达式计算出一个百分比:
=Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name")
Run Code Online (Sandbox Code Playgroud)
Days.Value显示为0但是在我的一些结果中,而不是在我的百分比列中读取0%,它实际上是在读取NaN(非数字).
有没有人知道我需要的确切表达论坛,我应该把它粘贴在我当前的表达式中,说"NaN正在显示哪里,改为'0'?"
(见图)
expression iif-function nan reporting-services ssrs-expression
是否可以为RDLC字段后面的表达式编写扩展方法?
例如,假设我的数据源中有一个DateTime字段,该字段可能具有有效值,也可能为null.我将TextBox拖放到我的RDLC上,并使用ToShortDateString()方法格式化其值.这适用于填充的DateTime值,但如果我尝试在NULL字段上执行.ToShortDateString(),这显然也会在运行时抛出异常.
我想知道我是否可以编写一个可以在我的RDLC表达式中使用的扩展方法,这样当我处理?DateTime值时,我可以调用类似.ConvertFromNullToEmptyString()的方法.
当然还有其他方法可以解决这个问题,但我想知道在RDLC表达式中使用的扩展方法是否可能是解决我的业务问题的方法.
谢谢大家!
我想写一个"Expression"基本上表现如下(伪代码)的Reporting Services ...
if ([Fields!StateProvinceId.Value] == 1)
{
return "Ontario";
}
else if ([Fields!StateProvinceId.Value] == 2)
{
return "Quebec";
}
else if ([Fields!StateProvinceId.Value] == 3)
{
return "Manitoba";
}
// ...
// more cases same pattern
Run Code Online (Sandbox Code Playgroud)
我没有看到这种类型的逻辑我必须嵌套一堆IIF吗?
=IIF(Fields!StateProvinceId.Value = 1, "Ontario", IIF(Fields!StateProvinceId.Value = 2, "Quebec", IFF(Fields!StateProvinceId.Value = 3, "Manitoba", "Unknown Province")))
Run Code Online (Sandbox Code Playgroud) 在其中一个列名中,我需要显示昨天的日期,如 - September 4,2014
我用DateAdd("d",-1,Today())功能来显示,但它显示为 - 9/4/2014 12:00:00 AM.
我怎样才能得到上述格式 - monthname,dd,YYYY?
我使用以下表达式来获取SSRS中表的行号:
=RunningValue(CountDistinct("Table1"),Count,"Table1")
Run Code Online (Sandbox Code Playgroud)
我还使用行可见性属性的表达式.让我们说可见性表达式是
=IIf(Fields!MyField.Value + Fields!MyField.Value <> 0, False, True)
Run Code Online (Sandbox Code Playgroud)
我对行号的表达式不考虑该行是否可见.
我显然可以更改我的数据集查询,但是可以只更改我的行号表达式以仅包含未隐藏的行吗?谢谢
hidden expression row-number reporting-services ssrs-expression
值1是零售价小数值2是2个零售成本之间的差值都是小数
=IIF(Fields!Prorated.Value is null,"",Fields!Prorated.Value)-Fields!Retail.Value fixxed !!!
Run Code Online (Sandbox Code Playgroud)
Fixxed ^^
=IIF(IsNothing(Fields!Prorated.Value),"",(Fields!Prorated.Value-Fields!CurrentRetailPrice.Value)/Fields!Prorated.Value)
Run Code Online (Sandbox Code Playgroud)
失败^^这个显示为%差异
这没有用于解决这个问题的另一种方式
我在水晶报告公式中有下面的行,这意味着如果字符串conversion失败,它将打印##.
CStr({rptReport;1.Total},"##")
Run Code Online (Sandbox Code Playgroud)
现在,问题是我如何才能实现这一目标SSRS Expression.
我在显示/隐藏基于所选参数值的列时遇到问题。
如何设置我的报告:参数:ImportStatus --ImportStatus参数具有三个值,您可以选择:M,V,E
如果我选择ImportStatus value ='M',那么我希望报告显示特定列。
当前,如果我转到要显示/隐藏的列的“列可见性”屏幕,则可以为所有值而不是特定值隐藏列。任何想法如何正确地做到这一点?
我的表情:
=IIF(Parameters!ImportStatus.Value = "M",true,false)
Run Code Online (Sandbox Code Playgroud) 我正努力在SSRS中使用表达式.
我有一个存储在Oracle数据库中的地址块,带有回车符.
一个例子是存储在数据库中的数据是:
123 Anywhere Street<CR><LF>
SOMETOWN-ON-SEA<CR><LF>
NARNIA<CR><LF>
AA1 1AA<CR><LF>
Run Code Online (Sandbox Code Playgroud)
我在SSRS中的字段上创建了一个表达式,如下所示:
=Replace(Fields.Address, vbCRLF, " ")
Run Code Online (Sandbox Code Playgroud)
看起来像是正确的事情,但我最终得到的是:
123 Anywhere StreetSOMETOWN-ON-SEANARNIAAA1 1AA
Run Code Online (Sandbox Code Playgroud)
我告诉它添加的空间是怎么做的?他们为什么不在那里?
注意:好的,所以是的,我可以在PL/SQL中做这个替换的东西,是的,这将解决我的问题,但这不是真正重点.我想知道为什么它不适用于SSRS
sql-server oracle reporting-services ssrs-2012 ssrs-expression
如果列中的所有行都为空(空白),我需要隐藏列.
在这种情况下col3应该隐藏,因为列中没有值.
col1 col2 col3
v1 v4
v2
v3
Run Code Online (Sandbox Code Playgroud)
我在columns Hidden属性上使用以下表达式:
=IIF(Fields!Test5.Value = "",TRUE,FALSE)
这个表达式工作,但它隐藏了每个空白(空)字段,甚至所有列都不为空.只有在根本没有值时才应该隐藏列.
ssrs-expression ×10
expression ×3
ssrs-2008 ×3
ssrs-2012 ×2
hidden ×1
iif-function ×1
nan ×1
oracle ×1
parameters ×1
rdlc ×1
row-number ×1
sql-server ×1