ACAW study materials
ACAW study resources

ACAW cheat sheet

ACAW · Keep the key ideas within reach.

Quick reference

Data Preparation and Blending

  • Join types: Inner returns only matched records; Left/Right keep all records from one input; Full Outer keeps unmatched from both; Union appends rows and matches fields by name or position.

  • Join Multiple requires all join outputs to share a common field set; each additional input adds another Join tool, and Join Multiple can emit unmatched rows per input.

  • Union mode 'Auto by Name' aligns fields by name and fills missing fields with nulls; 'Auto by Position' aligns by field order and is order-sensitive.

  • Blend order matters for duplicate field names: the primary input's field is kept and the secondary input's same-named field is renamed with a suffix (e.g., Right_ prefix).

  • Find Replace has two modes: 'Find Any' replaces on first match, 'Find All' appends all matches; Append Fields creates a Cartesian product of every row pair.

  • Data Cleansing replaces nulls, removes unwanted characters, modifies case, and trims whitespace; it operates on selected fields in one pass.

  • Record ID adds a sequential identifier; Multi-Row Formula can reference Row-1/Row+1 for running totals or lag comparisons without sorting first.

  • Cross-tab pivots rows to columns using a header field, a data field, and a method (Sum, Count, First); Transpose does the inverse, emitting Name/Value pairs.

Quick reference

Workflow Design and Optimization

  • Tool execution order follows the data dependency graph, not canvas position; containers with 'Disable' prevent downstream tools from running.

  • The Cache and Run Workflow option persists a tool's output so downstream tools skip re-execution until the source data or upstream config changes.

  • Block Until Done (Output) enforces sequential execution of its output anchors 1, 2, 3 - useful when a downstream tool must read a file written upstream.

  • A Macro input requires an Interface layer; a Standard Workflow cannot contain a Macro input/output tool pair without being saved as a macro type.

  • Detour tools route records around a section based on a control parameter; Detour End marks the merge point and must pair with a Detour.

  • Tool containers group tools and can be enabled/disabled as a unit; disabled containers still validate but do not execute.

  • Parallel execution is controlled per-workflow; independent branches may run concurrently, but a Block Until Done forces serialization at its output.

  • Field metadata propagates forward; a Select tool early in the stream reduces downstream memory by dropping unused fields before joins and sorts.

Quick reference

Advanced Formula and Expression Techniques

  • IF c THEN a ELSEIF c2 THEN b ELSE d ENDIF is the multi-branch conditional; IIF(c, a, b) is the two-branch function form and evaluates both branches.

  • Null handling: IsNull(x), IsEmpty(x) (empty string), and Coalesce(a,b,...) returns the first non-null; a null in arithmetic yields null.

  • String functions: Substring(x, start, length) is 0-indexed; Left/Right, Trim, PadLeft, ReplaceChar, REGEX_Replace(x, pattern, replacement).

  • REGEX_Match returns -1 (no match), 0 (match), or the capture group number; REGEX_Replace uses $1 for group references.

  • DateTime functions: DateTimeDiff(dt1, dt2, 'days') returns integer difference; DateTimeParse(x, '%Y-%m-%d') converts string to date with format specifiers.

  • ToNumber/ToInteger/ToString convert types; a failed conversion yields null, so wrap with a null check or use a conditional.

  • Multi-Row Formula supports Row-1 and Row+1 references within a group when 'Group By' is set; otherwise it spans the whole stream.

  • Switch/Choose: Switch(value, default, case1, result1, ...) and Choose(index, v0, v1, ...) select by position or match.

Quick reference

Spatial and Predictive Analytics

  • Spatial tools require a spatial object field created by Create Points, Make Line, or Make Polygon; Spatial Match joins on spatial predicates (Intersects, Contains, Within).

  • Distance tool computes distance between spatial points in specified units; Trade Area generates radial or drive-time polygons around points.

  • Spatial Info returns area, length, and centroid; Spatial Process performs union, intersection, difference, or buffer on spatial objects.

  • Predictive tools: Linear Regression, Logistic Regression, Decision Tree, Forest Model, and Score produce a model object plus a report; Score applies the model to new data.

  • A model object is a single record containing the trained parameters; it must be passed through the Score tool (or a macro) to predict new records.

  • Field types must be numeric for regression predictors; categorical predictors require Create Dummies or a model tool that handles categoricals.

  • Sampling: Create Samples (Random or Systematic) splits data into Estimation and Validation sets; oversampling adjusts class balance for rare events.

  • Model comparison uses the report's accuracy, error, and ROC/AUC metrics; the Validation set estimates out-of-sample performance.

