ssrs-2008 - LookupSet 基于两个字段组合而不是一个

标签 ssrs-2008 reporting-services reportbuilder

我有两个数据集:Dataset1(主要)和 Dataset2。我的报表数据集是 Dataset1。

我想从数据集 2 访问总保费金额并将其放入报告中。如果“市场名称”的参数是单值参数,则报告工作正常。

当我将参数属性设置为“允许多个值”时,我的报告显示错误的“生产”字段总计。问题是因为 lookupset 函数基于 Currency_Type。

我应该做的是搜索每个市场名称和每种货币类型,然后在第二个数据集中搜索适当的总保费并返回值。

数据集 1:

Market Name      Currency Type     Receivable

数据集 2:

Company Name2    Currency Type1    Gross Premium Amount

结果应该是这样的:

Market Name      Currency Type     Receivable             Gross Premium Amount

我使用这段代码 if 来搜索一个值:

=code.SumLookup(LookupSet(Fields!Currency_Type.Value, Fields!Currency_Type1.Value,Fields!Gross_Premium_Amount.Value, "DataSet2"))

如果我想结合基于市场名称和货币类型的查找集,我应该怎么做?

最佳答案

您可以在查询中加入数据集吗?如果可能的话,那会容易得多。否则你需要有一些方法来分解你的多值参数,比如将它作为一个元素包含在你的第一个数据集中。 (如果合适,甚至可能是交叉连接。)

但是直接回答你的问题

What should I do if I want the lookupset based on Market Name and Currency Type combined?

[请注意,这与如何查找多值参数没有太大关系。]

我已经解决了这个问题,方法是根据查询中的两条信息创建一个键,例如使用字符串连接,但您也可以在 LookupSet 函数中执行相同的操作:

=LookupSet(Fields!Currency_Type.Value +"-"+ Fields!MarketName.Value, Fields!Currency_Type1.Value + "-"+ Fields!Market_Name.Value, Fields!Gross_Premium_Amount.Value, "DataSet2"))

只有当 MarketName 是您的第一个数据集中的一个值时,这才有效。

关于ssrs-2008 - LookupSet 基于两个字段组合而不是一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13456984/

相关文章:

reporting-services - 如何停止 Reporting Services 报告在启动时自动呈现?

string - 如何使用 DisplayFormat 在数字之间添加空格

sql - Report Builder 中的表格

mysql - 带参数的数据集查询在 Report Builder 中不起作用

c#-4.0 - SSRS 报告中的字符串拆分

reporting-services - 在 SSRS 中用省略号截断文本框内容

ssrs-2008 - SSRS图表未在水平轴上显示所有标签

reporting-services - SSRS Datepicker 控件未在 Chrome 和 safari 中显示

reporting-services - SSRS : How can I accessing report parameters from custom assembly?

sql - 在 Reporting Services 中为单个参数传递多个值