Microsoft.AnalysisServices.Tabular Namespace

Provides an object API used to administer Analysis Services tabular server instances, databases, roles and assemblies. This namespace targets tabular databases at compatibility level 1200 or higher, where objects are described in tabular metadata as tables, columns, and relationships.

Script and managed code that calls into AMO should use the classes and members in this namespace to represent objects in a tabular model. When using this namespace, remember to also add a reference to Microsoft.AnalysisServices.Core.

Classes

AlternateOf

Represents a AlternativeSource object. It is a child of either a Table or a Column object.

AlternateOfAnnotationCollection

Collection of Annotation objects.

Annotation

An extension of the schema used for passing object-specific information in the form of name-value pairs, for use by a client application. Analysis Services does not interpret or validate annotations. Annotations are defined as a child of a logical metadata object in the model.

AttributeHierarchy

Represents the attribute hierarchy of a column in a table. It is an optional child object of a Column object and is implicitly created by the server. When the attribute hierarchy is present, the column becomes available as a hierarchy in the multidimensional engine and can be queried by using MDX.

AttributeHierarchyAnnotationCollection

Collection of Annotation objects.

AttributeHierarchyExtendedPropertyCollection

Collection of ExtendedProperty objects.

AuthenticationKind

Constants for DataSource.Credential.AuthenticationKind which define how the data source is authenticated.

AutomaticAggregationOptions

Value of the Model.AutomaticAggregationOptions property

BasicRefreshPolicy

Represents a BasicRefreshPolicy object. It is a child of a Table object.

CalculatedColumn

Represents a column that is based on a DAX expression in a Table that also contains DataColumns and a RowNumberColumn. A CalculatedColumn can also be added to a calculated table.

CalculatedPartitionSource

Represents a Partition of a CalculatedTable object.

CalculatedTableColumn

Represents a column in a Table that is based on a DAX expression. A collection of CalculatedTableColumn, under a Table object bound to a partition with Source of type CalculatedPartitionSource, results in a calculated table.

CalculationGroup

Represents a collection of Calculation Items.

CalculationGroupAnnotationCollection

Collection of Annotation objects.

CalculationGroupExpression

A tabular CalculationGroupExpression object. The expression defined on this object will be applied to the selected measure in DAX queries, when no calculation items can be applied.

CalculationGroupSource

Represents a Partition based on a CalculationGroup content.

CalculationItem

A Tabular Calculation Item.

CalculationItemCollection

Collection of CalculationItem objects.

ChangedProperty

Represents an indication of a change to one of the object's properties.

Column

Represents a base class of a column object of a Tabular model, used to specify a DataColumn, RowNumberColumn, CalculatedColumn, or CalculatedTableColumn.

ColumnAnnotationCollection

Collection of Annotation objects.

ColumnChangedPropertyCollection

Collection of ChangedProperty objects.

ColumnCollection

Collection of Column objects.

ColumnExtendedPropertyCollection

Collection of ExtendedProperty objects.

ColumnPermission

Defines the security rules of the Role on the Column. It is a child of a TablePermission object.

ColumnPermissionAnnotationCollection

Collection of Annotation objects.

ColumnPermissionCollection

Collection of ColumnPermission objects.

ColumnPermissionExtendedPropertyCollection

Collection of ExtendedProperty objects.

CompatibilityViolationException

Represents an exception that is raised when an object or property in the model requires a compatibility-level that is higher than the one supported by the database.

ConnectionAddress

Address of a connection. It contains protocol name and protocol-specific properties like server and database name.

ConnectionAddressProperty

Keys in the DataSource.Address dictionary

ConnectionDetails

Protocol and address used to connect the data source

Credential

Options used to authenticate a structured data source

CredentialProperty

Keys in the DataSource.Credential dictionary

Culture

Represents a user culture. It is a child of a Model object, used for translating strings and formatting values.

CultureAnnotationCollection

Collection of Annotation objects.

CultureCollection

Collection of Culture objects.

CultureExtendedPropertyCollection

Collection of ExtendedProperty objects.

CustomJsonProperty<TOwner>

A base class for custom properties that represents a JSON object as a collection of distinct properties.

DataAccessOptions

Value of the Model.DataAccessOptions property

Database

