Skip to main content

Base Node Types

Overview

Coalesce base Node Types to construct facts and dimensions.

Installation

  1. Copy the Package ID: @coalesce/snowflake/base-node-types
  2. In Coalesce, open the Workspace where you wish to install the package.
  3. Go to the Build Setting of the Workspace, tab Packages, and click the Install button on the top right of the page.
  4. Paste the Package ID, and proceed with the installation process.

Description

Coalesce Base Node Types Package

The Coalesce Base Node Types Package includes:


Work

The Coalesce Work Node lets you develop and deploy a Work table or view in Snowflake.

A Work Node serves as an intermediary object and is commonly employed to store raw data before undergoing the crucial phases of transformation and loading into the main tables of the data warehouse.

This pivotal step ensures that the raw data is processed and structured effectively.

Work Node Configuration

The Work Node type has two configuration groups:

Work Node configuration

Work Node Properties

PropertyDescription
Storage LocationStorage Location where the Work table or view will be created
Node TypeName of template used to create Node objects
DescriptionA description of the Node's purpose
Deploy EnabledIf TRUE the Node will be deployed or redeployed when changes are detected
If FALSE the Node will not be deployed or will be dropped during redeployment

Work Options

You can create the Node as:

Work Options Table

Work_options_table1

PropertyDescription
Multi SourceToggle: True or False
Implementation of SQL UNIONs
True: Combine multiple sources in a single Node
True Options:
- UNION: Combines with duplicate elimination
- UNION ALL: Combines without duplicate elimination
- INSERT: Individual insert for each source
False: single-source Node or multiple sources combined using a join
Truncate BeforeToggle: True or False
This determines whether a table will be truncated before data load.
True:Truncate table stage gets executed
False: Table is not truncated before data load
Enable testsToggle: True or False
Determines if tests are enabled
DistinctToggle: True or False
True: Group by All is invisible. DISTINCT data is chosen for processing
False: Group by All is visible
Group by AllToggle: True or False
True: DISTINCT is invisible. Data is grouped by all columns for processing
False: DISTINCT is visible
Order ByToggle: True or False
True: Sort column and sort order drop down are visible and are required to form order by clause
False: Sort column and sort order drop down are invisible
ASOF JoinToggle: True or False
True: ASOF Join Options will be visible.
False: ASOF Join Options will be invisible
Pre-SQLSQL to execute before data insert operation
Post-SQLSQL to execute after data insert operation
Work Options View

Work_options_view1

SettingDescription
Override Create SQLToggle: True or False
True: Customized Create SQL specified in the Create SQL space is executed. All other options are invisible except 'Enable Tests'
False: Create view SQL based on options chosen are framed and executed
Multi SourceToggle: True or False
Implementation of SQL UNIONs
True: Combine multiple sources in a single Node
True Options:
- UNION: Combines with duplicate elimination
- UNION ALL: Combines without duplicate elimination
False: single-source Node or multiple sources combined using a join
Enable testsToggle: True or False
Determines if tests are enabled
DistinctToggle: True or False
True: Group by All is invisible. DISTINCT data is chosen for processing
False: Group by All is visible
Group by AllToggle: True or False
True: DISTINCT is invisible. Data is grouped by all columns for processing
False: DISTINCT is visible
ASOF JoinToggle: True or False
True: ASOF Join Options will be visible.
False: ASOF Join Options will be invisible
ASOF Join Options
SettingDescription
Match ConditionToggle: True or False
Match Condition Clause from Snowflake ASOF join
True: Allows you to specify the match condition.
- Right Table Storage Location: Add right table storage location
- Right Table Name: Add name of the right table
- Match Condition: Add a match condition in the format "Left Table Name"."Column Name" Condition Operator "Right Table Name"."Column Name"
False : No Match Condition Added
OnToggle: True or False
ON Clause with Match Condition from Snowflake ASOF join. Using will be invisible
True: Allows you to add the ON Clause.
ON Condition: Add a match condition in the format "Left Table Name"."Column Name" = "Right Table Name"."Column Name"
False: No ON Clause Added. Using will be visible
UsingToggle: True or False
Using Clause with Match Condition from Snowflake ASOF join. On will be invisible
True: Allows you to add the Using Clause.
Using Column Name : Add a Column Name for Using clause
False: No Using Clause Added. On will be visible

Work Joins

