Skip to main content

Class AstCubeNode

Cube objects correspond directly to SQL Server Analysis Services (SSAS) cubes, which offer a multidimensional data storage and query mechanism.

Namespace: Varigence.Languages.Biml.Cube

Assembly: Biml.dll

C#


public class AstCubeNode : AstSecurableNode, IBindableItem, IGetJsonProvider, INamedNode, IScopeBoundary, IReferenceableItem, IFrameworkItem, IValidationInfo, INamedItem, IDataflowItem

Inheritance AstNode

  • Implements

    Varigence.Utility.Collections.IVulcanCollectionParent, Varigence.Utility.ComponentModel.IVulcanNotifyPropertyChanged, Varigence.Utility.ComponentModel.IPropertyChangeNotificationTarget, System.ComponentModel.INotifyPropertyChanged, Varigence.Utility.Xml.IXObjectMappingProvider, System.ComponentModel.IDataErrorInfo, Varigence.Utility.Collections.IScopedNameIndexable,

Constructors

ConstructorsDescription
AstCubeNode(IFrameworkItem)Initializes a new instance of the AstCubeNode class with the specified parent node.

Fields

FieldsDescription
ScopedNamePrefixBackingStore
IsScopeImported

Properties

PropertiesDescription
ActionsThis 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.
AggregationPrefixThis value provides a common prefix for aggregation names used throughout the associated cube.
AggregationPrefixDefaultValueGets the default value for the AggregationPrefix property
AllMeasureGroupsGets an AstCubeMeasureGroupNode corresponding to the "All Measure Groups" item
CollationThis value specifies how data is sorted and compared.
CollationDefaultValueGets the default value for the Collation property
ConnectionThis value specifies the connection to use when deploying a cube.
CubeDimensionsThis 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.
CubeMeasureGroupsThis 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.
CubeStateThis value displays the current cube state with respect to processing.
CubeStateDefaultValueGets the default value for the CubeState property
DatabaseNameDefines the name to use for the generated SSAS database.
DatabaseNameDefaultValueGets the default value for the DatabaseName property
DefaultMeasureThis 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.
ErrorConfigurationThis 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.
EstimatedRowsThis 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.
EstimatedRowsDefaultValueGets the default value for the EstimatedRows property
FriendlyTypeNameStaticGets the friendly name of the type of this node
KpisThis 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.
LanguageThis value specifies the language that is associated with the cube by default.
LanguageDefaultValueGets the default value for the Language property
LogicalDisplayFolderSpecifies a path that should be used for organizing the tree display of this object in the Logical View in BimlStudio.
LogicalDisplayFolderDefaultValueGets the default value for the LogicalDisplayFolder property
MdxScriptsThis 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.
MeasuresGets the AstCubeDimensionNode corresponding to the "Measures" item
OutputCubeLabelSpecifies 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.
OutputCubeLabelDefaultValueGets the default value for the OutputCubeLabel property
PerspectivesThis 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.
ProactiveCachingThis 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.
ProcessingModeThis 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.
ProcessingModeDefaultValueGets the default value for the ProcessingMode property
ProcessingPriorityThis 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.
ProcessingPriorityDefaultValueGets the default value for the ProcessingPriority property
ScriptCacheProcessingModeThis 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.
ScriptCacheProcessingModeDefaultValueGets the default value for the ScriptCacheProcessingMode property
ScriptErrorHandlingModeThis 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.
ScriptErrorHandlingModeDefaultValueGets the default value for the ScriptErrorHandlingMode property
StorageLocationThis 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.
StorageLocationDefaultValueGets the default value for the StorageLocation property
StorageModeThis value specifies which storage mode the cube will use.
StorageModeDefaultValueGets the default value for the StorageMode property
TranslationsThis 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.
VisibleThe 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.
VisibleDefaultValueGets the default value for the Visible property
ScopedNameGets the scoped name which can be used to uniquely identify this object among other objects of its type
SymbolTableGets a reference to the symbol table that stores a reference to this and all other named objects in the project
SsisSafeScopedNameReturns a version of the ScopedName that has been cleaned of invalid characters for SSIS.
SsisSafeNameReturns a version of the Name that has been cleaned of invalid characters for SSIS.
NameSpecifies the name of the object. This name can be used to reference this object from anywhere else in the program.
ReferencesGets collection of FrameworkItemReference objects, which track rich information about the properties that hold references to this node.
NameDefaultValueGets the default value for the Name property
Guid
AnnotationsThis 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.
ObjectTagThis property provides a general purpose storage mechanism for .NET objects to be associated with AstNode objects. It supplements the annotation system, which is intended for use with string-based metadata.
BimlFileThis value specifies the BimlFile in which the Biml code that defines AstNode resides.
ItemLabelGets a label that can be used to identify this node
ParentItemThis value specifies the parent of the current node. All nodes must have a valid parent in the Biml framework, except for the root node.

