Astera Data Stack
Version 6
Version 6
  • Welcome to Astera Data Stack Documentation
  • Release Notes
    • Upgrading from Astera 5.1 to 6.0
  • Getting Started
    • Introduction to Astera 6 Webinar Video
  • Dataflows
    • Introducing Dataflows
    • Dataflow Examples
    • Parameterizing Dataflows
    • Sources
      • Setting Up Sources
      • ADO.Net Metadata Collections Source
      • COBOL File Source
      • Data Model Source
      • Database Table Source
      • Delimited File Source
      • Excel File Source
      • File System Entries Source
      • Fixed Length File Source
      • SQL Query Source
      • XML/JSON File Source
    • Transformations
      • Introducing Transformations
      • Aggregate Transformation
      • Apply To All Transformation
      • Constant Value Transformation
      • Data Quality Rules Transformation
      • Denormalize Transformation
      • Distinct Transformation
      • Expression Transformation
      • Filter Transformation
      • Join Transformation
      • Merge Transformation
      • Normalize Transformation
      • Passthru Transformation
      • REST Client
      • Route Transformation
      • Sequence Generator
      • Sort Transformation
      • Subflow Transformation
      • Tree Join Transformation
      • Union Transformation
      • Web Service Transformation
    • Destinations
      • Setting Up Destinations
      • Database Table Destination
      • Delimited File Destination
      • Excel File Destination
      • Fixed Length File Destination
      • SQL Statement Destination
      • XML File Destination
    • Maps
      • Linking and Mapping Objects
      • Creating Constant Value Maps
      • Creating Database Lookup Maps
      • Creating Direct Maps
      • Creating Expression Maps
      • Creating Function Maps
      • Creating List Lookup Maps
      • Creating SQL Statement Lookup Maps
    • Data Logging and Profiling
      • Creating Data Profiles
      • Creating Field Profiles
      • Using Data Quality Mode
      • Using Data Quality Rules
      • Using Record Level Log
    • Database Write Strategies
      • Database Write Strategies
  • Workflows
    • Adding Workflow Tasks
    • Creating Workflows
    • Customizing Workflows With Parameters
    • Using Workflow Designer
  • Subflows
    • Using Subflows in Astera
  • Report Model
    • Report Model Tutorial
    • Applying an Existing Model to a New Report
    • Using Report Models to Extract Business Information from Printed Documents
  • Functions
    • Introducing Function Transformations
    • Functions Glossary
    • Custom Functions
    • Logical
      • Coalesce (Any value1, Any value2)
      • IsNotNull (AnyValue)
      • IsRealNumber (AnyValue)
      • IsValidSqlDate (Date)
      • IsDate (AnyValue)
      • If (Boolean)
      • If (DateTime)
      • If (Double)
      • Exists
      • If (Int64)
      • If (String)
      • IsDate (str, strformat)
      • IsInteger (AnyValue)
      • IsNullOrWhitespace (StringValue)
      • IsNullorEmpty (StringValue)
      • IsNull (AnyValue)
      • IsNumeric (AnyValue)
    • Conversion
      • GetDateComponents (DateWithOffset)
      • ParseDate (Formats, Str)
      • GetDateComponents (Date)
      • HexToInteger (Any Value)
      • ToInteger (Any value)
      • ToDecimal (Any value)
      • ToReal (Any value)
      • ToDate (String dateStr)
      • TryParseDate (String, UnknownDate)
      • ToString (Any value)
      • ToString (DateValue)
      • ToString (Any data, String format)
    • Math
      • Abs (Double)
      • Abs (Decimal)
      • Ceiling (Real)
      • Ceiling(Decimal)
      • Floor (Decimal)
      • Floor (Real)
      • Max (Decimal)
      • Max (Date)
      • Min (Decimal)
      • Min (Date)
      • Max (Real)
      • Max (Integer)
      • Min (Real)
      • Pow (BaseExponent)
      • Min (Integer)
      • RandomReal (Int)
      • Round (Real)
      • Round (Real Integer)
      • Round (Decimal Integer)
      • Round (Decimal)
    • Financial
      • DDB
      • FV
      • IPmt
      • IPmt (FV)
      • Pmt
      • Pmt (FV)
      • PPmt
      • PPmt (FV)
      • PV (FV)
      • Rate
      • Rate (FV)
      • SLN
      • SYD
    • String
      • Center (String)
      • Chr (IntAscii)
      • Asc (String)
      • AddCDATAEnvelope
      • Concatenate (String)
      • ContainsAnyChar (String)
      • Contains (String)
      • Compact (String)
      • Find (Int64)
      • EndsWith (String)
      • FindIntStart (Int32)
      • Extract (String)
      • GetFindCount (Int64)
      • FindLast (Int64)
      • GetDigits (String)
      • GetLineFeed
      • Insert (String)
      • IsAlpha
      • GetToken
      • IndexOf
      • IsBlank
      • IsLower
      • IsUpper
      • IsSubstringOf
      • Length (String)
      • LeftOf (String)
      • Left (String)
      • IsValidName
      • Mid (String)
      • PadLeft
      • Mid (String Chars)
      • LSplit (String)
      • PadRight
      • ReplaceAllSpecialCharsWithSpace
      • RemoveChars (String str, StringCharsToRemove)
      • ReplaceLast
      • RightAlign
      • Reverse
      • Right (String)
      • RSplit (String)
      • SplitStringMultipleRecords
      • SplitStringMultipleRecords (2 Separators)
      • SplitString (3 separators)
      • SplitString
      • SplitStringMultipleRecords (3 Separators)
      • Trim
      • SubString (NoOfChars)
      • StripHtml
      • Trim (Start)
      • TrimExtraMiddleSpace
      • TrimEnd
      • PascalCaseWithSpace (String str)
      • Trim (String str)
      • ToLower(String str)
      • ToProper(String str)
      • ToUpper (String str)
      • Substring (String str, Integer startAt)
      • StartsWith (String str, String value)
      • RemoveAt (String str, Integer startAt, Integer noofChars)
      • Proper (String str)
      • Repeat (String str, Integer count)
      • ReplaceAll (String str, String lookFor, String replaceWith)
      • ReplaceFirst (String str, String lookFor, String replaceWith)
      • RightOf (String str, String lookFor)
      • RemoveChars (String str, String charsToRemove)
      • SplitString (String str, String separator1, String separator2)
    • Date Time
      • AddMinutes (DateTime)
      • AddDays (DateTimeOffset)
      • AddDays (DateTime)
      • AddHours (DateTime)
      • AddSeconds (DateTime)
      • AddMonths (DateTime)
      • AddMonths (DateTimeOffset)
      • AddMinutes (DateTimeOffset)
      • AddSeconds (DateTimeOffset)
      • AddYears (DateTimeOffset)
      • AddYears (DateTime)
      • Age (DateTime)
      • Age (DateTimeOffset)
      • CharToSeconds (Str)
      • DateDifferenceDays (DateTimeOffset)
      • DateDifferenceDays (DateTime)
      • DateDifferenceHours (DateTimeOffset)
      • DateDifferenceHours (DateTime)
      • DateDifferenceMonths (DateTimeOffset)
      • DateDifferenceMonths (DateTime)
      • DatePart (DateTimeOffset)
      • DatePart (DateTime)
      • DateDifferenceYears (DateTimeOffset)
      • DateDifferenceYears (DateTime)
      • Month (DateTime)
      • Month (DateTimeOffset)
      • Now
      • Quarter (DateTime)
      • Quarter (DateTimeOffset)
      • Second (DateTime)
      • Second (DateTimeOffset)
      • SecondsToChar (String)
      • TimeToInteger (DateTime)
      • TimeToInteger (DateTimeOffset)
      • ToDate Date (DateTime)
      • ToDate DateTime (DateTime)
      • ToDateString (DateTime)
      • ToDateTimeOffset-Date (DateTimeOffset)
      • ToDate DateTime (DateTimeOffset)
      • ToDateString (DateTimeOffset)
      • Today
      • ToLocal (DateTime)
      • ToJulianDate (DateTime)
      • ToJulianDayNumber (DateTime)
      • ToTicks (Date dateTime)
      • ToTicks (DateTimeWithOffset dateTime)
      • ToUnixEpoc (Date dateTime)
      • ToUtc (Date dateTime)
      • UnixTimeStampToDateTime (Real unixTimeStamp)
      • UtcNow ()
      • Week (Date dateTime)
      • Week (DateTimeWithOffset dateTime)
      • Year (Date dateTime)
      • Year (DateTimeWithOffset dateTime)
      • DateToJulian (Date dateTime, Integer length)
      • DateTimeOffsetUtcNow ()
      • DateTimeOffsetNow ()
      • Day (DateTimeWithOffset dateTime)
      • Day (Date dateTime)
      • DayOfWeekStr (DateTimeWithOffset dateTime)
      • DayOfWeek (DateTimeWithOffset dateTime)
      • DayOfWeek (Date dateTime)
      • DateToJulian (DateTimeWithOffset dateTime, Integer length)
      • DayOfWeekStr (Date dateTime)
      • FromJulianDate (Real julianDate)
      • DayOfYear (Date dateTime)
      • DaysInMonth(Integer year, Integer month)
      • DayOfYear (DateTimeWithOffset dateTime)
      • FromUnixEpoc
      • FromJulianDayNumber (Integer julianDayNumber)
      • FromTicksUtc(Integer ticks)
      • FromTicksLocal(Integer ticks)
      • Hour (Date dateTime)
      • Hour (DateTimeWithOffset dateTime)
      • Minute (Date dateTime)
      • JulianToDate (String julianDate)
      • Minute (DateTimeWithOffset dateTime)
      • DateToIntegerYYYYMMDD (DateTimeWithOffset dateTime)
      • DateToIntegerYYYYMMDD (Date dateTime)
    • Files
      • AppendTextToFile (String filePath, String text)
      • CopyFile (String sourceFilePath, String destFilePath, Boolean overWrite)
      • CreateDateTime (String filePath)
      • DeleteFile (String filePath)
      • DirectoryExists (String filePath)
      • FileExists (String filePath)
      • FileLength (String filePath)
      • FileLineCount (String filePath)
      • GetDirectory (String filePath)
      • GetEDIFileMetaData (String filePath)
      • GetExcelWorksheets (String excelFilePath)
      • GetFileExtension (String filePath)
      • GetFileInfo (String filePath)
      • GetFileName (String filePath)
      • GetFileNameWithoutExtension (String filePath)
      • LastUpdateDateTime (String filePath)
      • MoveFile (String filePath, String newDirectory)
      • ReadFileBytes (String filePath)
      • ReadFileFirstLine (String filePath)
      • ReadFileText (String filePath)
      • ReadFileText (String filePath, String codePage)
      • WriteBytesToFile (String filePath, ByteArray bytes)
      • WriteTextToFile (String filePath, String text)
    • Date Time With Offset
      • ToDateTimeOffsetFromDateTime (dateTime String)
      • ToUtc (DateTimeWithOffset)
      • ToDateTimeOffsetFromDateTime
      • ToDateTimeOffset (String dateTimeOffsetStr)
      • ToDateTimeFromDateTimeOffset
    • GUID
      • NewGuid
    • Encoding
      • ToBytes
      • FromBytes
      • UrlEncode
      • UrlDecode
    • Regular Expressions
      • ReplaceRegEx
      • ReplaceRegEx (Integer StartAt)
    • TimeSpan
      • Minutes
      • Hours
      • Days
      • Milliseconds
    • Matching
      • Soundex
      • DoubleMetaphone
      • RefinedSoundex
  • Integration Server
    • Job Scheduling
      • Scheduling and Running Jobs on a Server
  • Miscellaneous
    • Astera API User Guide
    • Astera Best Practices Dataflows
    • Astera Options
    • Astera Webinar Series
    • MySQL date/time conversion error
    • Report Model Monthly Online Training
    • Server Command Line Utility
    • Shared Actions
    • Shared Connections
    • Working with Data Formats
    • Using the Data Source Browser
    • Using the Query Editor