Join conditions and other clauses can be specified in the join space next to mapping of columns in the Coalesce App.

work_join

📘 Specify Group by and Order by Clauses

You should specify group by and order by clauses in this space if you are not opting for the group by all and order by provided in OPTIONS config.

Work ASOF Joins

After selecting options for ASOF Join, click Generate join, then use Copy To Editor to add the new ASOF join.

ASOF Join: Generate join and Copy To Editor actions in the Coalesce App

Work Deployment

Work Initial Deployment

When deployed for the first time into an Environment the Work Node of materialization type table will execute the below stage:

StageDescription
Create Work TableThis will execute a CREATE OR REPLACE statement and create a table in the target Environment
Create Work ViewThis will execute a CREATE OR REPLACE statement and create a view in the target Environment

Work Redeployment

After the Work Node with materialization type table has been deployed for the first time into a target Environment, subsequent deployments may result in either altering the Work Table or recreating the Work table.

Altering the Work Tables

A few types of column or table changes will result in an ALTER statement to modify the Work Table in the target Environment, whether these changes are made individually or all together:

  • Changing table names
  • Dropping existing columns
  • Altering column data types
  • Adding new columns

The following stages are executed:

StageDescription
Clone TableCreates an internal table
Rename Table| Alter Column | Delete Column | Add Column | Edit table descriptionAlter table statement is executed to perform the alter operation
Swap Cloned TableUpon successful completion of all updates, the clone replaces the main table ensuring that no data is lost
Delete TableDrops the internal table

Recreating the Work Tables

If any of the following changes are detected, then the table will be recreated using a CREATE OR REPLACE.

  • Join clause
  • Adding transformation
  • Changes in configuration like adding distinct, group by, or order by

One of the following stages is executed:

StageDescription
Create TableCreates a new table
Replace TableReplaces an existing table

Recreating the Work Views

The subsequent deployment of the Work Node of materialization type view with changes in view definition, adding table description or renaming view results in deleting the existing view and recreating the view.

The following stages are executed:

StageDescription
Delete ViewRemoves existing view
Create ViewCreates new view with updated definition

Removing a Work Node

If a Work Node of materialization type table is deleted from a Workspace, that Workspace is committed to Git and that commit deployed to a higher-level Environment then the WorkTable in the target Environment will be dropped.

This is executed in two stages:

StageDescription
Delete TableCoalesce Internal table is dropped
Delete TableTarget table in Snowflake is dropped

If a Work Node of materialization type view is deleted from a Workspace, that Workspace is committed to Git and that commit deployed to a higher-level Environment then the WorkView in the target Environment will be dropped.

The stage executed:

StageDescription
Delete ViewDrops the existing Work view from the target Environment

Persistent Stage

The Persistent Stage Node serves as an intermediary object and is commonly used to persist data across multiple execution cycles.

It plays a crucial role in tracking the historical changes of columns linked to business keys.

This functionality is particularly beneficial when the objective is to retain raw data for prolonged durations.

Persistent Stage Node Configuration

The Persistent Stage Node type has two configuration groups:

Persistent Stage Node configuration

Persistent Stage Node Properties

PropertyDescription
Storage LocationStorage Location where the Persistent Stage table will be created
Node TypeName of template used to create Node objects
DescriptionA description of the Node's purpose
Deploy EnabledIf TRUE the Node will be deployed or redeployed when changes are detected
If FALSE the Node will not be deployed or will be dropped during redeployment

Persistent Stage Options