Quick reference

Parsing, Transformation, and Advanced Tool Configuration

  • Text to Columns splits on a delimiter or fixed width; it can output to rows or columns and preserves the original field if 'Keep original' is checked.

  • Regex tool has modes: Match (filter), Parse (extract groups to fields), Replace, and Tokenize (split on pattern); Parse emits one field per capture group.

  • XML Parse extracts elements by path; JSON Parse requires a JSON field and flattens nested structures into fields.

  • DateTime tool converts between string and date formats using a format string; the format must match the input exactly or the result is null.

  • Multi-Field Formula applies one expression across selected fields; output can overwrite inputs or create new fields with a prefix/suffix.

  • Dynamic Rename renames fields using the first row of data or a formula; Dynamic Select chooses fields by type, name pattern, or position at runtime.

  • Imputation fills nulls with a constant, mean, median, or model-based value; Random % Sample and Sample tools select subsets for testing.

  • The Formula tool cannot change field type in place; use Select or a conversion function to coerce types before downstream numeric operations.

Quick reference

Macros and Application Building

  • Standard Macro: a workflow saved as .yxmc with Macro Input/Output tools; runs on the main canvas like a normal tool.

  • Batch Macro: iterates over grouped records; the Control Parameter drives the loop and an Update Input or interface element changes config per iteration.

  • Iterative Macro: loops until a condition is met; requires a Macro Input, Macro Output, and a loop-back connection with a stopping condition.

  • Interface tools (Text Box, Drop Down, List Box, Numeric Up Down, File Browse, Date) feed Action tools that update downstream tool configuration.

  • Action tool types: Update Value, Update Value with Formula, Update Field, Update Select, Update Raw XML, and Update Input/Output.

  • A Macro Input's 'Text Input' mode lets the macro run standalone for testing; 'Workflow' mode requires upstream data.

  • The Interface Designer's Test View validates the app UI; the Questions tab controls field order and the Layout tab controls presentation.

  • Macro errors often stem from a missing Control Parameter connection or an Action tool pointing at a field that does not exist downstream.

Quick reference

Analytic Apps and Interface Design

  • An Analytic App is a workflow with an Interface layer saved as .yxwz; it prompts the user and runs with the supplied values.

  • The Interface Designer's Questions tab defines each question's label, type, and default; the Layout tab arranges questions into groups and tabs.

  • A Condition tool shows or hides downstream questions based on a prior answer; it requires a boolean input and gates the interface branch.

  • Radio Button and Drop Down use a List Values source (manual, field, or external file); Check Box allows multiple selections and feeds a List Box or Action.

  • The 'On Success' message and output options (view output, open file) are configured in the Interface Designer's Runtime tab.

  • Chained Apps pass values between apps via the Interface tool 'Output' option or by writing to a file consumed by the next app.

  • Error Message tool halts the app and displays a custom message when a validation condition fails.

  • App values can be injected into a workflow via Action tools; a Text Box with 'Update Value with Formula' can build dynamic SQL or paths.

Quick reference

Performance Tuning and Error Handling

  • Filter and Select early to reduce record and field counts before joins, sorts, and spatial operations, which are memory-intensive.

  • Sort is expensive; use it only when required (e.g., before a Multi-Row Formula with a group, or a Join that needs sorted input for a merge join).

  • The Join tool's 'Join by Name' vs 'Join by Position' affects performance and correctness; name-based joins are safer across schema changes.

  • Use the Cache and Run Workflow option to avoid re-running unchanged upstream branches during iterative development.

  • Common errors: 'Parse Error' (malformed expression), 'Field not found' (renamed/dropped upstream), and 'Conversion error' (type mismatch yielding null).

  • The Message tool with severity Error stops the workflow; Warning and Info log without halting, useful for data-quality gates.

  • Test with a small sample first; the 'Run' vs 'Run on Server' distinction affects available tools and file path resolution.

  • Limit Cross-tab and Join Multiple outputs; they can explode row counts and memory; monitor record counts with the Browse tool.

