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

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

问题描述:

我们的ASP.Net应用程序连接到SSRS 2008 Web服务。SSRS报告参数自定义数据类型

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

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

以上所有工作都正常。

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

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

选项1.创建新的SSRS报告参数数据类型[首选项] 当设计的报告创建新参数并且在选择参数数据类型后,将会有一个名为Spatial的新自定义数据类型[除了现有数据类型浮点数,布尔值,文本等]

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

有没有人有关是否可能选项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有显著前缀命名的参数]似乎是唯一的选择。

利亚姆

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

+0

谢谢你的本杰明。 – Liam 2010-08-17 16:11:47