OptionDescription
Create AsTable is the only option at this time
Multi SourceToggle: True or False
Implementation of SQL UNIONs
True: Combine multiple sources in a single Node
True Options:
- UNION: Combines with duplicate elimination
- UNION ALL: Combines without duplicate elimination
False: single-source Node or multiple sources combined using a join
Business keyRequired column for both Type 1 and Type 2.
Note: Geometry and Geography data type columns are not supported as business key columns.
Last Modified ComparisonTrue:When enabled we can do timestamp based CDC
False:Regular CDC based on Change tracking columns is done
Last Modified Column(Enabled for Last Modified Comparison)Timestamp/Incremental ID column can be chosen.Based on which CDC is done
Treat Null as Current timestamp(Enabled for Last Modified Comparison)Records with NULL timestamp are updated in target
Type 2 Dimension(Enabled for Last Modified Comparison)CDC is based on timestamp/ID column chosen above.Change tracking columns are not enabled for this scenario
Change trackingRequired column for Type 2
Delete StrategyVisible only when a Business Key is configured.
NO DELETE: Deleted records are not processed.
SOFT DELETE: Deleted records are kept in the target but marked as inactive.
HARD DELETE: Deleted records and all their version history are permanently removed from the target.
Column that Identifies DML OperationsThe column in the source table that tells whether a record is an Insert, Update or Delete.
Delete ValueThe value in the DML column that signals a record should be deleted.
Truncate BeforeToggle: True or False
This determines whether a table will be truncated before data load.
True:Truncate table stage gets executed
False: Table is not truncated before data load
Enable testsToggle: True or False
Determines if tests are enabled
DistinctToggle: True or False
True: Group by All is invisible. DISTINCT data is chosen for processing
False: Group by All is visible
Group by AllToggle: True or False
True: DISTINCT is invisible. Data is grouped by all columns for processing
False: DISTINCT is visible
Order ByToggle: True or False
True: Sort column and sort order drop down are visible and are required to form order by clause
False: Sort column and sort order drop down are invisible
Pre-SQLSQL to execute before data insert operation
Post-SQLSQL to execute after data insert operation

Persistent Stage Joins

Join conditions and other clauses can be specified in the join space next to mapping of columns in the Coalesce App.

pstage_join

📘 Specify Group by and Order by Clauses

You should specify group by and order by clauses in this space if you are not opting for the group by all and order by provided in OPTIONS config.

Persistent Stage Deployment

Persistent Stage Initial Deployment

When deployed for the first time into an Environment the Persistent Stage Node will execute the below stage:

StageDescription
Create Persistent TableThis will execute a CREATE OR REPLACE statement and create a table in the target Environment

Persistent Stage Redeployment

After the Persistent Stage Node has been deployed for the first time into a target Environment, subsequent deployments may result in either altering the Persistent Table or recreating the Persistent table.

Altering the Persistent Tables

A few types of column or table changes will result in an ALTER statement to modify the Persistent Table in the target Environment, whether these changes are made individually or all together:

  • Changing table names
  • Dropping existing columns
  • Altering column data types
  • Adding new columns

The following stages are executed:

StageDescription
Clone TableCreates an internal table
Rename Table| Alter Column | Delete Column | Add Column | Edit table descriptionAlter table statement is executed to perform the alter operation
Swap Cloned TableUpon successful completion of all updates, the clone replaces the main table ensuring that no data is lost
Delete TableDrops the internal table

Recreating the Persistent Tables

If any of the following changes are detected, then the table will be recreated using a CREATE OR REPLACE.

  • Join clause
  • Adding transformation
  • Changes in configuration like adding distinct, group by, or order by

One of the following stages is executed:

StageDescription
Create TableCreates a new table
Replace TableReplaces an existing table

Removing a Persistent Stage Node

If a Persistent Node is deleted from a Workspace, that Workspace is committed to Git and that commit deployed to a higher-level Environment then the Persistent Table in the target Environment will be dropped.

This is executed in two stages:

StageDescription
Delete TableDrops table
Drop Table or ViewRemoves the table

Dimension

The Coalesce Dimension UDN lets you develop and deploy a Dimension table in Snowflake.

A dimension table or dimension entity is a table or entity in a star, snowflake, or starflake schema that stores details about the facts. Dimension tables describe the different aspects of a business process.

Dimension Node Configuration

The Dimension Node type has two configuration groups:

Dimension Node configuration

Dimension Node Properties

PropertyDescription
Storage LocationStorage Location where the dimension table or view will be created
Node TypeName of template used to create Node objects
DescriptionA description of the Node's purpose
Deploy EnabledIf TRUE the Node will be deployed or redeployed when changes are detected
If FALSE the Node will not be deployed or will be dropped during redeployment

Dimension Options

