SSRS报告参数自定义数据类型

时间:2010-08-17 14:52:14

标签: reporting-services parameters geospatial

我们的ASP.Net应用程序连接到SSRS 2008 Web服务。

类别和报告列在我们的应用程序的树视图中,该应用程序填充了从Web服务检索报告列表的调用。

当用户选择报告时,将检索报告的参数,并为参数数据类型呈现适当的控件。即日期/时间数据类型的日历,字符串数据类型的文本框等。 用户在VS报告查看器中输入参数值和报告呈现

以上所有工作都很好。

问题是我们的一些报告有地理空间参数。即我们的一些报告将有一些参数需要用户在地图上选择一个区域,并且所选的形状[多边形等]将是参数的值。 [它可能作为一系列XY coardinates传递给报告,但这里的实现并不重要]。

我们有2个选项可以确定需要为GeoSpatial参数显示地图链接。

选项1.创建新的SSRS报告参数数据类型[首选项] 当设计的报告创建一个新参数并且在选择参数数据类型时,一个名为Spatial的新自定义数据类型将可用[除现有数据类型float,boolean,text等]

选项2.使用已知前缀命名参数。即Geo_ParameterName [简单] 报告设计者[可能并不总是内部设计师]需要知道前缀对我们的应用程序具有特殊含义,并在适当时使用它。

是否有任何关于选项1是否可行的想法。即使可能,这种选择也易于部署。

提前致谢,

利安

2 个答案:

答案 0 :(得分:1)

您可以使用自定义数据类型,但是您需要将定义这些类型的程序集部署到SSRS服务器。然后,您还必须为任何为您创建报告的人提供该程序集。

答案 1 :(得分:1)

我认为不可能。

此处详细介绍了RDL架构,并且仅限于5个标准值。甚至CLR类型也会映射到其中一个。

RDL Schema

  <xsd:complexType name="ReportParameterType">
<xsd:choice minOccurs="1" maxOccurs="unbounded">
  <xsd:element name="DataType">
    <xsd:simpleType>
      <xsd:restriction base="xsd:string">
        <xsd:enumeration value="Boolean" />
        <xsd:enumeration value="DateTime" />
        <xsd:enumeration value="Integer" />
        <xsd:enumeration value="Float" />
        <xsd:enumeration value="String" />
      </xsd:restriction>
    </xsd:simpleType>
  </xsd:element>

选项2 [使用重要前缀命名参数]似乎是唯一的选择。

利安