SSRS元素路径不返回任何列

时间:2017-09-18 18:34:32

标签: xml reporting-services path element

我正在开发一个将Web服务作为数据集的报告。我有服务返回序列化的数据集,并且在使正确的ElementPath工作时遇到一些麻烦。我特别阅读了有关XML的页面  https://docs.microsoft.com/en-us/sql/reporting-services/report-data/element-path-syntax-for-xml-report-data-ssrs,但无济于事。

我的数据看起来像这样:

<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">   <soap:Body>
    <GetAxisMeasuresResponse xmlns="http://tempuri.org/">
      <GetAxisMeasuresResult>
        <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
          <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
            <xs:complexType>
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="AxisMeasurement">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element name="Axis" type="xs:int" minOccurs="0" />
                      <xs:element name="Average" type="xs:float" minOccurs="0" />
                      <xs:element name="Range" type="xs:float" minOccurs="0" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:choice>
            </xs:complexType>
          </xs:element>
        </xs:schema>
        <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
          <NewDataSet xmlns="">
            <AxisMeasurement diffgr:id="AxisMeasurement1" msdata:rowOrder="0">
              <Axis>0</Axis>
              <Average>3.71116638</Average>
              <Range>0.0333445072</Range>
            </AxisMeasurement>
            <AxisMeasurement diffgr:id="AxisMeasurement2" msdata:rowOrder="1">
              <Axis>1</Axis>
              <Average>1.66359055</Average>
              <Range>0.09599972</Range>
            </AxisMeasurement>

我的SSRS查询和Element路径看起来像这样:

<Query>
<Method Namespace="http://tempuri.org/" Name="GetAxisMeasures">
</Method>
<SoapAction>http://tempuri.org/GetAxisMeasures</SoapAction>
<ElementPath IgnoreNamespace="false"> 
   GetAxisMeasuresResponse {}/GetAxisMeasuresResult {}/diffgram {}/NewDataSet {}/AxisMeasurement{Axis, Average, Range}
</ElementPath>
</Query>

现在,当我通过报告执行查询时,我根本没有得到任何列。就好像报告没有得到结果。但是,如果我删除路径并返回默认值,我会在结果集顶部的架构中定义三个元素。

我所要做的就是让三列Axis,Average和Range出现在Report数据窗格中,这样我就能在报表上显示它们。

非常感谢提前。

0 个答案:

没有答案