gpt4 book ai didi

sql - SSRS 在报告中没有显示记录但查询返回结果

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

我有一个问题,根据 SSRS。
我正在使用 MSSQL Server management studio 2012 和 BIDS Visual Studio 2008 进行报表设计。

我有一个带有一些多值参数的报告和一个存储过程,它返回记录。

现在我试图找到传递给存储过程的参数值和字符串拆分函数的问题。如果字符串以意外的形式传递,我查看了 SQL 服务器分析器,但事实并非如此。我在服务器中运行确切的执行代码作为查询并返回结果。但是,如果我在报表设计器的预览 Pane 中运行报表,则不会返回任何结果。

如果您需要任何其他信息,请告诉我。我只是想可能有人面临同样的问题并且知道回应。

最佳答案

我会猜测并说这是“如何”传递多值参数。就个人而言,在处理 SSRS 时,我使用 View 、表函数或只是选择,因为 SSRS 可以 native 理解:

Where thing in (@Thing)

实际上在 SSMS 中的意思是:
Where thing in (@Thing.Value1, @Thing.Value2, @Thing.Value3, etc...)

我猜你的 proc 正在使用一个字符串,它实际上是一个逗号分隔的数组。当您执行一个采用字符串数组(如“1,2,3,4”)的参数并且您正在使用“文本”参数之类的东西来处理该过程时,该参数接受多个值,您可以指定或从查询中获取,您基本上需要'如果您的过程采用包含数组的字符串值,则加入“参数”。 EG:名为 dbo.test 的 Proc 执行返回值 1,2,4 的行,参数 ids 显示如下:
exec dbo.test @ids = '1,2,4'

如果我想用这个值在 SSRS 中运行 proc 并且我有一个名为“IDS”的多值参数,我将不得不在 SSRS 中的函数中手动组装数组,例如:
=JOIN(Parameters!IDS.Value, ",")

通过将逗号分隔值链中的多个值连接在一起,本质上告诉 proc 运行参数“IDS”。您可以在左侧 Pane 的数据集中执行此操作,其中列出了“参数”,而不是指定参数,就像 [@IDS] 一样,您单击“Fx”并放入上面的函数。

出于这个原因,我非常支持 View 、选择和表函数,因为您可以使用谓词逻辑来处理这些。

关于sql - SSRS 在报告中没有显示记录但查询返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18461273/

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