Quick reference

Data Preparation and Blending

  • Join types: Inner returns only matched records; Left/Right keep all records from one input; Full Outer keeps unmatched from both; Union appends rows and matches fields by name or position.

  • Join Multiple requires all join outputs to share a common field set; each additional input adds another Join tool, and Join Multiple can emit unmatched rows per input.

  • Union mode 'Auto by Name' aligns fields by name and fills missing fields with nulls; 'Auto by Position' aligns by field order and is order-sensitive.

  • Blend order matters for duplicate field names: the primary input's field is kept and the secondary input's same-named field is renamed with a suffix.

  • Find Replace has two modes: 'Find Any' replaces on first match, 'Find All' appends all matches; Append Fields creates a Cartesian product of every row pair.

  • Data Cleansing replaces nulls, removes unwanted characters, modifies case, and trims whitespace; it operates on selected fields in one pass.

  • Record ID adds a sequential identifier; Multi-Row Formula can reference Row-1/Row+1 for running totals or lag comparisons without sorting first.

  • Cross-tab pivots rows to columns using a header field, a data field, and a method (Sum, Count, First); Transpose does the inverse, emitting Name/Value pairs.

Quick reference

Workflow Design and Optimization

  • Tool execution order follows the data dependency graph, not canvas position; containers with 'Disable' prevent downstream tools from running.

  • The Cache and Run Workflow option persists a tool's output so downstream tools skip re-execution until the source data or upstream config changes.

  • Block Until Done (Output) enforces sequential execution of its output anchors 1, 2, 3 - useful when a downstream tool must read a file written upstream.

  • A Macro input requires an Interface layer; a Standard Workflow cannot contain a Macro input/output tool pair without being saved as a macro type.

  • Detour tools route records around a section based on a control parameter; Detour End marks the merge point and must pair with a Detour.

  • Tool containers group tools and can be enabled/disabled as a unit; disabled containers still validate but do not execute.

  • Parallel execution is controlled per-workflow; independent branches may run concurrently, but a Block Until Done forces serialization at its output.

  • Field metadata propagates forward; a Select tool early in the stream reduces downstream memory by dropping unused fields before joins and sorts.

Quick reference

Advanced Formula and Expression Techniques

  • IF c THEN a ELSEIF c2 THEN b ELSE d ENDIF is the multi-branch conditional; IIF(c, a, b) is the two-branch function form and evaluates both branches.

  • Null handling: IsNull(x), IsEmpty(x) (empty string), and Coalesce(a,b,...) returns the first non-null; a null in arithmetic yields null.

  • String functions: Substring(x, start, length) is 0-indexed; Left/Right, Trim, PadLeft, ReplaceChar, REGEX_Replace(x, pattern, replacement).

  • REGEX_Match returns -1 (no match), 0 (match), or the capture group number; REGEX_Replace uses $1 for group references.

  • DateTime functions: DateTimeDiff(dt1, dt2, 'days') returns integer difference; DateTimeParse(x, '%Y-%m-%d') converts string to date with format specifiers.

  • ToNumber/ToInteger/ToString convert types; a failed conversion yields null, so wrap with a null check or use a conditional.

  • Multi-Row Formula supports Row-1 and Row+1 references within a group when 'Group By' is set; otherwise it spans the whole stream.

  • Switch/Choose: Switch(value, default, case1, result1, ...) and Choose(index, v0, v1, ...) select by position or match.

Quick reference

Spatial and Predictive Analytics

  • Spatial tools require a spatial object field created by Create Points, Make Line, or Make Polygon; Spatial Match joins on spatial predicates (Intersects, Contains, Within).

  • Distance tool computes distance between spatial points in specified units; Trade Area generates radial or drive-time polygons around points.

  • Spatial Info returns area, length, and centroid; Spatial Process performs union, intersection, difference, or buffer on spatial objects.

  • Predictive tools: Linear Regression, Logistic Regression, Decision Tree, Forest Model, and Score produce a model object plus a report; Score applies the model to new data.

  • A model object is a single record containing the trained parameters; it must be passed through the Score tool (or a macro) to predict new records.

  • Field types must be numeric for regression predictors; categorical predictors require Create Dummies or a model tool that handles categoricals.

  • Sampling: Create Samples (Random or Systematic) splits data into Estimation and Validation sets; oversampling adjusts class balance for rare events.

  • Model comparison uses the report's accuracy, error, and ROC/AUC metrics; the Validation set estimates out-of-sample performance.

