Member Definition Meta-data

The Member meta-data contains attributes used to add a data member to an existing class. The attributes of these members include the name of the data member, the data type of the data member, and others. The provider populates the tables in the underlying store with columns configured using these meta-data attribute values.

In order to create a member of a class, the Class definition must already be created. The ClassDefName attribute creates the actual link to the encompassing class; thus the class name must match the ClassDefName attribute for the encompassing class.

For information about creating a new data member for an existing class, see Creating a New Class Data Member.

The following table shows the attributes used for the data member definitions. A set of these attributes is stored in the MemDef table for each class member defined.

Attribute Data Type Constraint Requirement Description
MemberDefID int NOT NULL Leave blank Stores the unique identifier for the data member.
CatalogID int NULL Leave blank Stores the identifier for the schema catalog.
CatalogName nvarchar (128) NULL Leave blank Stores the name of the schema catalog, "DWSchema."
ClassDefID int NULL Leave blank Stores the identifier of the containing class.
ClassDefName nvarchar (128) NULL Required Stores the name of the containing class.
ColumnID int NULL Leave blank Stores the identifier of the column for the data member.
ColumnName nvarchar (128) NULL Required if GenerateColumnDef = False, otherwise leave blank Stores the name of the column for storing the data member.
CreatedTime datetime NULL Leave blank Records when the data member definition was created.
DefaultValueAsStr nvarchar (128) NULL Optional Stores the default value of the data member as a string. If this is not NULL, the IsDfltNull attribute should be set to False.
Description nvarchar (128) NULL Optional Stores the description potentially displayed in the UI.
DisplayName nvarchar (128) NULL Optional Stores the name potentially displayed in the UI.
ExpressionStr nvarchar (128) NULL Optional Used by aggregation classes. Stores the expression string using the data member. Can contain any valid base class member or aggregation function.
GenerateColumnDef tinyint NULL 1 True (1) indicates the table column definition in the underlying data store should be generated automatically.
IdxFileGroupPolicy smallint NULL Leave blank Not used.
IsActive tinyint NULL 1 Indicates if the data member is active (instances may be added).
IsCached tinyint NULL 0 Indicates if the data member is cached for fast access. Used by the Profiling System only.
IsDateDeleteMember tinyint NULL Optional Used to determine which date member (for a class with multiple date members) will be used when deleting fact data by date.
IsDfltNull tinyint NULL 0 Indicates if the default value for the data member is NULL. If a default value is specified, this should be False (0).
IsDimension tinyint NULL Optional Indicates if the data member represents a dimension.
IsEncrypted tinyint NULL Optional Indicates if the data member is encrypted. Used by the Profiling System only.
IsExported tinyint NULL 0 Indicates if children of the class inherit the data member. Used by the Profiling System only.
IsHashingKey tinyint NULL Optional Indicates if the data member is a hashing key. Used by the Profiling System only.
IsHidden tinyint NULL Optional Indicates if the data member is hidden.
IsIdentityMember tinyint NULL 0 Indicates if the data member is an identity data member.
IsJoinKey tinyint NULL Leave blank Indicates if the data member is used as a join key across classes.
IsMeasure tinyint NULL Optional Indicates if the data member represents a measure.
IsMultiValued tinyint NULL Leave blank Indicates if the data member is multi-valued.
IsPersistent tinyint NULL 1 Indicates if the data member is persisted in the underlying data store.
IsPrimaryKey tinyint NULL Optional Indicates if the data member is a part of the primary key for the class.
IsPrivate tinyint NULL Optional Indicates if the data member is private.
IsRDNAttribute tinyint NULL Optional When referring to an Active Directory data-source, True indicates this is the RDN attribute for the class.
IsRequired tinyint NULL 0 Indicates if the data member requires a value.
IsSearchable tinyint NULL 0 Indicates if the data member is searchable.
IsTextSearchable tinyint NULL 0 Indicates if the data member is searchable by a text search engine.
IsUniqueKey tinyint NULL Leave blank Indicates if the data member is part of a unique key for the class.
LinkTableName nvarchar (128) NULL Leave blank Stores the name of the link table for a multi-valued data member.
MajorVersion int NULL Optional Stores the major version number for the data member definition.
MemberDefName nvarchar (128) NULL Required Stores the name of the data member.
MinorVersion int NULL Optional Stores the minor version number for the data member.
ModifiedTime datetime NULL Leave blank Records when the data member definition was last modified.
OrdinalPosInClass int NULL Leave blank Indicates the ordinal position of the data member in the class. Used by the Profiling System only.
ParentGroupName nvarchar (128) NULL Leave blank Stores the name of the parent group. Used by the Profiling System only.
RelationName nvarchar (128) NULL Leave blank Stores the name of the relation for a member relation object.
Status int NULL Leave blank Reserved.
TypeID int NULL Leave blank Stores the identifier code for the data type of the data member.
TypeName nvarchar (128) NULL Required Stores the name of the data type for the data member. See the table immediately following this table.
UseHashInSearch tinyint NULL Leave blank Indicates whether to use a hash index when searching for this data member. Used by the Profiling System only.
ValColumnName nvarchar (128) NULL Optional Stores the name of the value column for the data member. Used when creating multi-value members.
ValTableName nvarchar (128) ULL Optional Stores the name of the value table. Used when creating multi-value members.

The following table contains the valid data types used for the TypeName attribute of the Member meta-data. Binary data is not supported.

TypeName Description
BOOL Boolean (0 or 1)
CURRENCY 64-bit currency
DATE Standard date
DATETIME SQL datetime
FILETIME Standard file date/time stamp
IDENTITY 48-bit numerical identifier
IDENTITY6 48-bit numerical identifier
INT64 64-bit integer
LONG 32-bit integer
LONGREAL 64-bit floating point number
None Empty type
NULL No value
REAL 32-bit floating point number
SHORT 16-bit integer
TIME Standard time
UINT64 64-bit unsigned integer
ULONG 32-bit unsigned integer
UUID Packed decimal number used for GUIDs
WORD 16-bit unsigned integer
WSTR Unicode string of length 255
WSTR8, WSTR12. WSTR16, WSTR24, WSTR32, WSTR48, WSTR64, WSTR80, WSTR96, WSTR112, WSTR128, WSTR144, WSTR160, WSTR255, WSTR400, WSTR512 Unicode string of designated length


All rights reserved.