Dimension Table Options
OptionsDescription
Create AsTable or View
Insert Zero Key RecordToggle: True or False
Insert Zero Key Record to Dimension
True: Zero Key Record Options enabled.
False: Zero Key Record not added
Multi SourceToggle: True or False
Implementation of SQL UNIONs
True: Combine multiple sources in a single Node
True Options:
- UNION: Combines with duplicate elimination
- UNION ALL: Combines without duplicate elimination
False: single-source Node or multiple sources combined using a join
Business keyRequired column for both Type 1 and Type 2 Dimensions.
Note: Geometry and Geography data type columns are not supported as business key columns.
Last Modified ComparisonTrue:When enabled we can do timestamp based CDC
False:Regular CDC based on Change tracking columns is done
Last Modified Column(Enabled for Last Modified Comparison)Timestamp/Incremental ID column can be chosen.Based on which CDC is done
Treat Null as Current timestamp(Enabled for Last Modified Comparison)Records with NULL timestamp are updated in target
Type 2 Dimension(Enabled for Last Modified Comparison)CDC is based on timestamp/ID column chosen above.Change tracking columns are not enabled for this scenario
Change trackingRequired column for Type 2 Dimension
Truncate BeforeToggle: True or False
This determines whether a table will be truncated before data load.
True:Truncate table stage gets executed
False: Table is not truncated before data load
Enable testsToggle: True or False
Determines if tests are enabled
DistinctToggle: True or False
True: Group by All is invisible. DISTINCT data is chosen for processing
False: Group by All is visible
Group by AllToggle: True or False
True: DISTINCT is invisible. Data is grouped by all columns for processing
False: DISTINCT is visible
Order ByToggle: True or False
True: Sort column and sort order drop down are visible and are required to form order by clause
False: Sort column and sort order drop down are invisible
Zero Key Record OptionsAdd custom zero key record values for :
-Default Surrogate Key Value
-Default String Value
-Default Date Value (Date Format DD-MM-YYYY)
-Default Timestamp Value (Timestamp Format YYYY-MM-DD HH24:MI:SS.FF)
-Default Boolean Value
Advanced Zero Key Record OptionsToggle: True or False
True: Select Columns and the default value of the column for zero key record
False: Advanced Zero Key Record Options not enabled
Pre-SQLSQL to execute before data insert operation
Post-SQLSQL to execute after data insert operation
Dimension View Options

Work_options_view1

OptionsDescription
Override Create SQLToggle: True or False
True: Customized Create SQL specified in the Create SQL space is executed. All other options are invisible except 'Enable Tests'
False: Create view SQL based on options chosen are framed and executed
Multi SourceToggle: True or False
Implementation of SQL UNIONs
True: Combine multiple sources in a single Node
True Options:
- UNION: Combines with duplicate elimination
- UNION ALL: Combines without duplicate elimination
False: single-source Node or multiple sources combined using a join
Business keyRequired column for both Type 1 and Type 2 Dimensions
Enable testsToggle: True or False
Determines if tests are enabled
DistinctToggle: True or False
True: Group by All is invisible. DISTINCT data is chosen for processing
False: Group by All is visible
Group by AllToggle: True or False
True: DISTINCT is invisible. Data is grouped by all columns for processing
False: DISTINCT is visible

Dimension Joins

Join conditions and other clauses can be specified in the join space next to mapping of columns in the Coalesce App.

Dimension_join

📘 Specify Group by and Order by Clauses

You should specify group by and order by clauses in this space if you are not opting for the group by all and order by provided in OPTIONS config.

Dimension Deployment

Dimension Initial Deployment

When deployed for the first time into an Environment the Dimension Node of materialization type table will execute the Create Dimension Table stage.

StageDescription
Create Dimension TableThis will execute a CREATE OR REPLACE statement and create a table in the target Environment
Create Dimension ViewThis will execute a CREATE OR REPLACE statement and create a view in the target Environment

Dimension Redeployment

After the Dimension Node of materialization type table has been deployed for the first time into a target Environment, subsequent deployments may result in either altering the Dimension Table or recreating the Dimension table.

Altering the Dimension Tables

A few types of column or table changes will result in an ALTER statement to modify the Dimension Table in the target Environment, whether these changes are made individually or all together:

  • Changing table names
  • Dropping existing columns
  • Altering column data types
  • Adding new columns

The following stages are executed:

StageDescription
Clone TableCreates an internal table
Rename Table| Alter Column | Delete Column | Add Column | Edit table descriptionAlter table statement is executed to perform the alter operation
Swap Cloned TableUpon successful completion of all updates, the clone replaces the main table ensuring that no data is lost
Delete TableDrops the internal table

Recreating the Dimension Tables

