Not all members may have valid values for a given property name. For example, the MEMBER_ALIAS property returns an alternate name for a given member as defined in the outline; however, not all members may have aliases defined. In these cases A NULL value is be returned for those members that do not have aliases.
SELECT [Year].Members DIMENSION PROPERTIES [MEMBER_ALIAS] ON COLUMNS FROM Sample.Basic
none of the members in the Year dimension have aliases defined for them. Therefore, the query returns NULL values for the MEMBER_ALIAS property for members in the Year dimension.
The attribute properties are defined for members of a specific dimension and a specific level in that dimension. In the Sample.Basic database, the [Ounces] property is defined only for level 0 members of the Product dimension.
Therefore, if you query for the [Ounces] property of a member from the Market dimension, as shown in the following query, you will get a syntax error:
SELECT Filter([Market].members, [Market].CurrentMember.[Ounces] = 32) ON COLUMNS FROM Sample.Basic
Additionally, if you query for the [Ounces] property of a non level 0 member of the dimension, you will get a NULL value.
When using property values in value expressions, you can use the function IsValid() to check for NULL values. The following query returns all Product dimension members with an [Ounces] property value of 12, after eliminating members with NULL values.
SELECT Filter([Product].Members, IsValid([Product].CurrentMember.[Ounces]) AND [Product].CurrentMember.[Ounces] = 12) ON COLUMNS FROM Sample.Basic