Methods

MethodsDescription
BindingScopeBoundaries()Retrieves the permitted scope boundaries to bind references from this node.
DefinedAstNodes()Retrieves a collection of nodes that have been defined as direct children of the current node.
Duplicate()Creates a duplicate of the current node
Duplicate(IFrameworkItem)Creates a duplicate of the current node with the specified parent item
GetAllItemsReferencedByDefinedSuccessors()Builds a list of all items referenced by this node and its successors.
Each tuple in the returned list represents a FrameworkItemReference.
The first item is the ReferencingItem, the second item is the property name, and the third item is the ReferencedItem.
GetDefaultValue(String)Retrieves the default value for the property with the name propertyName
GetDefaultValue<T>(String)Retrieves the default value for the property with the name propertyName
GetSchemaLocalName()Retrieves the local XML element name that corresponds to this node in Biml code.
StructureEquals(Object)Compares this node to the provided object to determine if all defined children and references are equal.
ToString()Returns a string that represents the current object. In this case, it is the Name of the node.
OnScopedNameChanged(String, String)
OnItemLabelChanged(String, String)
OnNameChanging(String, String)
OnNameChanged(String, String)
AddScopedNameChangedEventListener(IReferenceableItem, EventHandler<VulcanPropertyChangedEventArgs>)Adds the scoped name changed event handler to the specified referenceable item.
RemoveScopedNameChangedEventListener(IReferenceableItem, EventHandler<VulcanPropertyChangedEventArgs>)Removes the scoped name changed event handler from the specified referenceable item.
FirstChildOfType<TChild>()Gets the first defined descendant node of the specified type
RemoveFromParent()Removes this node definition from its parent
GetJson()Generates a JavaScript Object Notation (JSON) representation of the current node
GetExternalJson()Generates a JavaScript Object Notation (JSON) representation of the current node
GetJson(Boolean, Boolean, Boolean, Boolean, Boolean)Generates a JavaScript Object Notation (JSON) representation of the current node
GetXObjectName()Gets the fully qualified XML element name for this node in the code document.
FirstParent<TAstNode>()Retrieves the first parent or ancestor node of the specified type
FirstParent<TAstNode>(Type)Retrieves the first parent or ancestor node of the specified type with the specified custom attribute type
FirstThisOrParent<TAstNode>()Retrieves the first parent or ancestor node of the specified type, including this node
IsDirectAncestor(IFrameworkItem)Retrieves a value indicating whether the specified node is a direct ancestor of this node.
AncestorDistance(IFrameworkItem)Retrieves the number of steps between this node and the nearest shared ancestor with the specified relative node.
FirstThisOrParent<TAstNode>(Type)Retrieves the first parent or ancestor node (including this node) of the specified type with the specified custom attribute type
AllDefinedSuccessors()Retrieves the collection of all nodes defined as a child of this or any successor node or the current node
AllDefinedSuccessors(Boolean)Retrieves the collection of all nodes defined as a child of this or any successor node or optionally the current node
OnNotificationTargetPropertyChanged(String)
OnScopeBoundaryChanged(IScopeBoundary, IScopeBoundary)
AddParseableChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
RemoveParseableChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
AddScopeBoundaryChangedEventListener(IFrameworkItem, EventHandler<VulcanPropertyChangedEventArgs>)
RemoveScopeBoundaryChangedEventListener(IFrameworkItem, EventHandler<VulcanPropertyChangedEventArgs>)
AddParsePendingChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
RemoveParsePendingChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
AddFromTemplateChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
RemoveFromTemplateChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
ParseSelf(XElement, ParserContext)
ParseNameValueMapping(XElement)