SSRS 2008 R2
这基本上与此question重复。
...但是那里发布的解决方案对我不起作用。
重要的是要注意,如果有数据,那么一切都适合我。
如果使用未在XML文档中解析的XPATH进行查询,为什么SSRS会返回一行DataSet?
例如,如果我有一个名为“Address”的DataSet:
<Country>
</Country>
我的XPATH是:
Country/City{Street}
(例如)
我得到一个DataSet返回一行,该行中的每个字段似乎都是错误 - 因为我对它执行的任何操作都失败了。因此我甚至无法在其上放置隐藏的过滤器,因为我的隐藏表达式无法执行并且显示的行 - 完全空白。
如果City元素在那里那就没关系了。
在测试,如果我尝试一行来创建一个文本框和做字段的任何操作,都无法和整个文本框只是显示不出来,即使有在这串文字。
例如,如果我将带有表达式的TextBox放在
中="Rows: " & CountRows("Address")
我得到了结果:
1
但是如果我将同一个文本框(在表格单元格中)更改为:
="Rows: " & CountRows("Address") & " Hide:" & IIF(IsNothing(Fields!Street.Value), "yes", "no")
文本框根本没有显示,但表格行仍然被绘制并且是空白的。
我在很多地方遇到过这种情况,并且总是设法在源XML上破解它,但在这种情况下这是不可能的。
DataSet中的那一行发生了什么?
答案 0 :(得分:0)
在XPath查询中添加过滤器以过滤掉空元素。
类似的东西:
Country/City{Street}[string-length(Street) > 0]
或者也许?
Country/City[string-length(Street) > 0]{Street}
(我的XPath有点生锈...]