Specifies an Analysis Services Tabular or Multidimensional database. This class cannot be inherited. Server mode and model type will determine whether you can subsequently create or modify the model tree. Specifically, if you call Tabular.Database, you can modify its model only when the model is Tabular at compatibility level 1200.

DatabaseCollection

Represents a collection of Database objects. This class cannot be inherited.

DataColumn

Represents a column in a Table that gets data from an external data source.

DataCoverageDefinition

A tabular DataCoverageDefinition object. The expression defined on this object gives hint about the data in a partition.

DataCoverageDefinitionAnnotationCollection

Collection of Annotation objects.

DataSource

Defines an open connection to an external data source for import, refresh, or DirectQuery operations on a Tabular Model.

DataSourceAnnotationCollection

Collection of Annotation objects.

DataSourceCollection

Collection of DataSource objects.

DataSourceExtendedPropertyCollection

Collection of ExtendedProperty objects.

DataSourceOptions

Value of the DataSource.Options property

DataSourceProtocol

Possible DataSource.Protocol values

DeserializeOptions

Flags that control how the JSON document is treated during deserialization.

DetailRowsDefinition

Represents a DetailRowsDefinition object. It is a child of either a Measure or a Table object.

EntityPartitionSource

Represents a Partition backed by reference to an object from underlying DataSource/Provider.

ExtendedProperty

An extension of the schema used for passing object-specific information in the form of name-value pairs, for use by a client application, via TOM and CSDL. If the type is set to JSON, Analysis Service validates that it is a well formed JSON. ExtendedProperty is defined as a child of a logical metadata object in the model.

ExternalModelRoleMember

For internal use only.

FormatStringDefinition

Represents a FormatStringDefinition object. It is a child of either a Measure or a CalculationItem.

GroupByColumn

An extension of the Column Object which holds a list of column upon which it is grouped by

GroupByColumnCollection

Collection of GroupByColumn objects.

Hierarchy

Represents a collection of levels that provide a logical hierarchical drilldown path for client applications. It is a child of a Table object.

HierarchyAnnotationCollection

Collection of Annotation objects.

HierarchyChangedPropertyCollection

Collection of ChangedProperty objects.

HierarchyCollection

Collection of Hierarchy objects.

HierarchyExtendedPropertyCollection

Collection of ExtendedProperty objects.

InferredPartitionSource

Represents a Partition that its data will be populated by executing a query generated by the system.

JsonExtendedProperty

Represents a ExtendedProperty with a Json value.

JsonScripter

Helper class for scripting out a tabular aatabase or metadata object into JSON script.

JsonSerializer

Two-way conversion of an in-memory object tree to JSON. JSON is used for object definitions in a Tabular model or Tabular database at compatibility level 1200 and greater.

KPI

Represents a Key Performance Indicator object. It is a child of a Measure object.

KPIAnnotationCollection

Collection of Annotation objects.

KPIExtendedPropertyCollection

Collection of ExtendedProperty objects.

Level

Represents a level in a hierarchy that provides a logical hierarchical drilldown path for client applications. It is a child of a Hierarchy object. The level is based on the values in a column.

LevelAnnotationCollection

Collection of Annotation objects.

LevelChangedPropertyCollection

Collection of ChangedProperty objects.

LevelCollection

Collection of Level objects.

LevelExtendedPropertyCollection

Collection of ExtendedProperty objects.

LinguisticMetadata

Holds synonym information for the Tabular model. It is a child of a Culture object.

LinguisticMetadataAnnotationCollection

Collection of Annotation objects.

LinguisticMetadataExtendedPropertyCollection

Collection of ExtendedProperty objects.

Measure

Represents a value that is calculated based on an expression. It is a child of a Table object.

MeasureAnnotationCollection

Collection of Annotation objects.

MeasureChangedPropertyCollection

Collection of ChangedProperty objects.

MeasureCollection

Collection of Measure objects.

MeasureExtendedPropertyCollection

Collection of ExtendedProperty objects.

MetadataObject

Base class in a class hierarchy of Tabular objects.

MetadataObjectCollection<T,P>

Represents a collection of metadata objects.

Model

A Tabular model created at compatibility level 1200 or above.

ModelAnnotationCollection

Collection of Annotation objects.

ModelExtendedPropertyCollection

Collection of ExtendedProperty objects.

ModelOperationResult

Represents result of the operation on Model, such as Sync(), SaveChanges()

ModelRole

