如何使用报表数据导出为XML时,如何在SSRS中呈现空属性

时间:2012-04-19 14:51:33

标签: reporting-services

我正在考虑为某人导出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]

1 个答案:

答案 0 :(得分:2)

对于Details行中的每个字段,将属性“DataElementOutput”设置为“Output”。 (选择字段时,此属性在属性窗格中可用。)

Rendering Data in Report Builder and SSRS

在数据集查询中,如果使用ISNULL([ColName],0)或ISNULL([ColName],'')替换NULL值并将其与DataElementOutput = Output组合,则这将包括所有行的所有属性xml。似乎渲染器将NULL视为不存在的元素,而不是空元素。