Jaa


Report parameter controls

Nearly any report requires you to fill some parameters before you run it. Most commonly you are asked to provide a date range, objects you are interested in and maybe some other parameters that drive report content.

"Report parameters block" is the place where all these parameters are entered. Report parameters block consist of a set of report parameter controls. Each parameter control defines a visual representation for one or more underlying report parameters.

Report parameter controls used for a particular report are defined in the RPDL file.
Here is the schema for them:

<xs:element name="Control" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>

            <xs:element name="ReportParameters" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="ReportParameter" 
                                           minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Prompt" type="xs:string"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="name" type="xs:token" use="required" />
<xs:attribute name="binding" type="xs:token" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>

            <xs:element name="Properties" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Property"
minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Value" type="xs:string"
minOccurs="1" maxOccurs="1" />
</xs:sequence>
<xs:attribute name="name" type="xs:token" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>

        </xs:sequence>
<xs:attribute name="type" type="xs:token" use="optional" />
<xs:attribute name="columnSpan" type="xs:unsignedByte" use="optional" />
<xs:attribute name="rowSpan" type="xs:unsignedByte" use="optional" />
</xs:complexType>
</xs:element>

As you can see from the schema parameter control has a list of underlying report parameters it uses. The way it uses them is defined by "binding" attribute. Binding are defined by specific control code. You cannot change the way it is handled but you can set which report parameter is used for it. "Empty" or default binding is usually used for a report parameter the control sets value for but this is not a strict rule.

Next section is parameter control properties. It's a name multi-value collection. These properties changes control behavior or visual appearance. An example of a property could be control maximum width or background color.

All "out of the box" report parameter controls are defined in Microsoft.SystemCenter.DataWarehouse.Report.Library management pack. Here are some most commonly used ones:

Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.
TextBox

A way to enter string parameter value. Replaces standard SSRS text box control.

Bindings

Default

Parameters

Multiline (True/False)

Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.
BooleanPicker

A way to enter parameter value of Boolean type. Replaces standard SSRS Boolean picker

Bindings

Default (report parameter has to be Boolean type)

Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.
ComboBox

A way to select a value from a set. Replaces standard SSRS value picker control.

Bindings

Default (report parameter has to have a list of valid values)

Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.
CheckedListBox

A way to select multiple values from a list of valid ones. Replaces standard SSRS multi-value value picker control.

Bindings

Default (report parameter has to be a multi-value parameter with a list of valid values)

Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.
DatePicker

A way to select date value. Replaces standard SSRS date picker control.

Bindings

Default (report parameter has to be DateTime type)

Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.
DateTimePicker

A way to select date and time value.

Bindings

Default (report parameter has to be DateTime type)

Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.
NumericUpDown

A way to select an integer value.

Bindings

Default (report parameter has to be Integer type)

Parameters

Minimum (minimum possible integer value)

Maximum (maximum possible integer value)

Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.
RelativeDateTimePicker

A way to select relative date time range. Microsoft.EnterpriseManagement.Reporting.ParameterProcessor class is used on the report side to process values entered by this control.

Bindings

TimeZone (time zone reference)

TimeZoneName (name of the time zone displayed in the report)

StartDate_BaseType (start date base type)

StartDate_BaseValue (start date base value)

StartDate_OffsetType (type of start date offset)

StartDate_OffsetValue (start date offset value)

EndDate_BaseType (end date base type)

EndDate_BaseValue (end date base value)

EndDate_OffsetType (type of end date offset)

EndDate_OffsetValue (end date offset value)

Parameters

MaxWidth (control maximum width in pixels)

Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.
BusinessRelativeDateTimePicker

A way to select relative date time range with business hours. Microsoft.EnterpriseManagement.Reporting.ParameterProcessor class is used on the report side to process values entered by this control.

Bindings

TimeZone (time zone reference)

TimeZoneName (name of the time zone displayed in the report)

StartDate_BaseType (start date base type)

