【问题标题】:Look Up not working as expected in SSRS expression查找在 SSRS 表达式中未按预期工作
【发布时间】:2020-04-10 04:17:24
【问题描述】:
我在 Visual Studio 2012 的 rdl 中有 2 个列表形式的数据集(共享点)。
我的两个数据集中都有BranchCode 列作为公共列。在我的报告中的一个 tablix 中,我正在编写一个表达式,用于从 dataset1 中查找 BranchCode 和 dataset2 的 BranchCode。如果是真的,那么我希望它从 dataset2 中检索相应的 BranchCost 值。
我可以编写查找表达式,但最终的 o/p 只是一个空白值。有人可以帮我解决这个问题吗?
【问题讨论】:
标签:
sharepoint
reporting-services
expression
lookup
【解决方案1】:
我总是建议在表达式中转换你的数据类型。
所以你应该有这样的东西:
=LOOKUP(Fields!BranchCode.Value, Fields!BranchCode.Value, Fields!BranchCost.Value, "DataSet2")
您将使用 VB.NET 函数将您的值转换为相同的值。常见的例子是 CSTR() - 字符串、CINT() - int 和 CDEC() -decimal
=LOOKUP(CSTR(Fields!BranchCode.Value), CSTR(Fields!BranchCode.Value), Fields!BranchCost.Value, "DataSet2")
如果它是一个字符串,您也可以将其包装在 RTRIM() 函数中以确保没有尾随空格。
如果您仍有问题,我建议将两个 DataSet 中的数据输出到报告中的表格中。运行报告并检查数据以确保 DataSet 包含预期的数据。我还喜欢在表格中的字符串周围添加特殊字符,例如#,这样您就可以轻松识别任何前导或尾随空格。