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 (11)

  1. Brandubh says:

    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

  2. eugenebykov says:

    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.

  3. Hello,

    Is’t posible to connect OPSMGR 2007 with SCRM 2006? if your anser is yes, do you have a procedure !

  4. eugenebykov says:

    Unfortunately SCRM 2006 does not work with Ops Manager 2007.

  5. Eugene Bykov says:

    Generic performance reports are ones of the most powerful generic reports in SCOM 2007. I like to start

  6. pavel_dzemyantsau says:

    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

  7. eugenebykov says:

    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.

  8. KITS says:

    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….

  9. eugenebykov says:

    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?

  10. Ted Hacker says:

    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?

  11. eugenebykov says:

    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.