我正在考虑为某人导出XML格式的SSRS报告,我们遇到这样一种情况,即呈现的表XML包含Details行的每个实例的元素,但是任何单元格为空,则不会添加该属性到元素。
我更喜欢使用ATOM数据Feed输出,因为它更加强大,但是他们坚持使用XML输出。
示例输出:
<Details DateStamp="2012-01-01" Customers="56703" Sales="624" />
<Details DateStamp="2012-02-01" />
<Details DateStamp="2012-03-01" Customers="107271" Sales="3195" />
有没有人知道强制输出属性显示的任何方法,即使它们没有值?或者这在XML格式中是不可能的?
理想情况如下:
<Details DateStamp="2012-01-01" Customers="56703" Sales="624" />
<Details DateStamp="2012-02-01" Customer="" Sales="" />
<Details DateStamp="2012-03-01" Customers="107271" Sales="3195" />
尝试使用此示例查询数据集:
SELECT
'2012-01-01' as [DateStamp]
,56703 as [Customers]
,624 as [Sales]
UNION ALL
SELECT
'2012-02-01' as [DateStamp]
,NULL as [Customers]
,NULL as [Sales]
UNION ALL
SELECT
'2012-03-01' as [DateStamp]
,107271 as [Customers]
,3195 as [Sales]
答案 0 :(得分:2)
对于Details行中的每个字段,将属性“DataElementOutput”设置为“Output”。 (选择字段时,此属性在属性窗格中可用。)
Rendering Data in Report Builder and SSRS
在数据集查询中,如果使用ISNULL([ColName],0)或ISNULL([ColName],'')替换NULL值并将其与DataElementOutput = Output组合,则这将包括所有行的所有属性xml。似乎渲染器将NULL视为不存在的元素,而不是空元素。