Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSRS“;不在「;如果要跑的话,需要非常长的时间_Sql Server_Reporting Services_Ssrs 2008 - Fatal编程技术网

Sql server SSRS“;不在「;如果要跑的话,需要非常长的时间

Sql server SSRS“;不在「;如果要跑的话,需要非常长的时间,sql-server,reporting-services,ssrs-2008,Sql Server,Reporting Services,Ssrs 2008,SSRS-SQL2008SSRS版本3.0。 需要运行一个NOT IN,但需要非常长的时间才能运行 我看过“Stacia”关于使用过滤器的帖子,但我似乎不太明白。 在报告的表格中,我为过滤器添加了以下内容: =Iif(InStr(Join(Parameters!FilterList.Value,","),Fields!Status.Value)=0,True,False) 我想做的是显示未取消的记录 即使是做一个简单的过滤器: 表达式:[状态] 接线员 取消价值 似乎仍然需要非常长的时间

SSRS-SQL2008SSRS版本3.0。 需要运行一个NOT IN,但需要非常长的时间才能运行

我看过“Stacia”关于使用过滤器的帖子,但我似乎不太明白。

在报告的表格中,我为过滤器添加了以下内容:

=Iif(InStr(Join(Parameters!FilterList.Value,","),Fields!Status.Value)=0,True,False)
我想做的是显示未取消的记录

即使是做一个简单的过滤器:

  • 表达式:[状态]
  • 接线员
  • 取消价值
似乎仍然需要非常长的时间

我们可能具有以下状态条件:

  • 取消
  • 封闭的
  • 打开
  • 决心
如果我采取相反的方法,在SSRS中查找所有被取消(过滤)的票证,结果会很快返回

更新:如果我为报告的查询输入了筛选器:

  • 封闭的
  • 打开
  • 决心
只需简单地忽略取消,就可以了。
谢谢。

您的过滤器是在组、矩阵还是数据集上?它可能在数据集上运行得更快,因为它只检查一次。问题取决于你有多少条记录——每一行都要进行检查

您可以尝试在语句中执行一个,看看是否更快。创建一个新数据集,该数据集具有状态值,但不包括所选数据集


然后基于数据集创建另一个参数,可用值和默认值为Status\u Type列。当它工作时,您可以将其隐藏起来,以便用户不会看到它是否工作得更快。

不确定这是否是导致报告运行缓慢的根本原因。您能否尝试将此规则添加到库中,然后将其包含在报告中? 你可以在


抱歉-自定义程序集无法工作,因为我只是prod服务器(基本上是SharePoint安装)中SSR的用户。。因此,公司不会允许这样做。自定义编程链接-这可能很有帮助,因为我一直在拼命寻找一种方法,在没有数据的情况下不发送报告。我刚刚再次查看了你的帖子。您可以创建一个报告变量(如FilterValues)来存储FilterList的值,然后在报告中实现一个自定义代码来检查状态是否在FilterValues中。问题是,您总是在Tablix中组合来自过滤器的值,因此,报告需要时间来计算和呈现。希望这有帮助。
SELECT * FROM (
    SELECT 'Cancelled' AS STATUS_TYPE 
    UNION 
    SELECT 'Resolved' 
    UNION 
    SELECT 'Open' 
    UNION 
    SELECT 'Closed' ) AS X 
WHERE STATUS_TYPE NOT IN (@StatusType)