Defines a set of user principals for whom security rules are applied. It is a child of a Model object.

ModelRoleAnnotationCollection

Collection of Annotation objects.

ModelRoleCollection

Collection of ModelRole objects.

ModelRoleExtendedPropertyCollection

Collection of ExtendedProperty objects.

ModelRoleMember

Defines a user principal that belongs to the Role. It is a child of a Role object.

ModelRoleMemberAnnotationCollection

Collection of Annotation objects.

ModelRoleMemberCollection

Collection of ModelRoleMember objects.

ModelRoleMemberExtendedPropertyCollection

Collection of ExtendedProperty objects.

MPartitionSource

Represents a Partition backed by M expression.

NamedExpression

A named expression that can be used by one or more partitions.

NamedExpressionAnnotationCollection

Collection of Annotation objects.

NamedExpressionCollection

Collection of NamedExpression objects.

NamedExpressionExtendedPropertyCollection

Collection of ExtendedProperty objects.

NamedMetadataObject

Represents a Tabular metadata object by its name.

NamedMetadataObjectCollection<T,P>

A collection of named metadata objects.

ObjectImpact

Represents a modification to the model tree resulting from one or more user operations that either add new objects, remove existing objects, or change object properties.

ObjectReference

Provides linkage to an object. This class cannot be inherited.

ObjectTranslation

Represents the translations of metadata properties for the Culture parent object. Properties like the Name and Description of a metadata object can be translated. If they are not translated, the properties specified on the main object are used. The ObjectTranslation object has a weakly typed reference to the object that it is translating.

ObjectTranslationCollection

Collection of ObjectTranslation objects.

OutOfSyncException

Provides the out-of-synchronization errors.

ParquetPartitionSource

Represents a Partition that its data will be populated by executing a query generated by the system.

Partition

Represents a partition in a table. Partitions define the query against external data sources that return the rowsets of a Table.

PartitionAnnotationCollection

Collection of Annotation objects.

PartitionCollection

Collection of Partition objects.

PartitionExtendedPropertyCollection

Collection of ExtendedProperty objects.

PartitionSource

A base class for all partition sources: QueryPartitionSource, CalculatedPartitionSource, MPartitionSource, EntityPartitionSource.

Perspective

Defines a logical view over the Model and is a child of a Model object. It allows hiding Tables, Columns, Measures, and Hierarchies so that end users can look at a smaller subset of the large data model.

PerspectiveAnnotationCollection

Collection of Annotation objects.

PerspectiveCollection

Collection of Perspective objects.

PerspectiveColumn

Includes a Column of a Table in the Perspective. It is a child of a PerspectiveTable object.

PerspectiveColumnAnnotationCollection

Collection of Annotation objects.

PerspectiveColumnCollection

Collection of PerspectiveColumn objects.

PerspectiveColumnExtendedPropertyCollection

Collection of ExtendedProperty objects.

PerspectiveExtendedPropertyCollection

Collection of ExtendedProperty objects.

PerspectiveHierarchy

Includes a Hierarchy of a Table in the Perspective. It is a child of a PerspectiveTable object.

PerspectiveHierarchyAnnotationCollection

Collection of Annotation objects.

PerspectiveHierarchyCollection

Collection of PerspectiveHierarchy objects.

PerspectiveHierarchyExtendedPropertyCollection

Collection of ExtendedProperty objects.

PerspectiveMeasure

Includes a Measure of a Table in the Perspective. It is a child of a PerspectiveTable object.

PerspectiveMeasureAnnotationCollection

Collection of Annotation objects.

PerspectiveMeasureCollection

Collection of PerspectiveMeasure objects.

PerspectiveMeasureExtendedPropertyCollection

Collection of ExtendedProperty objects.

PerspectiveSet

PerspectiveSet object.

PerspectiveSetAnnotationCollection

Collection of Annotation objects.

PerspectiveSetCollection

Collection of PerspectiveSet objects.

PerspectiveSetExtendedPropertyCollection

Collection of ExtendedProperty objects.

PerspectiveTable

Includes a Table into the Perspective. It is a child of a Perspective object. The PerspectiveColumns, PerspectiveMeasures, and PerspectiveHierarchies child objects allow customizing which parts of the Table are visible in the Perspective.

PerspectiveTableAnnotationCollection

Collection of Annotation objects.

