【问题标题】:Selecting attributes from SSRS XML data source从 SSRS XML 数据源中选择属性
【发布时间】:2013-04-23 10:45:41
【问题描述】:

我有以下 XML 文件:

公司1公司> 21 公司 2公司> 426

我需要做的是创建一个输出以下列的数据集:

  • 公司
  • 排名指标
  • 位置指示器

我尝试过这样的事情:

root/ {}/NB查询>

但是,这不包括任何属性。我设法通过使用这样的东西来获得一个属性:

root/ {}/NB/Rank{@Indicator}查询>

但是,我需要排名和位置指标,我不确定在这种情况下如何提供属性列表。 任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 您是否尝试过使用 XML 作为数据源?
  • 这正是我正在做的,但是我不知道如何编写查询表达式来获得我需要的东西。
  • 好的,我会发布答案。

标签: xml reporting-services


【解决方案1】:

如果我理解您的评论,您必须创建一个没有连接字符串的数据源和一个以您的 XML 内容作为查询字符串的新数据集。

这是你应该做的:

  1. 使用空白连接字符串创建 XML 数据源。
  2. 为 XML 数据源创建一个新数据集。
  3. 在“数据集属性”对话框中,单击“查询设计器”。基于文本的查询设计器对话框随即打开。
  4. 在查询窗格中,输入以下内容:<Query><XmlData>
  5. 复制您的 XML 文件并将文本粘贴到查询窗格中 <XmlData> 之后。
  6. 一定要删除<?xml version="1.0"?>
  7. 在查询末尾添加以下内容:</XmlData></Query>
  8. 单击运行查询 (!)。

在您的情况下,您的代码将是这样的:

<Query>
    <XmlData>
        <root>
            <NB>
                <Company>Company 1</Company>
                <Rank Indicator="increasing">2</Rank>
                <Position Indicator="decreasing">1</Rank>
            </NB>
            <NB>
                <Company>Company 2</Company>
                <Rank Indicator="decreasing">42</Rank>
                <Position Indicator="increasing">6</Rank>
            </NB>
        </root>
    </XmlData>
</Query>

如果要指定参数:

    </XmlData>
    <ElementPath>YourField {@}</ElementPath>
</Query>

编辑

根据您的评论,检索特定字段:

{FieldA, FieldB, FieldC}

来源:

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

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

【讨论】:

  • 好的,我明白我被误解了。我已经有一个 XML 数据源和数据集。我的问题是我不知道如何在查询中编写 ElementPath 表达式来获取我需要的数据。即问题是我无法弄清楚如何从 Rank 和 Position 节点获取指标属性。我可以得到其中一个没问题,但我不知道如何在同一个查询中同时得到它们。
  • 只需使用逗号, 添加更多字段:{@Id(Integer), @IdXpto(Integer), @FieldD, @FooA, @FooB}。这对你没有用吗?
  • 太好了,这正是我所追求的。最终查询:root/{}/NB{Company,Rank{@Indicator},Position{@Indicator}}
  • 谢谢。这回答了我如何在 SRSS 中使用 XML“文件”,然后是基本查询。 :) 很好的答案。
  • 在第 4 点中,我如何从服务器位置动态选择 xml 文件,因为我有多个 xml 文件,我必须在某些条件下选择一个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-18
  • 2014-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多