gpt4 book ai didi

reporting-services - 如何在 SSRS 中检查值是否为数字

转载 作者:行者123 更新时间:2023-12-02 05:05:05 25 4
gpt4 key购买 nike

我正在 SSRS 中创建报告。我的数据集查询返回多个输出,我在报告中的每一行新记录中显示它们。

这是查询。现在我想检查返回值是否为数字。这是我的表达方式。

=Join(LookupSet(Fields!QuestionId.Value, Fields!QuestionID.Value, 
Fields!ScalarValue.Value, "myResponse"), Constants.VbCrLf)

我尝试处理 IIF(isnumeric ...),但由于它返回多个结果,因此不允许我进行格式化。如果输出是数字,我想格式化这两个 2 小数。

最佳答案

IsNumeric 在这里很有用,但 IIf 的问题是它不会短路,因此如果您正在转换数据,您可能会遇到错误。

例如,如果您使用 CDec 允许将数字格式应用于字符串,它将在所有情况下应用并在字符串不是数字时抛出错误。

执行此操作的安全方法是创建一个简单的自定义代码函数来处理格式并在 LookupSet 表达式中使用它。

因此向报告中添加一些自定义代码,例如:

Public Function FormattedString(ByVal st as String) as String

If IsNumeric(st)

Return Format(CDec(st), "N2")

End If

Return st

End Function

并更改您的表达式以使用这个新的 FormattedString 函数:

=Join(LookupSet(Fields!QuestionId.Value, Fields!QuestionID.Value, 
Code.FormattedString(Fields!ScalarValue.Value), "myResponse"), Constants.VbCrLf)

我针对以下数据进行了测试:

enter image description here

具有上述表达式的简单表格看起来符合要求:

enter image description here

所以它对我来说适用于混合数据 - 您可以根据需要更改自定义代码中的格式化逻辑。

关于reporting-services - 如何在 SSRS 中检查值是否为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16397787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com