If any of the following changes are detected, then the table will be recreated using a CREATE OR REPLACE.

  • Join clause
  • Adding transformation
  • Changes in configuration like adding distinct, group by, or order by

One of the following stages is executed:

StageDescription
Create TableCreates a new table
Replace TableReplaces an existing table

Recreating the Dimension Views

Any of the following changes to views will result in deleting and recreating the Dimension view.

  • View definition
  • Adding table description
  • Renaming the view

Removing a Dimension Node

If a Dimension Node is deleted from a Workspace, that Workspace is committed to Git and that commit deployed to a higher-level Environment then the Dimension Table in the target Environment will be dropped.

This is executed in two stages:

StageDescription
Delete TableCoalesce Internal table is dropped
Delete TableTarget table in Snowflake is dropped

If a Dimension Node of materialization type view is deleted from a Workspace, that Workspace is committed to Git and that commit deployed to a higher-level Environment then the Dimension View in the target Environment will be dropped.

StageDescription
Delete ViewDrops the existing Dimension view from the target Environment.

Fact

The Coalesce Fact UDN lets you develop and deploy a Fact table in Snowflake.

A fact table or a fact entity is a table or entity in a star or snowflake schema that stores measures that measure the business, such as sales, cost of goods, or profit. Fact tables and entities aggregate measures, or the numerical data of a business.

Fact Node Configuration

The Fact Node has two configuration groups:

Fact Node configuration

Fact Node Properties

PropertiesDescription
Storage LocationStorage Location where the fact table will be created
Node TypeName of template used to create Node objects
DescriptionA description of the Node's purpose
Deploy EnabledIf TRUE the Node will be deployed or redeployed when changes are detected
If FALSE the Node will not be deployed or will be dropped during redeployment

Fact Options

OptionsDescription
Multi SourceToggle: True or False
Implementation of SQL UNIONs
True: Combine multiple sources in a single Node
True Options:
- UNION: Combines with duplicate elimination
- UNION ALL: Combines without duplicate elimination
False: single-source Node or multiple sources combined using a join
Business keyRequired column for Fact table creation.
Note: Geometry and Geography data type columns are not supported as business key columns.
Last Modified ComparisonTrue:When enabled we can do timestamp based CDC
False:Regular CDC based on Change tracking columns is done
Last Modified Column(Enabled for Last Modified Comparison)Timestamp/Incremental ID column can be chosen.Based on which CDC is done
Treat Null as Current timestamp(Enabled for Last Modified Comparison)Records with NULL timestamp are updated in target
Truncate BeforeToggle: True or False
This determines whether a table will be truncated before data load.
True:Truncate table stage gets executed
False: Table is not truncated before data load
Enable testsToggle: True or False
Determines if tests are enabled
DistinctToggle: True or False
True: Group by All is invisible. DISTINCT data is chosen for processing
False: Group by All is visible
Group by AllToggle: True or False
True: DISTINCT is invisible. Data is grouped by all columns for processing
False: DISTINCT is visible
Order ByToggle: True or False
True: Sort column and sort order drop down are visible and are required to form order by clause
False: Sort column and sort order drop down are invisible
Pre-SQLSQL to execute before data insert operation
Post-SQLSQL to execute after data insert operation

Fact View

Work_options_view1

SettingDescription
Override Create SQLToggle: True or False
True: Customized Create SQL specified in the Create SQL space is executed. All other options are invisible except 'Enable Tests'
False: Create view SQL based on options chosen are framed and executed
Multi SourceToggle: True or False
Implementation of SQL UNIONs
True: Combine multiple sources in a single Node
True Options:
- UNION: Combines with duplicate elimination
- UNION ALL: Combines without duplicate elimination
False: single-source Node or multiple sources combined using a join
Enable testsToggle: True or False
Determines if tests are enabled
DistinctToggle: True or False
True: Group by All is invisible. DISTINCT data is chosen for processing
False: Group by All is visible
Group by AllToggle: True or False
True: DISTINCT is invisible. Data is grouped by all columns for processing
False: DISTINCT is visible

Fact Joins

Join conditions and other clauses like where, qualify can be specified in the join space next to mapping of columns in the Coalesce App.

fact_join

📘 Specify Group by and Order by Clauses

You should specify group by and order by clauses in this space if you are not opting for the group by all and order by provided in OPTIONS config.

Fact Deployment

Fact Initial Deployment