Quick reference

Parsing, Transformation, and Advanced Tool Configuration

  • Text to Columns splits on a delimiter or fixed width; it can output to rows or columns and preserves the original field if 'Keep original' is checked.

  • Regex tool has modes: Match (filter), Parse (extract groups to fields), Replace, and Tokenize (split on pattern); Parse emits one field per capture group.

  • XML Parse extracts elements by path; JSON Parse requires a JSON field and flattens nested structures into fields.

  • DateTime tool converts between string and date formats using a format string; the format must match the input exactly or the result is null.

  • Multi-Field Formula applies one expression across selected fields; output can overwrite inputs or create new fields with a prefix/suffix.

  • Dynamic Rename renames fields using the first row of data or a formula; Dynamic Select chooses fields by type, name pattern, or position at runtime.

  • Imputation fills nulls with a constant, mean, median, or model-based value; Random % Sample and Sample tools select subsets for testing.

  • The Formula tool cannot change field type in place; use Select or a conversion function to coerce types before downstream numeric operations.

Quick reference

Macros and Application Building

  • Standard Macro: a workflow saved as .yxmc with Macro Input/Output tools; runs on the main canvas like a normal tool.

  • Batch Macro: iterates over grouped records; the Control Parameter drives the loop and an Update Input or interface element changes config per iteration.

  • Iterative Macro: loops until a condition is met; requires a Macro Input, Macro Output, and a loop-back connection with a stopping condition.

  • Interface tools (Text Box, Drop Down, List Box, Numeric Up Down, File Browse, Date) feed Action tools that update downstream tool configuration.

  • Action tool types: Update Value, Update Value with Formula, Update Field, Update Select, Update Raw XML, and Update Input/Output.

  • A Macro Input's 'Text Input' mode lets the macro run standalone for testing; 'Workflow' mode requires upstream data.

  • The Interface Designer's Test View validates the app UI; the Questions tab controls field order and the Layout tab controls presentation.

  • Macro errors often stem from a missing Control Parameter connection or an Action tool pointing at a field that does not exist downstream.

Quick reference

Analytic Apps and Interface Design

  • An Analytic App is a workflow with an Interface layer saved as .yxwz; it prompts the user and runs with the supplied values.

  • The Interface Designer's Questions tab defines each question's label, type, and default; the Layout tab arranges questions into groups and tabs.

  • A Condition tool shows or hides downstream questions based on a prior answer; it requires a boolean input and gates the interface branch.

  • Radio Button and Drop Down use a List Values source (manual, field, or external file); Check Box allows multiple selections and feeds a List Box or Action.

  • The 'On Success' message and output options (view output, open file) are configured in the Interface Designer's Runtime tab.

  • Chained Apps pass values between apps via the Interface tool 'Output' option or by writing to a file consumed by the next app.

  • Error Message tool halts the app and displays a custom message when a validation condition fails.

  • App values can be injected into a workflow via Action tools; a Text Box with 'Update Value with Formula' can build dynamic SQL or paths.

Quick reference

Performance Tuning and Error Handling

  • Filter and Select early to reduce record and field counts before joins, sorts, and spatial operations, which are memory-intensive.

  • Sort is expensive; use it only when required (e.g., before a Multi-Row Formula with a group, or a Join that needs sorted input for a merge join).

  • The Join tool's 'Join by Name' vs 'Join by Position' affects performance and correctness; name-based joins are safer across schema changes.

  • Use the Cache and Run Workflow option to avoid re-running unchanged upstream branches during iterative development.

  • Common errors: 'Parse Error' (malformed expression), 'Field not found' (renamed/dropped upstream), and 'Conversion error' (type mismatch yielding null).

  • The Message tool with severity Error stops the workflow; Warning and Info log without halting, useful for data-quality gates.

  • Test with a small sample first; the 'Run' vs 'Run on Server' distinction affects available tools and file path resolution.

  • Limit Cross-tab and Join Multiple outputs; they can explode row counts and memory; monitor record counts with the Browse tool.

