Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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 2008 当XPATH不';不存在_Sql Server 2008_Xpath_Reporting Services - Fatal编程技术网

Sql server 2008 当XPATH不';不存在

Sql server 2008 当XPATH不';不存在,sql-server-2008,xpath,reporting-services,Sql Server 2008,Xpath,Reporting Services,SSRS 2008 R2 这基本上是这个的复制品 …但是贴在那里的解决方案对我不起作用 需要注意的是,如果有数据,那么对我来说一切都很好 如果您使用XML文档中未解析的XPATH进行查询,为什么SSRS将返回一行数据集 例如,如果我有一个名为“地址”的数据集: (例如) 我得到的数据集只有一行,而该行中的每个字段似乎都是错误的——因为我对它执行的任何操作都会失败。因此,我甚至不能在其上放置隐藏筛选器,因为我的隐藏表达式无法执行,并且该行显示为完全空白 如果城市元素在那里,那就好了 在测试中,如果

SSRS 2008 R2

这基本上是这个的复制品

…但是贴在那里的解决方案对我不起作用

需要注意的是,如果有数据,那么对我来说一切都很好

如果您使用XML文档中未解析的XPATH进行查询,为什么SSRS将返回一行数据集

例如,如果我有一个名为“地址”的数据集:

(例如)

我得到的数据集只有一行,而该行中的每个字段似乎都是错误的——因为我对它执行的任何操作都会失败。因此,我甚至不能在其上放置隐藏筛选器,因为我的隐藏表达式无法执行,并且该行显示为完全空白

如果城市元素在那里,那就好了

在测试中,如果我尝试创建一个文本框并对该行中的字段执行任何操作,它们都会失败,并且即使文本框中有字符串文本,整个文本框也不会显示

例如,如果我在文本框中放置以下表达式:

="Rows: " & CountRows("Address")
我得到的结果是:

1
但如果我将同一文本框(在表格单元格中)更改为:

文本框根本不显示,但表行仍然会被绘制,并且是空的

我在许多地方都遇到过这种情况,并且总是设法在源XML中解决它,但在本例中这是不可能的


数据集中的那一行是怎么回事?

在XPath查询中添加一个过滤器以过滤掉空元素

比如:

Country/City{Street}[string-length(Street) > 0]
或者可能

Country/City[string-length(Street) > 0]{Street}

(我的XPath有点生疏了…])

谢谢你的提示-问题是我的示例非常简单,实际上这将导致一些极其复杂的XPath查询(我只看到不到100个元素,其中任何一个都可能是空的).我实际上非常有兴趣了解SSRS在这里做什么。数据集中的这一行代表什么?据我所知,这一行无论如何都无法与之交互-那么它的目的是什么?可能它包含错误信息,并且有一个保留字段可用于检索错误?(这只是一个理论,但至少有点道理。)…了解到至少可以使用IsMissing来确定是否完全缺少某些内容,但必须对数据集中的每个元素执行此操作。我仍然希望知道不存在的那一行的内容是什么!
="Rows: " & CountRows("Address") & " Hide:" & IIF(IsNothing(Fields!Street.Value), "yes", "no")
Country/City{Street}[string-length(Street) > 0]
Country/City[string-length(Street) > 0]{Street}