gpt4 book ai didi

reporting-services - 报告服务: Join all field on a dataset

转载 作者:行者123 更新时间:2023-12-04 13:17:12 24 4
gpt4 key购买 nike

在报告中,我有一个带有过滤器的数据集(基于MultiValue参数)。

该数据集包含两个字段:Id和Name。

我需要在所有位置显示所有名称的串联:

Name1 / Name2 / Name3

问题在于 join方法仅适用于数组,因此我无法将数据集指定为值。

我也查看了自定义代码,但没有找到任何有效的方法。

我该怎么办?

最佳答案

SSRS-2008 R2及更高版本...

1.使用LookupSet
如果您的版本超出了OP的2008版本,则存在一个不错的解决方案:

=Join(LookupSet(1, 1, Fields!Name.Value, "DatasetName"), " / ")

使用the LookupSet solution获得的答案完全归功于@urbanhusky's answer

SSRS-2008及更低版本...

我之所以保留这个答案,是因为它将@urbanhusky的解决方案与适用于OP版本的SSRS及以下版本的可怜人可用的解决方案结合在一起。

据我所知,在SSRS 2008中只有三个“选项”,每个选项都有其缺点。第一个可能是最少的黑客。

2.额外参数
使用允许多个值创建一个内部参数(例如“NameParameter”,请参阅 this SO answerMSDN)。将参数的默认值设置为数据集中的 Name字段。然后使用 =Join(Parameters!NameParameter.Value, " / ")函数在文本框中显示连接的名称。

这可能是您最好的选择,但是如果有很多值,则该参数可能无法很好地工作。

3.使用列表
创建一个列表并将“名称”字段拖放到该列表中。如有必要,还可以对名称进行分组。

此处的缺点是(AFAIK)无法使列表水平显示。

4.使用矩阵
哦,男孩,这真丑。尽管如此,这里要做的是:创建一个矩阵,将“名称”字段拖到列标题中,并隐藏第一列和第二行(用于显示数据)。

主要缺点是它很容易破解(并且有些过分杀伤力),另外,您还必须使用表达式手动修剪最后一个分隔符。

关于reporting-services - 报告服务: Join all field on a dataset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10997770/

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