Skip to main content

This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Previous sectionNext section

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
  ... 
Copy code to clipboard

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
  ... 
Copy code to clipboard

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
Copy code to clipboard

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
Copy code to clipboard

For more examples, see CURRENTMEMBER.