StartDate_BaseValue (start date base value)

StartDate_OffsetType (type of start date offset)

StartDate_OffsetValue (start date offset value)

EndDate_BaseType (end date base type)

EndDate_BaseValue (end date base value)

EndDate_OffsetType (type of end date offset)

EndDate_OffsetValue (end date offset value)

TimeType (type of time entered (business or regular))

TimeWeekMap (days of week selected for business time)

Parameters

MaxWidth (control maximum width in pixels)

Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.
MonitoringObjectPicker

A way to select monitoring object for report. List of Monitoring Object IDs are passed to the report as a result value (default binding).

Bindings

Default (report parameter has to be multi-value Integer type)

GroupList (list of management groups objects are allowed to be selected from)

Comments

  • Anonymous
    August 30, 2007
    Hi Eugene, I'm just finalizing a security mp and now it's reporting time. I'm just wondering what I need to install on my dev machine to edit SCOM 2007 reports. I need to start from standard reports and being able to modify them to get what I want (you know it's easier than to start from scratch), I see you're using third party chart controls and custom assemblies... Can you help? Thanks

  • Anonymous
    September 10, 2007
    Hi Daniele, Visual Studio is the primary authoring tool for custom reports. You should be able to take SCOM 2007 reports open and modify them. To make reports compile in Visual Studio you would need to copy Microsoft.EnterpriseManagement.Reporting.Code.dll and MicrosoftRSChart.dll from SSRS bin directory (Program FilesMicrosoft SQL ServerMSSQL.NReporting ServicesReportServerbin) to VS private assemblies directory (Program FilesMicrosoft Visual Studio 8Common7IDEPrivateAssemblies). Unfortunately as of now you would not be able to use designer for Microsoft Enterprise Chart control. This limitation should go away in the next service pack. Eugene.

  • Anonymous
    September 14, 2007
    Hello, Is't posible to connect OPSMGR 2007 with SCRM 2006? if your anser is yes, do you have a procedure !

  • Anonymous
    September 14, 2007
    Unfortunately SCRM 2006 does not work with Ops Manager 2007.

  • Anonymous
    October 15, 2007
    Generic performance reports are ones of the most powerful generic reports in SCOM 2007. I like to start

  • Anonymous
    February 10, 2008
    Is it possible to create custom "Availability" report and use there 2/3/n time frames for "Bussines Hours" ? As I understand correcly is it Microsoft.EnterpriseManagement.Reporting.ParameterProcessor and Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl. BusinessRelativeDateTimePicker

  • Anonymous
    February 19, 2008
    Business hours got filtered inside the report logic after all the data is fetched from the SQL Server. In custom report you can certainly replace this logic (filter condition) with your own and make it as complex as you need. N time frames is not something this is currently supported by the business hours control however, so if you want to use more frames for business hours you would need to pass these hour intervals in a separate parameter.

  • Anonymous
    April 30, 2008
    We have a problems with changed generic reports.. Example: We edit Custom Configuration.. save with diferent name... then we import to new folder.. and when we run under Console.. we got problem with Time Zone...  it standing C4FFFFF....

  • Anonymous
    May 05, 2008
    Hi KITS, Can you please post the exact error message you are getting?
    How exactly do you modify the standard reports? Do you use RPDL?

  • Anonymous
    October 04, 2011
    Are there <hidden> controls for displaying the StartDate_BaseValue of Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl. BusinessRelativeDateTimePicker ? The default is hidden=true and it is not apparent how to get them to display.  I notice that in the Report Manager > Properties tab > Parameters subtab, I can control an individual report's display settings for different fields, but are they controlable via the RPDL?

  • Anonymous
    October 07, 2011
    Report parameter visibility is defined in RDL. MP does not control it. If you want to provide a custom set of parameters to a standard report you could author a new report that will call existing one as a sub-report. That way you can define any set of parameters you need and put “translation” logic of these parameters in the new report code and then just call the standard report passing the parameters in there.