3

我正在研究以 XML 格式为某人导出 SSRS 报告,我们遇到了这样一种情况,即呈现的表 XML 包含详细信息行的每个实例的元素,但任何单元格为空,属性未添加到元素.

我更喜欢使用 ATOM 数据馈送输出,因为它更加健壮,但是他们坚持使用 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]
4

1 回答 1

2

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

在报表生成器和 SSRS 中呈现数据

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

于 2012-08-24T12:25:05.897 回答