When deployed for the first time into an Environment the Fact Node of materialization type table will execute the Create Fact Table stage.

StageDescription
Create Fact TableThis will execute a CREATE OR REPLACE statement and create a table in the target Environment
Create Fact ViewThis will execute a CREATE OR REPLACE statement and create a view in the target Environment

Fact Redeployment

After the Fact Node has been deployed for the first time into a target Environment, subsequent deployments may result in either altering the Fact Table or recreating the Fact table.

Altering the Fact Tables

A few types of column or table changes will result in an ALTER statement to modify the Fact Table in the target Environment, whether these changes are made individually or all together:

  • Changing table names
  • Dropping existing columns
  • Altering column data types
  • Adding new columns

The following stages are executed:

StageDescription
Clone TableCreates an internal table
Rename Table| Alter Column | Delete Column | Add Column | Edit table descriptionAlter table statement is executed to perform the alter operation
Swap Cloned TableUpon successful completion of all updates, the clone replaces the main table ensuring that no data is lost
Delete TableDrops the internal table

Recreating the Fact Tables

If any of the following changes are detected, the Fact table is recreated using CREATE OR REPLACE:

  • Join clause
  • Adding transformation
  • Change in business key
  • Changes in configuration like adding distinct, group by, or order by

One of the following stages is executed:

StageDescription
Create TableCreates a new table
Replace TableReplaces an existing table

Recreating the Fact Views

The subsequent deployment of the Fact Node of materialization type view with changes in view definition, adding table description, or renaming the view results in deleting the existing view and recreating the view.

The following stages are executed:

StageDescription
Delete ViewRemoves existing view
Create ViewCreates new view with updated definition

Removing a Fact Node

If a Fact Node is deleted from a Workspace, that Workspace is committed to Git and that commit deployed to a higher-level Environment then the Fact Table in the target Environment will be dropped.

This is executed in two stages:

StageDescription
Delete TableCoalesce Internal table is dropped
Delete TableTarget table in Snowflake is dropped

Factless Fact

The Coalesce Factless Fact UDN lets you develop and deploy a factless fact table in Snowflake.

A factless fact table is used to record events or situations that have no measures, and it has the same level of detail as the dimensions.

Factless Fact Node Configuration

The Factless Fact Node has two configuration groups:

Factless Fact Node Properties

PropertiesDescription
Storage LocationStorage Location where the factless fact table will be created
Node TypeName of template used to create Node objects
DescriptionA description of the Node's purpose
Deploy EnabledIf TRUE the Node will be deployed or redeployed when changes are detected
If FALSE the Node will not be deployed or will be dropped during redeployment

Factless Fact Options

Factless_options

OptionsDescription
Create AsTable is the only option at this time
Multi SourceToggle: True or False
Implementation of SQL UNIONs
True: Combine multiple sources in a single Node
True Options:
- UNION: Combines with duplicate elimination
- UNION ALL: Combines without duplicate elimination
False: single-source Node or multiple sources combined using a join
Truncate BeforeToggle: True or False
This determines whether a table will be truncated before data load.
True:Truncate table stage gets executed
False: Table is not truncated before data load
Enable testsToggle: True or False
Determines if tests are enabled
DistinctToggle: True or False
True: Group by All is invisible. DISTINCT data is chosen for processing
False: Group by All is visible
Group by AllToggle: True or False
True: DISTINCT is invisible. Data is grouped by all columns for processing
False: DISTINCT is visible
Order ByToggle: True or False
True: Sort column and sort order drop down are visible and are required to form order by clause
False: Sort column and sort order drop down are invisible
Pre-SQLSQL to execute before data insert operation
Post-SQLSQL to execute after data insert operation

Factless Fact Joins

Join conditions and other clauses like where, qualify can be specified in the join space next to mapping of columns in the Coalesce App.

fact_join

📘 Specify Group by and Order by Clauses

You should specify group by and order by clauses in this space if you are not opting for the group by all and order by provided in OPTIONS config.

Factless Fact Deployment

Factless Fact Initial Deployment

When deployed for the first time into an Environment the Factless Fact Node of materialization type table will execute the Create Fact Table stage.

StageDescription
Create Fact TableThis will execute a CREATE OR REPLACE statement and create a table in the target Environment

Factless Fact Redeployment

