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