SSRS - 有条件地从XML数据源中选择元素

时间:2014-06-02 09:14:45

标签: sql xml reporting-services

我有一个简单的XML树:

<manufacturer = 'Audi'>
  <make = 'A4'>
    <color>Black</color>
    <build_date>11th May 2014</build_date>
  </make>
</manufacturer>

我知道我可以使用以下方式查询数据:

<Query>
  <ElementPath>
    manufacturer{}/make{color, build_date}
  </ElementPath>
</Query>

我想要做的是使用日期属性过滤结果。像SQL WHERE子句一样。所以在这个例子中,它是在指定日期之后建造的汽车。这可能吗?

2 个答案:

答案 0 :(得分:0)

是的,您可以过滤xml的结果。您的查询示例如下所示

SELECT 
[xmlField].value('(/person//firstName/node())[1]', 'nvarchar(max)') as FirstName,
[xmlField].value('(/person//lastName/node())[1]', 'nvarchar(max)') as LastName
FROM [myTable]

答案 1 :(得分:0)

您需要在Build_date字段的SSRS数据集上设置过滤器:

http://msdn.microsoft.com/en-us/library/dd255287.aspx