Overview of the Attribute Properties
As we noted in previous
articles of this subseries, Analysis Services exposes many properties
that determine how dimensions and dimension attributes
function. We can review the properties for our selected attribute,
Geography Key, within our sample UDM,
by taking the following steps.
1.
Within the Attributes
pane of the Dimension Structure tab, right-click the Geography
Key attribute.
2.
Click Properties
on the context menu that appears, as depicted in Illustration 5.
Illustration
5: Select Properties from the Context Menu ...
The Properties
pane appears for the Geography Key attribute. (The Properties
pane likely appeared when we selected the Geography Key attribute
dimension within the Dimensions pane, by default, below the Solution
Explorer. The design environment can, of course, be customized in many
ways to accommodate our local development needs.)
We can,
at this stage, see the thirty DimensionAttribute properties for
the Geography Key attribute within the Properties pane. We examined the first eleven properties,
the members of the Advanced properties group, in Dimension Attributes: Introduction and
Overview, Part I. We
noted that these properties include the following:
-
AttributeHierarchyDisplayFolder
-
AttributeHierarchyEnabled
-
AttributeHierarchyOptimizedState
-
AttributeHierarchyVisible
-
DefaultMember
-
DiscretizationBucketCount
-
DiscretizationMethod
-
EstimatedCount
-
IsAggregatable
-
OrderBy
-
OrderByAttribute
The five
Basic properties, which appear underneath the Advanced
properties group, and which we reviewed in Part
II, include
the following:
-
Description
-
ID
-
Name
-
Type
-
Usage
The Misc
group, which we explored in Part III, comes next, and includes the
following four properties:
-
AttributeHierarchyOrdered
-
GroupingBehavior
-
InstanceSelection
-
MemberNamesUnique
Beneath
the Misc group in the Properties pane lies the Parent-Child
group, which we examine in this article, and which includes the following five properties:
-
MembersWithData
-
MembersWithDataCaption
-
NamingTemplate
-
RootMemberIf
-
UnaryOperatorColumn
Finally,
the five Source properties (which we explore in the next article
of this subseries), appearing underneath the Parent-Child properties
group, include the following:
-
CustomRollupColumn
-
CustomRollupPropertiesColumn
-
KeyColumns
-
NameColumn
-
ValueColumn
The Properties
pane for the Geography Key attribute, with the Parent-Child properties
group (which we will examine in the practice session that follows) expanded,
appears as shown in Illustration
6.
Illustration
6: The Properties Pane for the Geography Key Attribute (Parent-Child
Properties Expanded)
Having
finished our overview of the Misc attribute properties in Part III, we will examine the attribute properties group that
next appears within the Properties pane for Geography Key.
Examine Attribute Properties: Parent-Child Properties
The Parent-Child
properties group appears just underneath the Misc properties within the Properties
pane. In this section, we will discuss the purpose of each property
within the Parent-Child group for our chosen attribute example. As
we did for the other properties groups, we will discuss / examine, in
most cases, possible settings with which we can come into contact within the
context of each property.
Each of the property
values within the Parent-Child properties group is relevant only when the Usage property (a
member of the Basic properties group we discuss in the section we
dedicate to the subject above) for the attribute under consideration is
set to Parent, meaning that a parent-child hierarchy has been
defined. When the Usage property is set to Regular or Key,
this setting is ignored by Analysis Services.
Parent-Child Property: MembersWithData
The
MembersWithData property specifies the manner of treatment
of fact data that is associated with non-leaf members. In effect, the value
selected for the property (there are two options) dictates whether data members for non-leaf members
in the parent attribute are displayed.
1.
Click the
downward arrow selector button that appears to the immediate
right of the MembersWithData property
label button, to
expose the two options for selection, as depicted in Illustration 7.
Illustration 7: MembersWithData
Property Value Selection Options
The
two selection options include NonLeafDataHidden and NonLeafDataVisible,
as we can see in the illustration above.
Parent-Child Property: MembersWithDataCaption
MembersWithDataCaption affords us a means of specifying, if we desire to
do so, a string. The purpose of the string is to serve as a template,
to be used by parent attributes, upon which captions, for
system-generated data members within the parent attribute, can be
based.
Parent-Child
Property: NamingTemplate
The NamingTemplate
property allows us to specify the manner in which levels
are named in a parent-child hierarchy constructed from the parent
attribute. This is accomplished via a Level Naming Template we can
access at the property level, as we shall see in the next step.
2.
Click the
ellipses ( .... ) button that appears to the immediate
right of the NamingTemplate
property label, as shown in Illustration
8.
Illustration 8: Click
the Ellipses ( ... ) Button to the Right of the NamingTemplate Property
The Level Naming Template dialog appears, as depicted in Illustration 9.
Illustration 9: The
Level Naming Template Dialog Appears
The
Level Naming
Template affords
us a means of specifying the level names displayed to information
consumers as they browse the cube that houses the dimension displayed in
the dialog box title bar.
Because
the sample attribute with which we are working is not a member of a parent-child
dimension, the dialog box that we see is not typical. A parent-child dimension always contains a single
metadata level (excluding the All level, if any), which
typically produces multiple displayed levels. Because the number of
displayed levels is not always known when the dimension is
created or edited, and because this number can change if and when the data in
the dimension table is updated the Level Naming Template dialog box is made available to allow us to specify the names
applied to the displayed levels.
NOTE: For more
information on parent-child dimensions, together with more details of
the property settings that support these dimensions and their member attributes,
see other articles of
my Introduction to MSSQL Server Analysis
Services series
at Database Journal.
3.
Click the Cancel
button at the bottom of the Level
Naming Template dialog box to
dismiss the dialog.
Parent-Child Property: RootMemberIf
The value we select for the RootMemberIf property
specifies the criteria by which members of the highest level (excluding
the All level) are identified.
4.
Click the
downward arrow selector button that appears to the immediate
right of the RootMemberIf property
label, to expose the four
options for selection, as shown in Illustration 10.
Illustration 10:
RootMemberIf Property Value Selection Options
The
four selection options include the following:
-
ParentIsBlankSelfOrMissing: (Default) Only members
that meet one or more of the conditions described for ParentIsBlank, ParentIsSelf,
or ParentIsMissing are treated as root members.
-
ParentIsBlank: Only members with a
null, a zero, or an empty string in the key column or columns are treated as root
members.
-
ParentIsSelf: Only members with
themselves as parents are treated as root members.
-
ParentIsMissing: Only members with
parents that cannot be found are treated as root members.
The
behavior of the RootMemberIf property in determining how the root or topmost
members of a parent-child hierarchy are identified, is, therefore,
dependent upon which of the selections above is made. The default, as noted
above, is ParentIsBlankSelfOrMissing.
Parent-Child Property: UnaryOperatorColumn
The value we supply to UnaryOperatorColumn is used
to specify the column within the underlying data source that provides unary
operators.
5.
Click the
downward arrow selector button that appears to the immediate
right of the UnaryOperatorColumn label, to expose the two basic options
for selection, as depicted in Illustration 11.
Illustration 11: UnaryOperatorColumn
Property Value Selection Options
The
two selection options that are available are None and New.
6.
Select the New
option within the selector.
The
Object Binding dialog appears. As most of us are well aware, we use the
Object Binding
dialog box in Business Intelligence Development Studio to define
bindings between the property of an Analysis Services object and a table
/ column in a data source view. The Object Binding dialog
box can be called by selecting (new) from the drop-down list for the
value of the following properties of an Analysis Services object in the Properties
window of Business Intelligence Development Studio:
-
NameColumn;
-
ValueColumn;
-
CustomRollupColumn;
-
CustomRollupPropertiesColumn;
-
UnaryOperatorColumn
(where we currently rest).
Using the Object Binding dialog, we select Binding type, Source table and Source
column as appropriate to our needs, and then save our changes. Because we
are not dealing with a Parent-Child dimension as our practice example,
we will simply dismiss the dialog via the Cancel button, as we have done
in similar situations before.
7.
Click the Cancel
button at the bottom of the Object Binding dialog box to dismiss the dialog.
Having
completed our review of the Parent-Child attribute properties, we will conclude this part of
our examination of attribute properties. We will extend our
introductory examination of dimension
attributes, specifically continuing our discussion with the Source
group of properties, within the next article of this series.
NOTE: Please consider saving the
project we have created to this point for use in subsequent related articles of
this subseries. Doing so will allow us to avoid the need to repeat the
preparation process we have undertaken, initially, to provide a practice
environment.
8.
Select File
-> Save All to save our work, up to this
point, within the originally chosen location, where it can be easily accessed
for our activities within subsequent articles of this subseries.
9.
Select File
-> Exit to leave the design environment,
when ready, and to close the Business Intelligence Development Studio.
Conclusion
In this,
the fourth part of a multi-part article introducing dimension attributes,
we continued our current subseries focusing upon dimensional model
components, with an objective of discussing the associated concepts, and of
providing hands-on exposure to the properties supporting each. We
reviewed our initial introduction to the dimensional model and
summarized its role in meeting the primary objectives of business intelligence.
Next, we provided a brief review of dimension attributes in general.
We overviewed many of the general characteristics and
purposes of attributes, including their names, and the names of the
groups within which each is classified. We then continued our focus upon the properties
underlying them, based upon the examination of a representative attribute within
our sample cube. In this article, we extended our discussion beyond the Advanced,
Basic and Misc groups of properties, which we began in Part I, and continued in
Part II and Part III, respectively, and examined the attribute properties belonging to the Parent-Child group, including what they define and support, and how we
can manage them. We will continue our examination of attribute properties, this time for those that
constitute the membership of the Source
properties group, in the next part of this article.
»
See All Articles by Columnist William E. Pearson, III
Discuss this article in the MSSQL Server 2000 Analysis Services and MDX Topics Forum.