Quick reference

Data Preparation and Blending

  • Join types: Inner returns only matched records; Left/Right keep all records from one input; Full Outer keeps unmatched from both; Union appends rows and matches fields by name or position.

  • Join Multiple requires all join outputs to share a common field set; each additional input adds another Join tool, and Join Multiple can emit unmatched rows per input.

  • Union mode 'Auto by Name' aligns fields by name and fills missing fields with nulls; 'Auto by Position' aligns by field order and is order-sensitive.

  • Blend order matters for duplicate field names: the primary input's field is kept and the secondary input's same-named field is renamed with a suffix.

  • Find Replace has two modes: 'Find Any' replaces on first match, 'Find All' appends all matches; Append Fields creates a Cartesian product of every row pair.

  • Data Cleansing replaces nulls, removes unwanted characters, modifies case, and trims whitespace; it operates on selected fields in one pass.

  • Record ID adds a sequential identifier; Multi-Row Formula can reference Row-1/Row+1 for running totals or lag comparisons without sorting first.

  • Cross-tab pivots rows to columns using a header field, a data field, and a method (Sum, Count, First); Transpose does the inverse, emitting Name/Value pairs.

Quick reference

Workflow Design and Optimization

  • Tool execution order follows the data dependency graph, not canvas position; containers with 'Disable' prevent downstream tools from running.

  • The Cache and Run Workflow option persists a tool's output so downstream tools skip re-execution until the source data or upstream config changes.

  • Block Until Done (Output) enforces sequential execution of its output anchors 1, 2, 3 - useful when a downstream tool must read a file written upstream.

  • A Macro input requires an Interface layer; a Standard Workflow cannot contain a Macro input/output tool pair without being saved as a macro type.

  • Detour tools route records around a section based on a control parameter; Detour End marks the merge point and must pair with a Detour.

  • Tool containers group tools and can be enabled/disabled as a unit; disabled containers still validate but do not execute.

  • Parallel execution is controlled per-workflow; independent branches may run concurrently, but a Block Until Done forces serialization at its output.

  • Field metadata propagates forward; a Select tool early in the stream reduces downstream memory by dropping unused fields before joins and sorts.

Quick reference

Advanced Formula and Expression Techniques

  • IF c THEN a ELSEIF c2 THEN b ELSE d ENDIF is the multi-branch conditional; IIF(c, a, b) is the two-branch function form and evaluates both branches.

  • Null handling: IsNull(x), IsEmpty(x) (empty string), and Coalesce(a,b,...) returns the first non-null; a null in arithmetic yields null.

  • String functions: Substring(x, start, length) is 0-indexed; Left/Right, Trim, PadLeft, ReplaceChar, REGEX_Replace(x, pattern, replacement).

  • REGEX_Match returns -1 (no match), 0 (match), or the capture group number; REGEX_Replace uses $1 for group references.

  • DateTime functions: DateTimeDiff(dt1, dt2, 'days') returns integer difference; DateTimeParse(x, '%Y-%m-%d') converts string to date with format specifiers.

  • ToNumber/ToInteger/ToString convert types; a failed conversion yields null, so wrap with a null check or use a conditional.

  • Multi-Row Formula supports Row-1 and Row+1 references within a group when 'Group By' is set; otherwise it spans the whole stream.

  • Switch/Choose: Switch(value, default, case1, result1, ...) and Choose(index, v0, v1, ...) select by position or match.

Quick reference

Spatial and Predictive Analytics

  • Spatial tools require a spatial object field created by Create Points, Make Line, or Make Polygon; Spatial Match joins on spatial predicates (Intersects, Contains, Within).

  • Distance tool computes distance between spatial points in specified units; Trade Area generates radial or drive-time polygons around points.

  • Spatial Info returns area, length, and centroid; Spatial Process performs union, intersection, difference, or buffer on spatial objects.

  • Predictive tools: Linear Regression, Logistic Regression, Decision Tree, Forest Model, and Score produce a model object plus a report; Score applies the model to new data.

  • A model object is a single record containing the trained parameters; it must be passed through the Score tool (or a macro) to predict new records.

  • Field types must be numeric for regression predictors; categorical predictors require Create Dummies or a model tool that handles categoricals.

  • Sampling: Create Samples (Random or Systematic) splits data into Estimation and Validation sets; oversampling adjusts class balance for rare events.

  • Model comparison uses the report's accuracy, error, and ROC/AUC metrics; the Validation set estimates out-of-sample performance.

