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 |