Biml Language Reference
Cube Element
Cube objects correspond directly to SQL Server Analysis Services (SSAS) cubes, which offer a multidimensional data storage and query mechanism.
Attributes
  Attribute API Type Default Description
AggregationPrefix String
This value provides a common prefix for aggregation names used throughout the associated cube.

[.NET API Property: AggregationPrefix]

Collation String
This value specifies how data is sorted and compared.

[.NET API Property: Collation]

ConnectionName AstConnectionBaseNode
This value specifies the connection to use when deploying a cube.

[.NET API Property: Connection]

DatabaseName String
Defines the name to use for the generated SSAS database.

[.NET API Property: DatabaseName]

DefaultMeasure AstMeasureNode
This value contains a reference to the measure that should be used by the client application for the cube when a measure or measure group has not been specified in the query.

[.NET API Property: DefaultMeasure]

EstimatedRows Int64
This value indicates the estimated number of items in the cube. The default setting is zero. This value is used to assist in aggregation design choices and other internal operations. While EstimatedCount can be set manually to reflect estimated member counts, BimlStudio also provides an automatic Member Count Estimator in the Cube ribbon.

[.NET API Property: EstimatedRows]

Language Language
This value specifies the language that is associated with the cube by default.

[.NET API Property: Language]

LogicalDisplayFolder String
Specifies a path that should be used for organizing the tree display of this object in the Logical View in BimlStudio.

[.NET API Property: LogicalDisplayFolder]

Name String
Specifies the name of the object. This name can be used to reference this object from anywhere else in the program.

[.NET API Property: Name]

OutputCubeLabel String
Specifies the name that should be used for this cube when it is emitted into the SSAS cube file. This name will be used both for the cube and the name of the cube file. If no OutputCubeLabel is specified, the Name property of this cube will be used in its place. Note that an OutputCubeLabel setting in a cube project referencing this cube can override the Name and OutputCubeLabel specified here. This property is provided to offer more fine-grained control over cube naming in automation scenarios, especially in multi-tenant environments. This can be important, since cube names are end-user visible.

[.NET API Property: OutputCubeLabel]

ProcessingMode ProcessingMode
This value specifies when indexing and aggregating should be performed. The options are Regular, which means that indexing and aggregations occur during processing, or Lazy, which means that indexing aggregation occur after after processing is completed.

[.NET API Property: ProcessingMode]

ProcessingPriority Int32
This value specifies the priority of background processing operations relative to query handling, other non-background functions, and other functions that have a priority specified. Lower integer values indicate lower priority. The default value is 0.

[.NET API Property: ProcessingPriority]

ScriptCacheProcessingMode ScriptCacheProcessingMode
This value specifies when the script cache is built. The options are Regular, which means that the cache is built during processing, or Lazy, which means that the script cache is built after processing is completed.

[.NET API Property: ScriptCacheProcessingMode]

ScriptErrorHandlingMode ScriptErrorHandlingMode
This value specifies how script errors are handled. The options are IgnoreNone, which means that the server generates an error whenever any MDX script error is encountered, and IgnoreAll, which means that the server ignores all MDX script errors.

[.NET API Property: ScriptErrorHandlingMode]

State CubeState
This value displays the current cube state with respect to processing.

[.NET API Property: CubeState]

StorageLocation String
This value specifies the full path where the cube’s files are located. If this value is not specified, then the storage location comes from the cube’s database information.

[.NET API Property: StorageLocation]

StorageMode StorageMode
This value specifies which storage mode the cube will use.

[.NET API Property: StorageMode]

Visible Boolean
The value specifies whether the cube is visible to end users. If it is not visible, the cube still exists on the server and can respond to queries, but it is not visible to end-users for browsing through the client application.

[.NET API Property: Visible]

Singleton Children
  Child API Type Description
<ErrorConfiguration /> AstErrorConfigurationNode
This value specifies the error configuration properties associated with the cube. Error configuration includes error logging; null, duplicate, and unknown key handling; error actions; and other settings.

[.NET API Property: ErrorConfiguration]

<ProactiveCaching /> AstProactiveCachingNode
This value defines how proactive caching is performed for the cube. Proactive caching enables a cube to use a MOLAP-style multidimensional store for data but to update that store automatically to stay up-to-date with changes to the underlying relational store. This provides a compromise between MOLAP and ROLAP cube storage models.

[.NET API Property: ProactiveCaching]

Collection Children
  Child API Type Description
<Annotations>
    <Annotation />
</Annotations>
AstAnnotationNode
This is a collection of annotation items that can be used to specify documentation, tags, or other information. Annotations are particularly useful for storing information about nodes that can be used by BimlScript code.

[.NET API Property: Annotations]

<CubeDimensions>
    <CubeDimension />
</CubeDimensions>
AstCubeDimensionNode
This collection is used to define instances of dimensions that are used in the cube. Each dimension might be referenced by multiple cube dimensions in cases where a single dimension might be used in multiple ways. For example, a date dimension might be used to indicate purchase date, ship date, and received date for a sales-tracking cube.

[.NET API Property: CubeDimensions]

<CubeMeasureGroups>
    <CubeMeasureGroup />
</CubeMeasureGroups>
AstCubeMeasureGroupNode
This collection is used to define instances of fact tables that are used in the cube as measure groups. Each fact table might be referenced by multiple cube measure groups in cases where a single fact table might be used in multiple ways. For example, a fact table that tracks customer activity might be used both in a sales and an account measure group for a sales-tracking cube.

[.NET API Property: CubeMeasureGroups]

<Kpis>
    <Kpi />
</Kpis>
AstKpiNode
This defines a collection of key performance indicator (KPI) calculations that are associated with the cube. KPIs are used to track goals, trends, and current status for values that are considered critical to the overall performance of the business. They are normally an important feature of dashboard-style reports.

[.NET API Property: Kpis]

<MdxScripts>
    <MdxScript />
</MdxScripts>
AstMdxScriptNode
This defines the collection of Multidimensional Expressions (MDX) scripts that are associated with the cube. MDX scripts can contain calculated members, named sets, and standalone script objects.

[.NET API Property: MdxScripts]

<Perspectives>
    <Perspective />
</Perspectives>
AstPerspectiveNode
This is a collection of simplified subsets of cube features. Perspectives enable users to generate specialized, more focused views of the data. Cube filtering is limited to a simple included/excluded choice for each independent cube asset. Note that perspectives are available only for deployments that target SQL Server Enterprise Edition.

[.NET API Property: Perspectives]

<Actions>
    Multiple Choices...
</Actions>
AstActionNode
This defines a collection of actions that are associated with the cube. Actions are stored Multidimensional Expressions (MDX) statements that are associated with the cube. Client applications such as Microsoft Excel display actions to the end user and execute them against the cube when requested. Actions can include custom report generation, redirection to URLs, drillthrough to row details for a given cell, and other operations.

[.NET API Property: Actions]

<Translations>
    <Translation />
</Translations>
AstTranslationNode
This value contains alternate language versions of measure groups, measures, cube dimension, perspectives, KPIs, actions, named sets, and calculated members associated with a dimension. These are used by client applications such as Microsoft Excel to show values for dimension metadata that are consistent with the language of the end-user.

[.NET API Property: Translations]