Transformation Security
Configuration for attribute transformations during materialization, semantic layer expressions, column naming, null handling, schema consolidation, and security policies including row-level access and
Overview
Transformation & Security metadata controls transformations during materialization, semantic layer views, and security policies. Configure business logic and security here.
Column Naming
Alias Name (ALIAS_NAME)
Custom column name alias for Dynamic Table column
Editable - Overrides
POLYMORPHIC_ATTRIBUTE_NAMEExample:
customer_emailinstead ofemail_str
Code Generated Column Name (CODE_GENERATED_COLUMN_NAME)
Final column name used in generated SQL
Uses
ALIAS_NAMEif provided, otherwisePOLYMORPHIC_ATTRIBUTE_NAMERead-only - Automatically generated
Reference this name in virtual attribute expressions and view expressions
Materialization Transformations
Transformation Type (TRANSFORMATION_TYPE)
Values:
'No Transformation','SQL Expression'Editable
No Transformation:
Uses attribute as-is with
NULL_VALUE_EXPRESSION(if provided)Default behavior
SQL Expression:
Applies
TRANSFORMATION_EXPRESSIONNULL_VALUE_EXPRESSIONnot applicable
Null Value Expression (NULL_VALUE_EXPRESSION)
SQL expression for handling null/missing values
Default:
NULLEditable - Only applies when
TRANSFORMATION_TYPE = 'No Transformation'Can use
{attribute_name}placeholder
Examples:
Transformation Expression (TRANSFORMATION_EXPRESSION)
SQL expression for Dynamic Table column when
TRANSFORMATION_TYPE = 'SQL Expression'Editable - Can use
{attribute_name}placeholderApplied during materialization
Examples:
Transformation Expression Comment (TRANSFORMATION_EXPRESSION_COMMENT)
Documentation for transformation expression
Editable
Schema Consolidation
Unify attributes across different paths using regex and SQL expressions.
Schema Insert Regular Expression Search (SCHEMA_INSERT_REGULAR_EXPRESSION_SEARCH)
Regex pattern for attribute consolidation
Editable - Used to find portions of paths to replace
Works with
SCHEMA_INSERT_SQL_EXPRESSIONto produce unified paths
Schema Insert SQL Expression (SCHEMA_INSERT_SQL_EXPRESSION)
SQL expression for attribute consolidation
Editable - Uses regex matches to produce unified attribute paths
Applied during code generation
Use cases: Unifying similar attributes with different paths, normalizing path variations, consolidating polymorphic variations.
Semantic Layer Configuration
Additional transformations on top of materialized Dynamic Table columns for analytics.
Include In Semantic Layer (INCLUDE_IN_SEMANTIC_LAYER)
Boolean for including in semantic layer views
Editable -
TRUE= appears in views,FALSE= excluded
Semantic Layer Expression (SEMANTIC_LAYER_EXPRESSION)
Additional transformation for semantic layer views
Editable - Applied on top of materialized columns
{attribute_name}placeholder refers to Dynamic Table columnCan reference other columns using
CODE_GENERATED_COLUMN_NAME
Examples:
Semantic Layer Expression Comment (SEMANTIC_LAYER_EXPRESSION_COMMENT)
Documentation for view transformation
Editable
Semantic Layer Alias Name (SEMANTIC_LAYER_ALIAS_NAME)
Custom alias for semantic layer views
Editable - Overrides materialized column name in views
Security Policy Integration
Include In Security Row Level Policy (INCLUDE_IN_SECURITY_ROW_LEVEL_POLICY)
Boolean for row-level security policy integration
Editable -
TRUE= included in row access policyRequires Security Policy Integration product tier
Masking Policy Name (MASKING_POLICY_NAME)
Name of column masking policy to apply
Editable - Policy must exist in Snowflake
Applied to column in generated Dynamic Tables
Requires Security Policy Integration product tier
Masking Policy Parameters (MASKING_POLICY_PARAMETERS)
Parameters for masking policy
Editable - Comma-separated list of additional columns to pass as parameters
Format depends on policy definition
Merge Polymorphic Versions
Feature to automatically merge numeric polymorphic versions (int, float, str) into either float or string version.
How it works:
Creates SQL expressions using
COALESCEto handle type variationsUpdates
INCLUDE_IN_SEMANTIC_LAYERflags appropriatelyMaterialized columns remain separate (only semantic layer expressions updated)
Merge options:
Merge Into Float - Consolidates int, float, str into float version
Merge Into String - Consolidates int, float, str into string version
When to use: Multiple numeric polymorphic versions represent the same data; want to simplify semantic layer.
Common Scenarios
Data cleaning during materialization:
Set
TRANSFORMATION_TYPE = 'SQL Expression'Write
TRANSFORMATION_EXPRESSION:TRIM(UPPER({attribute_name}))Document in
TRANSFORMATION_EXPRESSION_COMMENT
Default values for missing data:
Set
TRANSFORMATION_TYPE = 'No Transformation'Set
NULL_VALUE_EXPRESSION:COALESCE({attribute_name}, 'default_value')
View-level calculations:
Set
INCLUDE_IN_SEMANTIC_LAYER = TRUEWrite
SEMANTIC_LAYER_EXPRESSION:{price} * {quantity}Set
SEMANTIC_LAYER_ALIAS_NAMEfor calculated field
Applying masking policies:
Create masking policy in Snowflake
Set
MASKING_POLICY_NAMEto policy nameSet
MASKING_POLICY_PARAMETERSif needed
Row-level security:
Set
INCLUDE_IN_SECURITY_ROW_LEVEL_POLICY = TRUEfor relevant attributesConfigure row access policy in Snowflake
Policy applied during code generation
Last updated
Was this helpful?