PerspectiveTableCollection

Collection of PerspectiveTable objects.

PerspectiveTableExtendedPropertyCollection

Collection of ExtendedProperty objects.

PolicyRangePartitionSource

Represents a partition based on range refresh policy

PrivacyClass

Constants for DataSource.Credential.PrivacySetting which defines how data source's data may be shared with other data sources in generated queries.

PropertyChangeEntry

Represents information about the modification of a metadata object's property.

ProviderDataSource

Represents a data source that uses a connection string for the connection.

QueryGroup

Represents a QueryGroup object. Associated with Partition or NamedExpression objects.

QueryGroupAnnotationCollection

Collection of Annotation objects.

QueryGroupCollection

Collection of QueryGroup objects.

QueryPartitionSource

Provides a query in the native query language of the external data source used to retrieve a slice of data for a single partition.

RefreshPolicy

Represents an abstract RefreshPolicy object. It is a child of a Table object.

RefreshPolicyAnnotationCollection

Collection of Annotation objects.

RefreshPolicyExtendedPropertyCollection

Collection of ExtendedProperty objects.

RelatedColumnDetails

An extension of the Column Object which holds a list of column upon which it is grouped by

Relationship

Represents a logical relationship between two Table objects. It is a child of a Model object.

RelationshipAnnotationCollection

Collection of Annotation objects.

RelationshipChangedPropertyCollection

Collection of ChangedProperty objects.

RelationshipCollection

Collection of Relationship objects.

RelationshipExtendedPropertyCollection

Collection of ExtendedProperty objects.

RemovedSubtreeEntry

Represents information about a subtree removed from the object tree.

Role

Represents the level of security associated with a group of users. This class cannot be inherited.

RoleCollection

Represents a collection of Role objects. This class cannot be inherited.

RowNumberColumn

Represents an internal column automatically added by the Server to every Table after the object is created on the server.

SaveOptions

Represents advanced settings that control the behavior of the model's SaveChanges operation.

SerializeOptions

Flags used to control the output of metadata object serialization.

Server

Represents an instance of Analysis Services and provides methods and members that enable you to control that instance. This class cannot be inherited.

SessionTrace

Represents a trace session. This class cannot be inherited.

Set

Set object.

SetAnnotationCollection

Collection of Annotation objects.

SetCollection

Collection of Set objects.

SetExtendedPropertyCollection

Collection of ExtendedProperty objects.

SingleColumnRelationship

SingleColumnRelationship object.

StringExtendedProperty

Represents a ExtendedProperty with a String value.

StructuredDataSource

Represents a data source that uses JSON-based extensible protocol to define the location and mechanism of retrieving the data.

SyncOptions

Settings that control the behavior of the Sync opertation.

Table

Represents a Table in the data model. A Table object is a member of the TableCollection object under a Model object. It contains a ColumnCollection. Rows are based on Partition object or a CalculatedPartitionSource if the Table is a calculated table.

TableAnnotationCollection

Collection of Annotation objects.

TableChangedPropertyCollection

Collection of ChangedProperty objects.

TableCollection

Collection of Table objects.

TableExtendedPropertyCollection

Collection of ExtendedProperty objects.

TablePermission

Defines the security rules of the Role on the Table. It is a child of a Role object.

TablePermissionAnnotationCollection

Collection of Annotation objects.

TablePermissionCollection

Collection of TablePermission objects.

TablePermissionExtendedPropertyCollection

Collection of ExtendedProperty objects.

TmdlSerializer

IMPORTANT: TMDL is still in preview and the API surface might still be modified prior to GA!

   Two-way conversion of an in-memory object tree to TMDL. TMDL is used for object definitions in a Tabular model or Tabular database at compatibility level 1200 and greater.
TomException

Represents a generic exception that is raised when a Tabular object model error or warning occurs.

TomInternalException

Represents an internal error whose origin is either indeterminate or occurs lower in the stack.

TomValidationException

Represents an inconsistency in the state of a metadata object that's preventing completion of the current operation.

Trace

Provides a mechanism to store event logs which can be later viewed or replayed. This class cannot be inherited.

TraceCollection

Represents a collection of Trace objects. This class cannot be inherited.

TraceColumnCollection

Represents a collection of TraceColumn objects. This class cannot be inherited.

TraceEvent

Represents a trace event.

TraceEventArgs