After the Factless Fact Node has been deployed for the first time into a target Environment, subsequent deployments may result in either altering the Factless Fact table or recreating the Factless Fact table.

Altering the Factless Fact Tables

A few types of column or table changes will result in an ALTER statement to modify the Factless Fact Table in the target Environment, whether these changes are made individually or all together:

  • Changing table names
  • Dropping existing columns
  • Altering column data types
  • Adding new columns

The following stages are executed:

StageDescription
Clone TableCreates an internal table
Rename Table| Alter Column | Delete Column | Add Column | Edit table descriptionAlter table statement is executed to perform the alter operation
Swap Cloned TableUpon successful completion of all updates, the clone replaces the main table ensuring that no data is lost
Delete TableDrops the internal table

Recreating the Factless Fact Tables

If any of the following changes are detected, then the table will be recreated using a CREATE OR REPLACE.

  • Join clause
  • Adding transformations
  • Changes in configuration like adding distinct, group by, or order by

One of the following stages is executed:

StageDescription
Create TableCreates a new table
Replace TableReplaces an existing table

Removing a Factless Fact Node

If a Factless Fact Node is deleted from a Workspace, that Workspace is committed to Git and that commit deployed to a higher-level Environment then the Factless Fact table in the target Environment will be dropped.

This is executed in two stages:

StageDescription
Delete TableCoalesce Internal table is dropped
Delete TableTarget table in Snowflake is dropped

View

The Coalesce View UDN lets you develop and deploy a View in Snowflake.

A view allows the result of a query to be accessed as if it were a table. Views serve a variety of purposes, including combining, segregating, and protecting data.

View Node Configuration

The View Node type has two configuration groups:

View Node configuration

View Node Properties

PropertiesDescription
Storage LocationStorage Location where the view will be created
Node TypeName of template used to create Node objects
DescriptionA description of the Node's purpose
Deploy EnabledIf TRUE the Node will be deployed or redeployed when changes are detected
If FALSE the Node will not be deployed or will be dropped during redeployment

View Options

OptionsDescription
Override Create SQLToggle: True or False
True: Customized Create SQL specified in the Create SQL space is executed. All other options are invisible
False: Create view SQL based on options chosen are framed and executed
Multi SourceToggle: True or False
Implementation of SQL UNIONs
True: Combine multiple sources in a single Node
True Options:
- UNION: Combines with duplicate elimination
- UNION ALL: Combines without duplicate elimination
False: single-source Node or multiple sources combined using a join
DistinctToggle: True or False
True: Group by All is invisible. DISTINCT data is chosen for processing
False: Group by All is visible
Group by AllToggle: True or False
True: DISTINCT is invisible. Data is grouped by all columns for processing
False: DISTINCT is visible
SecureToggle: True or False
True: A secured view is created
False: A normal view is created

View Joins

Join conditions and other clauses like where, qualify can be specified in the join space next to mapping of columns in the Coalesce App.

📘 Specify Group by Clauses

Best Practice is to specify group by clauses in this space if you are not opting for the group by all provided in OPTIONS config.

View Deployment

View Initial Deployment

When deployed for the first time into an Environment the View Node will execute the Create View stage.

StageDescription
Create ViewThis will execute a CREATE OR REPLACE statement and create a View in the target Environment

View Redeployment

The subsequent deployment of the View Node with changes in view definition, adding table description, adding secure option or renaming view results in deleting the existing view and recreating the view.

The following stages are executed:

StageDescription
Delete ViewRemoves existing view
Create ViewCreates new view with updated definition

Removing a View Node

If a View Node is deleted from a Workspace, that Workspace is committed to Git and that commit deployed to a higher-level Environment then the View in the target Environment will be dropped.

This is executed in the below stage:

StageDescription
Delete ViewRemoves the view from the Environment

Code

Work Code

Persistent Stage Code

Dimension Code

Fact Code

Factless Fact Code

View Code

Macros

Versions

Available versions of the package.

Version #Release DateNotes
1.6.1May 08, 2026NM-236 NM-236-Add delete option to Persistent Stage node (Snowflake) and minor bug fixes
1.5.0February 27, 2026get_clause() macro adapted to support column names with keywords
1.4.0January 14, 2026Adding Last Modified configuration
1.3.7November 18, 2025Added an else block to the RUN template to handle cases where the materializationType is View
1.3.6November 04, 2025Config UI changes