将值与另一个数据源进行匹配的 SSRS 表达式

SSRS Expression to match values against another data source

是否可以在表达式中使用一个表达式将一个数据源的值匹配到另一个数据源?我知道一种解决方案是在查询中将它们连接在一起,但出于学习的目的是否可能?

这是我的数据: 数据集 1

ship_code
---------
aa
bb
cc

这是我的数据:船舶

ship_code | ship_name 
----------------------
aa        |  HMS apples
bb        |  HMS bananas
cc        |  HMS cherry

我的主要 table 基于数据集 1 中的 ship_code,但我想将其转换为 ship_name。因此,我们没有显示 ship_code,而是显示 ship_name。

可能是这样的:IIf(fields!ship_code.value = First(fields!ship_code.value, "ships") , First(fields!ship_name.value, "ships") ,0)

谢谢

您可以使用 LOOKUP() 执行此操作。

尝试

=Lookup(Fields!ship_code.Value, Fields!ship_code.Value, Fields!ship_name.Value, "ships")  

这是... 使用当前范围的 ship_code(当前范围将是您的 table 绑定到的数据集),在字段“ship_code”的“ships”数据集中找到值return“ship_name”字段。

注意:正确的术语是 DataSet 而不是 DataSource,数据源是 'connection',数据集是包含您的数据的结构化结果。

有关更多信息,请查看此 MS 文档 https://docs.microsoft.com/en-us/sql/reporting-services/report-design/report-builder-functions-lookup-function?view=sql-server-ver15