Defines the identifiers and values associated with a trace event. This class cannot be inherited.

TraceEventCollection

Represents a collection of TraceEvent objects. This class cannot be inherited.

TraceStoppedEventArgs

Represents a trace stopped event.

Utils

General purpose utilities used primarily for name validation and syntax checks.

ValidationError

Represents an error found during validation of a metadata object tree.

ValidationResult

Represents the result of consistency validation of a metadata object tree.

Variation

Variation object.

VariationAnnotationCollection

Collection of Annotation objects.

VariationCollection

Collection of Variation objects.

VariationExtendedPropertyCollection

Collection of ExtendedProperty objects.

WindowsModelRoleMember

Represents an individual Windows user account or a Windows security group.

Interfaces

IMajorObject

Major objects of a Tabular solution, such as Server, Database, Role, and Trace. Major objects are an artifact of the legacy AMO client library, where objects are classified as Major or Minor.

IMetadataObjectWithLineage

A metadata object that may have lineage relations.

ITrace

Provides a mechanism to store event logs which can be viewed or replayed later.

Enums

AggregateFunction

Specifies the aggregate function to be used by reporting tools to summarize column values.

Alignment

An enumeration of possible values for aligning data in a cell.

CalculationGroupSelectionMode

Options for selections on calculation groups which do not invoke a calculation item.

ColumnType

An enumeration of possible values for a column type.

ContentType

The type of the content of a string. E.g. XML or JSON.

CrossFilteringBehavior

Indicates how relationships influence filtering of data. The enumeration defines the possible behaviors.

DatasourceIsolation

Controls the locking behavior of the SQL statements when executing commands against the data source.

DataSourceType

The type of DataSource. Currently, the only possible value is Provider.

DataSourceVariablesOverrideBehaviorType

Data source edit varaibles override behaviour type. E.g. Disallow or Allow.

DataType

Describes the type of data contained in the column.

DataViewType

Determines which partitions are to be selected to run queries against the model.

DateTimeRelationshipBehavior

When joining two date time columns, indicates whether to join on date and time parts or on date part only.

DirectLakeBehavior

Fallback behavior for Direct Lake models.

EncodingHintType

Encoding hint to suggest whether a column should use hash encoding.

ExpressionKind

Indicates the dialect of the query expression.

ExtendedPropertyType

An enumeration of possible values for the type of value stored in extended property.

HierarchyHideMembersType

Ragged/unbalanced hierarchies can be enabled by hiding members.

ImpersonationMode

Determines how credentials are obtained for an impersonated connection to a data source during data import or refresh.

MetadataPermission

Access control to a data defined by a metadata object.

ModelPermission

An enumeration of possible model permissions that can be used in a Role object.

ModeType

Defines the method for making data available in the partition.

ObjectState

An enumeration of possible values for object state.

ObjectType

An enumeration of logical metadata objects in a Tabular model or database. You can use ObjectType to return the type if you don't already know what it is.

PartitionSourceType

An enumeration of possible values for a partition source.

PowerBIDataSourceVersion

DataSource format version in Power BI Service.

RefreshGranularityType

Specifies the granularity of the refresh policy for auto partitioning

RefreshPolicyBehavior

The behavior regarding refresh-policy governed objects in the refresh.

RefreshPolicyMode

Mode of a refresh policy.

RefreshPolicyType

Specifies the refresh policy type of a table

RefreshType

An enumeration of possible values for a refresh type.

RelationshipEndCardinality

An enumeration of possible values for defining cardinality on either side of a table relationship.

RelationshipType

The type of relationship. Currently, the only possible value is SingleColumn.

RoleMemberType

Indicates whether the particular member of a security role is an individual user or a group of users, or if the member is automatically detected.

SaveFlags

Advanced options that can be used to control the behavior of a SaveChanges operation.

SecurityFilteringBehavior

Indicates how relationships influence filtering of data when evaluating row-level security expressions. The enumeration defines the possible behaviors.

SummarizationType

Specifies the Summarization type to be used by alternative sources' columns.

TranslatedProperty

Specifies which property of the object is being translated.

ValueFilterBehaviorType

Determines value filter behavior for SummarizeColumns

Delegates

TraceEventHandler

Represents the analysis services trace event handler.

TraceStoppedEventHandler

Represents the event handler when the tracing is stopped.