Skip to main content

Class AstSlowlyChangingDimensionNode

The Slowly Changing Dimension transformation checks for dimension attribute changes in incoming data, determines how related records are updated, and specifies how the updated records are inserted into data warehouse dimension tables.

Namespace: Varigence.Languages.Biml.Transformation

Assembly: Biml.dll

C#


public class AstSlowlyChangingDimensionNode : AstSingleInTransformationNode, 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
AstSlowlyChangingDimensionNode(IFrameworkItem)Initializes a new instance of the AstSlowlyChangingDimensionNode class with the specified parent node.

Fields

FieldsDescription
ScopedNamePrefixBackingStore
IsScopeImported

Properties

PropertiesDescription
ChangingAttributePathGets the changing attribute output path for this transformation
ColumnsThis is a collection of column mapping definitions that determine how each of the specified columns will be handled with respect to value changes.
ConnectionThis value specifies a direct reference to the OLE DB connection where the query will be executed.
CurrentRowWhereThis WHERE clause specifies only the current row when several rows have the same business key.
CurrentRowWhereDefaultValueGets the default value for the CurrentRowWhere property
DefaultCodePageThis value specifies which default code page to use when the data source does not specify a default code page.
DefaultCodePageDefaultValueGets the default value for the DefaultCodePage property
EnableInferredMemberThis value determines whether the Slowly Changing Dimension transformation will check for inferred member records that require updating.
EnableInferredMemberDefaultValueGets the default value for the EnableInferredMember property
FailOnFixedAttributeChangeThis value indicates whether the transformation fails when changes occur in row columns with Fixed attributes. The default value is False.
FailOnFixedAttributeChangeDefaultValueGets the default value for the FailOnFixedAttributeChange property
FailOnLookupFailureThe value determines whether the transformation fails if no match for an incoming row is found in the lookup table. The default value is False.
FailOnLookupFailureDefaultValueGets the default value for the FailOnLookupFailure property
FixedAttributePathGets the fixed attribute output path for this transformation
FriendlyTypeNameStaticGets the friendly name of the type of this node
HistoricalAttributePathGets the historical attribute output path for this transformation
IncomingRowChangeTypeThis value determines whether incoming rows are handled as new rows, or whether the type of change is detected for each column and the incoming rows directed to output based on types of changes they contain.
IncomingRowChangeTypeDefaultValueGets the default value for the IncomingRowChangeType property
InferredMemberIndicatorThis value specifies the name of the column which is used to store inferred member records.
InferredMemberIndicatorDefaultValueGets the default value for the InferredMemberIndicator property
InferredMemberPathGets the inferred member output path for this transformation
NewPathGets the new output path for this transformation. This is the preferred output path and will automatically connect to any single-input transformation nodes that directly follow it in the Biml file.
QueryThis value specifies the text or location of the query that will be executed.
UnchangedPathGets the unchanged output path for this transformation
UpdateChangingAttributeHistoryThis value specifies whether or not historical attribute changes sent to the output path for changing attribute updates.
UpdateChangingAttributeHistoryDefaultValueGets the default value for the UpdateChangingAttributeHistory property
InputPathThis specifies the input path that will be used by this dataflow component. If an input path is not specified, the dataflow component will attempt to automatically discover an appropriate input path based on the surrounding dataflow.
VisibleVariablesGets a collection of all variable nodes that are available to be used by this transformation. It includes variables defined by this transformation and any tasks/packages that contain this transformation
PreferredOutputPathGets the preferred output path for the transformation. This output path will support automatic connections to single-input transformations that directly follow in the Biml code
DataflowInputsGets a collection of all dataflow input paths for this transformation
DataflowOutputsGets a collection of all dataflow output paths for this transformation
ValidateExternalMetadataThis value specifies whether the data flow transformation is validated against columns that originated in external data sources. When server assets such as tables and stored procedures are created during processing, ValidateExternalMetadata is normally set to False, which prevents validation from completing at compile time.
LocaleIdThis value specifies which locale is used by the dataflow task.
ErrorHandlingThis value specifies how errors are handled by default in columns processed by the component. This can be overriden at the component or column level for specific cases.
DataflowOverridesProvides a collection of objects to override properties of the component, its input paths, its output paths, and its consituent dataflow columns.
ValidateExternalMetadataDefaultValueGets the default value for the ValidateExternalMetadata property
LocaleIdDefaultValueGets the default value for the LocaleId 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
GetOfflineSchemaItemResource()
StructureEquals(Object)Compares this node to the provided object to determine if all defined children and references are equal.
CurrentSourceOutputPath()Retrieves the output path to which the input path of this transformation is currently connected.

This method takes into account both explicit and implicit connections.
RegisterNewOutput(String)Provides a convenience method for creating a new output path for the transformation, including both static and dynamic paths
RegisterNewOutput(String, Boolean)Provides a convenience method for creating a new output path for the transformation, including both static and dynamic paths
DeregisterOutput(AstDataflowOutputPathNode)Provides a convenience method for removing existing output paths from the transformation, including both static and dynamic paths
GetSchemaLocalName()Retrieves the local XML element name that corresponds to this node in Biml code.
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)