Powered by GitBook

© Copyright 2025, Astera Software

On this page
  • Video
  • Usage
  • Expression Builder
  • Examples
  • String Concatenation
  • Nesting Functions
  • Variable Fields
  1. Dataflows
  2. Transformations

Expression Transformation

PreviousDistinct TransformationNextFilter Transformation

Last updated 9 months ago

Expression Transformation defines an expression that can be used to process the incoming value (or values) according to the expression’s logic. Expression Transformation can also provide values that do not depend on any user-provided input data and also modify and use variables for various calculations.

Expression Transformation uses an expression which is the logic for transforming data. Expressions can use functions and operations to fields to manipulate data. There are a lot of built-in functions for expressions to use such as string manipulations, data conversions, date and time manipulations, etc. Operations such as calculation, comparison, assignments, etc, are also available. The list of functions can be found on the Expression Builder. Expressions use the Astera Rules Language.

Video

Usage

To add an Expression transformation, drag the Expression object from the Transformations group in the Flow toolbox and drop it on the dataflow.

An example of what an Expression transformation object might look like is shown below:

To configure the properties of an Expression object after it was added to the dataflow, right-click on it and select Properties from the context menu. The following properties are available:

  • Layout Builder screen: Fields can be added to the Layout Builder and can be configured by the following:

    • Name - The name of the Field

    • Data Type - The type of data the field is. Different expressions can be made based on what the data type of the field is.

    • Input - The field can be mapped as an input.

    • Output - The field can be mapped as output. If an expression is present, the expression is applied to the output.

    • Variable - Turns the field into a variable which can then be used on other fields. These expressions are calculated first and then assigned to other expressions that use it, no matter what the ordering of the fields is. Once a field turns into a variable, it cannot be configured for input and output mapping.

    • Expression - The expression used for modifying the field or fields.

The order of expression operations is as follows: Input –> Variable –> Output. They are also applied in a top-to-bottom order. It is recommended to use temporary fields as Variable fields to store data to be used in Output expressions.

Click on the Expression area of the field to add an expression. You can type in the expression directly, or use the Expression Builder by clicking on the Properties button.

Expression Builder

The Expression Builder provides the interface to help you create your expression.

Examples

String Concatenation

The sample screenshots above show an expression that builds an address string from the fields: Name, Street, State, and Zip. This example shows string concatenation with different string fields with the use of the plus(+) symbol.

Nesting Functions

Another use for the expression transformation is to combine two or more function transformations into one single expression transformation.

In this example, the Expression Transformation named ProperCase performs the same transformation as the two functions: ToLower and ToProper. They both convert the string into lowercase and then perform a proper case transformation.

Variable Fields

Fields can be converted into variables to be used on other fields.

In this example, the CurrentHour field stores the value from the Hour(Now()) function which takes the current hour of the current date. IsHappyHour then outputs true if the CurrentHour is between 5:00 pm and 6:00 pm. The advantage of having the variable property checked is even when the order of the fields is swapped (e.g. IsHappyHour comes before CurrentHour), CurrentHour is still calculated first and assigned to the value that is used in IsHappyHour.