Quick reference

Parsing, Transformation, and Advanced Tool Configuration

  • Text to Columns splits on a delimiter or fixed width; it can output to rows or columns and preserves the original field if 'Keep original' is checked.

  • Regex tool has modes: Match (filter), Parse (extract groups to fields), Replace, and Tokenize (split on pattern); Parse emits one field per capture group.

  • XML Parse extracts elements by path; JSON Parse requires a JSON field and flattens nested structures into fields.

  • DateTime tool converts between string and date formats using a format string; the format must match the input exactly or the result is null.

  • Multi-Field Formula applies one expression across selected fields; output can overwrite inputs or create new fields with a prefix/suffix.

  • Dynamic Rename renames fields using the first row of data or a formula; Dynamic Select chooses fields by type, name pattern, or position at runtime.

  • Imputation fills nulls with a constant, mean, median, or model-based value; Random % Sample and Sample tools select subsets for testing.

  • The Formula tool cannot change field type in place; use Select or a conversion function to coerce types before downstream numeric operations.

Quick reference

Macros and Application Building

  • Standard Macro: a workflow saved as .yxmc with Macro Input/Output tools; runs on the main canvas like a normal tool.

  • Batch Macro: iterates over grouped records; the Control Parameter drives the loop and an Update Input or interface element changes config per iteration.

  • Iterative Macro: loops until a condition is met; requires a Macro Input, Macro Output, and a loop-back connection with a stopping condition.

  • Interface tools (Text Box, Drop Down, List Box, Numeric Up Down, File Browse, Date) feed Action tools that update downstream tool configuration.

  • Action tool types: Update Value, Update Value with Formula, Update Field, Update Select, Update Raw XML, and Update Input/Output.

  • A Macro Input's 'Text Input' mode lets the macro run standalone for testing; 'Workflow' mode requires upstream data.

  • The Interface Designer's Test View validates the app UI; the Questions tab controls field order and the Layout tab controls presentation.

  • Macro errors often stem from a missing Control Parameter connection or an Action tool pointing at a field that does not exist downstream.

Quick reference

Analytic Apps and Interface Design

  • An Analytic App is a workflow with an Interface layer saved as .yxwz; it prompts the user and runs with the supplied values.

  • The Interface Designer's Questions tab defines each question's label, type, and default; the Layout tab arranges questions into groups and tabs.

  • A Condition tool shows or hides downstream questions based on a prior answer; it requires a boolean input and gates the interface branch.

  • Radio Button and Drop Down use a List Values source (manual, field, or external file); Check Box allows multiple selections and feeds a List Box or Action.

  • The 'On Success' message and output options (view output, open file) are configured in the Interface Designer's Runtime tab.

  • Chained Apps pass values between apps via the Interface tool 'Output' option or by writing to a file consumed by the next app.

  • Error Message tool halts the app and displays a custom message when a validation condition fails.

  • App values can be injected into a workflow via Action tools; a Text Box with 'Update Value with Formula' can build dynamic SQL or paths.

Quick reference

Performance Tuning and Error Handling

  • Filter and Select early to reduce record and field counts before joins, sorts, and spatial operations, which are memory-intensive.

  • Sort is expensive; use it only when required (e.g., before a Multi-Row Formula with a group, or a Join that needs sorted input for a merge join).

  • The Join tool's 'Join by Name' vs 'Join by Position' affects performance and correctness; name-based joins are safer across schema changes.

  • Use the Cache and Run Workflow option to avoid re-running unchanged upstream branches during iterative development.

  • Common errors: 'Parse Error' (malformed expression), 'Field not found' (renamed/dropped upstream), and 'Conversion error' (type mismatch yielding null).

  • The Message tool with severity Error stops the workflow; Warning and Info log without halting, useful for data-quality gates.

  • Test with a small sample first; the 'Run' vs 'Run on Server' distinction affects available tools and file path resolution.

  • Limit Cross-tab and Join Multiple outputs; they can explode row counts and memory; monitor record counts with the Browse tool.

