Please enable JavaScript to view this site.

QPR Knowledge Base 2023.1

  •      
  • Navigation: Developer's Guide > QPR API > The Object Model > QPR Metrics > SCModel Commands

    SetProperty

    Scroll Prev Top Next More

    Revision history:

    Introduced in QPR 7.2.1

    Last changed in QPR 2012

     

    Set a value for an element's property. PropertyName is not case sensitive.

     

    Synopsis:

     

    SCModel.SetProperty(ElementId, PropertyName, Value)

     

    Parameters:

     

    ElementId: Integer. ID of period/value setting/alert/element, etc.

    PropertyName: String. Name of some supported property.

    Value: Variant (array). Value for the property. This can be array in the case PropertyName is ELEMENTSERIES and ElementId refers to a measure. The following properties are supported depending on the element type:

    ElementID refers to a scorecard:

     NAME, String

     SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

     IDENTIFIER, String

     DESCRIPTION, String

     OWNER, Integer (user ID)  

     PARENTSCORECARDID, Integer

     BASESCORECARD, Integer

     INHERITANCEOPTIONS. A two-dimensional array with 2 columns. The rows are a freely selectable set of the following inheritance options in the first column (one option per row) with the second column containing a flag indicating whether the option should be enabled (1) or disabled (0):

    name

    description

    elementtype

    measureunit

    roles

    valuesettings

    periodlevel

    accumulationrule

    viewsettings

    seriessettings

    values

    scorecardstructure

    scorecardstructure_noref

    scorecardstructure_addonly

    ElementID refers to a measure:

     NAME, String

     SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

     IDENTIFIER, String

     DESCRIPTION, String  

     PARENTELEMENTID, Integer

     MEASUREUNITID, Integer

     INCHARGE, Integer (user ID). Sets a user to the primary role defined for the element.

     ACCUMULATIONRULE, Integer:

    Sum = 0

    Average = 1

    Min = 2

    Max = 3

    First = 4

    Last = 5

    Sum (ignore null) = 6

    Average (ignore null) = 7

    None = 8

    Latest = 10

     VALUESETTINGID, Integer

     PERIODLEVELID, Integer

     ELEMENTSERIES. A two-dimensional array with 6 columns. One line is defined per ElementSeries and the array has the following columns (properties):

    Series Id, Integer

    ElementSeries Label, String. The series label defined in the Element Properties dialog.

    ElementSeries UnitId, Integer

    ElementSeries AccumulationRule, see the ACCUMULATIONRULE property description for reference about possible values

    ElementSeries Inputtype. The possible values are 0 (Manual input), 1 (Formula), 2 (SQL), or 3 (ADO). Integer.

    ElementSeries Formula (empty string if formula does not exist). String.        

     CHARTTEMPLATE (name of the template). String.

     CHARTTEMPLATEID (ID of the template). Integer.

    ROLES. A two-dimensional array of roles defined for the measure. The array contains one line per role, and the first line is the primary role corresponding to "In charge" user in earlier versions of QPR ScoreCard. The array has the following columns:

    id, Integer. ID of the role

    name, String. Name of the role. Use an empty string here as the SetProperty function uses only ID-based matching.

    userId, Integer. ID of the user assigned to the role.  

    DRILLDOWNOPTIONS, a two-dimensional array with two columns. The rows are a freely selectable set of the following drill down options in the first column (one option per row) with the second column containing the value of a subproperty or a flag indicating whether the option should be enabled (1) or disabled (0):

    enableautomaticreferencing, Boolean: true | 1 | false | 0.

    drilldowndepth, Integer.

    referencewithsymbol, Boolean: true | 1 | false | 0. Reference elements with matching Identifier.

    referencewithname, Boolean: true | 1 | false | 0. Reference elements with matching Name.

    removeunmatching, Boolean: true | 1 | false | 0. Removes unmatching reference elements.

    ElementID refers to a period level:

     NAME, String

     SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

     IDENTIFIER, String

     DESCRIPTION, String  

     PERIODLEVELPREFIX, String

     PERIODLEVELTYPE, Integer:

    Year = 100

    Half year = 200

    Third = 300

    Quarter = 400

    Month = 500

    Week = 600

    Day = 700

    Custom = 800

     PERIODLEVELACCUMULATION, Integer:

    First day of period = 0

    Last day of period = 1

    Middle of period = 2

    LOCKDATEOFFSET, Integer. Offset in days for automatic locking after the end of period.

    ISLOCKDATEOFFSETENABLED, Boolean. The automatic locking offset enabled/disabled status. Note that this can only be set to false. Setting this to true is done by setting a value to SP_LOCKDATEOFFSET.

    ElementID refers to a period:

    LOCKED, Boolean. The locked/unlocked status of the period level.

    ElementID refers to a range:

     NAME, String

     SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

     IDENTIFIER, String

     DESCRIPTION, String  

     RANGEVALUE, Integer

    ElementID refers to a history chart template:

     NAME, String

     SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

     IDENTIFIER, String

     DESCRIPTION, String

     AUTHOR, Integer (user ID)

    ElementID refers to a series:

    NAME, String

    SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

    IDENTIFIER, String

    DESCRIPTION, String

    REVERSEDTREND, Boolean (0 = false, 1 = true)

    TRENDTYPE Integer (0 = two period difference, 1 = one period polarity).

    DEFAULTFORMULA, String

    ElementID refers to a value setting:

     NAME, String

     SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

     IDENTIFIER, String

     DESCRIPTION, String  

     DEFAULTSERIESID, Integer

     FORCEMIN, Boolean (0 = false, 1 = true)

     FORCEMAX, Boolean (0 = false, 1 = true)

    ElementID refers to a information item:

     NAME, String

     SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

     IDENTIFIER, String

     DESCRIPTION, String

     LOCATION, String

    ElementID refers to a measure unit:

     NAME, String

     SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

     IDENTIFIER, String

     DESCRIPTION, String  

     UNITSYMBOL, String

     NUMBEROFDECIMALS, Integer

     DECIMALSEPARATOR, String

     DIGITSINGROUP, Integer

     DIGITSEPARATOR, String

     UNITBEFOREVALUE, Boolean (0 = false, 1 = true)

    ElementID refers to an alert:

     ALERTTYPE, Integer:

    Value changed = 0

    Value in range = 1

    Value missing = 2

     ALERTRANGEID, Integer

     DELAYED, Boolean (0 = false, 1 = true)

     ALERTDELAY, Integer

     ALERTURL, String

     RECIPIENTS. One-dimensional array of user and group IDs. All IDs must be valid and have access to the model and element.

    ElementID refers to a linked element:

    NAME, String

    SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

    IDENTIFIER, String

    DESCRIPTION, String

    AUTHOR, Integer

    STATUS, Integer (0 = Draft, 1 = Proposal, 2 = Obsolete, 3 = Accepted)

    ElementID refers to an element type:

    NAME, String

    SYMBOL, String. Listed only for backward compatibility, please use IDENTIFIER instead.

    IDENTIFIER, String

    DESCRIPTION, String

    ROLES. A two-dimensional array of roles defined for the element type. The array contains one line per role, and the first line is the primary role corresponding to "In charge" user in earlier versions of QPR ScoreCard. The array has the following columns:

    id, Integer. ID of the role

    name, String. Name of the role.

    description, String. Description of the role.

     

    Note: In the case the ElementID points to a reference element, any property not visible for reference elements is set to the original element instead. Reference elements can have the following properties: order, level, index, parentelementid, referenceid, sourcemodelid, sourceobjectid, and scorecardid.

     

    Required Rights:

     

    At least update rights to the element. BASESCORECARD and INHERITANCEOPTIONS properties require administrator or model administrator rights.

     

    Return Values:

    Below are listed the return values that this function can return:

     

    RV_SUCCESS

    RV_MODEL_NOT_OPEN

    RV_APPLICATION_QUIT_CALLED

    RV_NOT_CONNECTED_TO_SERVER

    RV_NOT_AUTHENTICATED

    RV_NO_RIGHTS

    RV_ELEMENT_NOT_FOUND

    RV_PROPERTY_NOT_SUPPORTED

    RV_PROPERTY_CANNOT_BE_UPDATED

    RV_TOO_LONG_STRING

    RV_INVALID_PARAMETER

    RV_OBJECT_IS_LOCKED

    RV_SCORECARD_NOT_FOUND

    RV_UNKNOWN_ERROR

    RV_INVALID_USERID

     

    Example Procedure:

     

    iRet = SCModel.SetProperty(ElementId, "Name", "New Name")