Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see Why Migrate to InterSystems IRIS?

PROPERTIES

Returns the value of the given property, for the given member.

Returned Type

This function returns a string.

Syntax and Details

member_expression.PROPERTIES(property_name,default_value))

Where:

  • member_expression is an expression that returns a member.

    This expression cannot refer to a measure.

  • property_name is a string that equals the name of the property.

    All members have certain intrinsic properties, listed in the reference “Intrinsic Properties.” A cube definition can include definitions of additional properties.

  • default_value is an optional value to return if the member does not have a value for this property. If you omit this argument and if the given member does not have the property, the function returns @NOPROPERTY.

    This argument is an InterSystems extension to MDX.

Names of properties are not case-sensitive.

Example

The following example gets the value of the KEY property, which is an intrinsic property:

SELECT docd.h1.CURRENTMEMBER.PROPERTIES("KEY") ON 0, docd.[doctor].MEMBERS ON 1 FROM patients
 
                                     Doctor 
  1 None                             <null>
  2 Adam, Dan                            41
  3 Adam, Danielle                      391
  ... 

The following variation uses %LABEL to provide a better caption:

SELECT %LABEL(docd.h1.CURRENTMEMBER.PROPERTIES("key"),"key") ON 0, 
docd.doctor.MEMBERS ON 1 FROM patients
                                      key 
  1 None                             <null>
  2 Adam, Dan                            41
  3 Adam, Danielle                      391
  ... 

The following example uses CURRENTMEMBER and iterates through the ZIP codes to retrieve the values of two intrinsic properties: ID and LEVEL_NUMBER:

WITH SET test AS '{homed.h1.CURRENTMEMBER.PROPERTIES("id"),
homed.h1.CURRENTMEMBER.PROPERTIES("level_number")}' 
SELECT test ON 0, homed.zip.MEMBERS ON 1 FROM patients

                            Home ZIP             Home ZIP
1 32006                             2                    1
2 32007                             4                    1
3 34577                             1                    1
4 36711                             5                    1
5 38928                             3                    1

As a variation, the following query uses %LABEL to provide better captions:

WITH SET test AS '{%LABEL(homed.h1.CURRENTMEMBER.PROPERTIES("id"),"id"),
%LABEL(homed.h1.CURRENTMEMBER.PROPERTIES("level_number"),"level_number")}' 
SELECT test ON 0, homed.zip.MEMBERS ON 1 FROM patients

                                  id         level_number
1 32006                             2                    1
2 32007                             4                    1
3 34577                             1                    1
4 36711                             5                    1
5 38928                             3                    1

For more examples, see CURRENTMEMBER.

Feedback