Quick reference

Data Preparation and Blending

  • Join types: Inner returns only matched records; Left/Right keep all records from one input; Full Outer keeps unmatched from both; Union appends rows and matches fields by name or position.

  • Join Multiple requires all join outputs to share a common field set; each additional input adds another Join tool, and Join Multiple can emit unmatched rows per input.

  • Union mode 'Auto by Name' aligns fields by name and fills missing fields with nulls; 'Auto by Position' aligns by field order and is order-sensitive.

  • Blend order matters for duplicate field names: the primary input's field is kept and the secondary input's same-named field is renamed with a suffix.

  • Find Replace has two modes: 'Find Any' replaces on first match, 'Find All' appends all matches; Append Fields creates a Cartesian product of every row pair.

  • Data Cleansing replaces nulls, removes unwanted characters, modifies case, and trims whitespace; it operates on selected fields in one pass.

  • Record ID adds a sequential identifier; Multi-Row Formula can reference Row-1/Row+1 for running totals or lag comparisons without sorting first.

  • Cross-tab pivots rows to columns using a header field, a data field, and a method (Sum, Count, First); Transpose does the inverse, emitting Name/Value pairs.

Quick reference

Workflow Design and Optimization

  • Tool execution order follows the data dependency graph, not canvas position; containers with 'Disable' prevent downstream tools from running.

  • The Cache and Run Workflow option persists a tool's output so downstream tools skip re-execution until the source data or upstream config changes.

  • Block Until Done (Output) enforces sequential execution of its output anchors 1, 2, 3 - useful when a downstream tool must read a file written upstream.

  • A Macro input requires an Interface layer; a Standard Workflow cannot contain a Macro input/output tool pair without being saved as a macro type.

  • Detour tools route records around a section based on a control parameter; Detour End marks the merge point and must pair with a Detour.

  • Tool containers group tools and can be enabled/disabled as a unit; disabled containers still validate but do not execute.

  • Parallel execution is controlled per-workflow; independent branches may run concurrently, but a Block Until Done forces serialization at its output.

  • Field metadata propagates forward; a Select tool early in the stream reduces downstream memory by dropping unused fields before joins and sorts.

Quick reference

Advanced Formula and Expression Techniques

  • IF c THEN a ELSEIF c2 THEN b ELSE d ENDIF is the multi-branch conditional; IIF(c, a, b) is the two-branch function form and evaluates both branches.

  • Null handling: IsNull(x), IsEmpty(x) (empty string), and Coalesce(a,b,...) returns the first non-null; a null in arithmetic yields null.

  • String functions: Substring(x, start, length) is 0-indexed; Left/Right, Trim, PadLeft, ReplaceChar, REGEX_Replace(x, pattern, replacement).

  • REGEX_Match returns -1 (no match), 0 (match), or the capture group number; REGEX_Replace uses $1 for group references.

  • DateTime functions: DateTimeDiff(dt1, dt2, 'days') returns integer difference; DateTimeParse(x, '%Y-%m-%d') converts string to date with format specifiers.

  • ToNumber/ToInteger/ToString convert types; a failed conversion yields null, so wrap with a null check or use a conditional.

  • Multi-Row Formula supports Row-1 and Row+1 references within a group when 'Group By' is set; otherwise it spans the whole stream.

  • Switch/Choose: Switch(value, default, case1, result1, ...) and Choose(index, v0, v1, ...) select by position or match.

Quick reference

Spatial and Predictive Analytics

  • Spatial tools require a spatial object field created by Create Points, Make Line, or Make Polygon; Spatial Match joins on spatial predicates (Intersects, Contains, Within).

  • Distance tool computes distance between spatial points in specified units; Trade Area generates radial or drive-time polygons around points.

  • Spatial Info returns area, length, and centroid; Spatial Process performs union, intersection, difference, or buffer on spatial objects.

  • Predictive tools: Linear Regression, Logistic Regression, Decision Tree, Forest Model, and Score produce a model object plus a report; Score applies the model to new data.

  • A model object is a single record containing the trained parameters; it must be passed through the Score tool (or a macro) to predict new records.

  • Field types must be numeric for regression predictors; categorical predictors require Create Dummies or a model tool that handles categoricals.

  • Sampling: Create Samples (Random or Systematic) splits data into Estimation and Validation sets; oversampling adjusts class balance for rare events.

  • Model comparison uses the report's accuracy, error, and ROC/AUC metrics; the Validation set estimates out-of-sample performance.

Quick reference

Parsing, Transformation, and Advanced Tool Configuration

  • Text to Columns splits on a delimiter or fixed width; it can output to rows or columns and preserves the original field if 'Keep original' is checked.

  • Regex tool has modes: Match (filter), Parse (extract groups to fields), Replace, and Tokenize (split on pattern); Parse emits one field per capture group.

  • XML Parse extracts elements by path; JSON Parse requires a JSON field and flattens nested structures into fields.

  • DateTime tool converts between string and date formats using a format string; the format must match the input exactly or the result is null.

  • Multi-Field Formula applies one expression across selected fields; output can overwrite inputs or create new fields with a prefix/suffix.

  • Dynamic Rename renames fields using the first row of data or a formula; Dynamic Select chooses fields by type, name pattern, or position at runtime.

  • Imputation fills nulls with a constant, mean, median, or model-based value; Random % Sample and Sample tools select subsets for testing.

  • The Formula tool cannot change field type in place; use Select or a conversion function to coerce types before downstream numeric operations.

Quick reference

Macros and Application Building

  • Standard Macro: a workflow saved as .yxmc with Macro Input/Output tools; runs on the main canvas like a normal tool.

  • Batch Macro: iterates over grouped records; the Control Parameter drives the loop and an Update Input or interface element changes config per iteration.

  • Iterative Macro: loops until a condition is met; requires a Macro Input, Macro Output, and a loop-back connection with a stopping condition.

  • Interface tools (Text Box, Drop Down, List Box, Numeric Up Down, File Browse, Date) feed Action tools that update downstream tool configuration.

  • Action tool types: Update Value, Update Value with Formula, Update Field, Update Select, Update Raw XML, and Update Input/Output.

  • A Macro Input's 'Text Input' mode lets the macro run standalone for testing; 'Workflow' mode requires upstream data.

  • The Interface Designer's Test View validates the app UI; the Questions tab controls field order and the Layout tab controls presentation.

  • Macro errors often stem from a missing Control Parameter connection or an Action tool pointing at a field that does not exist downstream.

Quick reference

Analytic Apps and Interface Design

  • An Analytic App is a workflow with an Interface layer saved as .yxwz; it prompts the user and runs with the supplied values.

  • The Interface Designer's Questions tab defines each question's label, type, and default; the Layout tab arranges questions into groups and tabs.

  • A Condition tool shows or hides downstream questions based on a prior answer; it requires a boolean input and gates the interface branch.

  • Radio Button and Drop Down use a List Values source (manual, field, or external file); Check Box allows multiple selections and feeds a List Box or Action.

  • The 'On Success' message and output options (view output, open file) are configured in the Interface Designer's Runtime tab.

  • Chained Apps pass values between apps via the Interface tool 'Output' option or by writing to a file consumed by the next app.

  • Error Message tool halts the app and displays a custom message when a validation condition fails.

  • App values can be injected into a workflow via Action tools; a Text Box with 'Update Value with Formula' can build dynamic SQL or paths.

Quick reference

Performance Tuning and Error Handling

  • Filter and Select early to reduce record and field counts before joins, sorts, and spatial operations, which are memory-intensive.

  • Sort is expensive; use it only when required (e.g., before a Multi-Row Formula with a group, or a Join that needs sorted input for a merge join).

  • The Join tool's 'Join by Name' vs 'Join by Position' affects performance and correctness; name-based joins are safer across schema changes.

  • Use the Cache and Run Workflow option to avoid re-running unchanged upstream branches during iterative development.

  • Common errors: 'Parse Error' (malformed expression), 'Field not found' (renamed/dropped upstream), and 'Conversion error' (type mismatch yielding null).

  • The Message tool with severity Error stops the workflow; Warning and Info log without halting, useful for data-quality gates.

  • Test with a small sample first; the 'Run' vs 'Run on Server' distinction affects available tools and file path resolution.

  • Limit Cross-tab and Join Multiple outputs; they can explode row counts and memory; monitor record counts with the Browse tool.