Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In this article

Table of Contents
maxLevel2
absoluteUrltrue

Overview

You can use this Snap to...

Prerequisites

  • Valid client ID.
  • A valid account with the required permissions.

None.

Support for Ultra Pipelines

In this article

...

titleGeneral Guidelines. Remove Before Publishing.

...

  • Always use title casing for Heading formats 1 and 2.
  • Always use active voice.
  • Do not use "Please" anywhere in the document.
  • Screenshots
    • Always use the New Form UI.
    • Be optically similar. Max size 1000 px or corresponding gridline size as in the style guide.
    • Do not capture Snap borders when showing configurations in the Examples section. You can add a border in the editor here.
    • See Image Style Guide for details.
  • Examples must always use first-person plural references. You can use the second-person if needed depending upon the example's content.
Table of Contents
minLevel1
maxLevel2
absoluteUrltrue

Multiexcerpt include macro
nameME_NE_ELT_Snap_Accounts
templateData[]
pageELT Case Expression
addpanelfalse

Overview

You can use this Snap to retrieve the first non-NULL expression among a set of arguments. The Snap returns NULL if all its arguments are NULL. If you expect a query to return null values for certain functions or columns, you can use this Snap to replace the NULLs with some other value—typically in the case of certain aggregate functions that return null values instead of zero when they have no rows to evaluate.

COALESCE Arguments

Result

coalesce(NULL, 2, NULL)

2

coalesce(1, NULL, NULL)

1

coalesce(NULL, NULL, 3)

3

coalesce(NULL, NULL, NULL)

NULL

Image Added

Snap Type

ELT Coalesce Snap is a TRANSFORM-type Snap that extracts non-NULL values from datasets containing NULL values.

Prerequisites

  • Valid accounts and access permissions to connect to the following:

    • Source: AWS S3, Redshift, Azure Cloud Storage, or Google Cloud Storage

    • Target: Snowflake, Redshift, Azure Synapse, Databricks Lakehouse Platform, or BigQuery

Limitations

None.

Known Issues

None.

Snap Input and Output

Input/Output

Type of View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

Binary

Binary or Document

  • Min: 1

  • Max:

...

  • Mapper Snap
  • Copy Snap
  • ..

...

  • 1

  • ELT Insert Select

  • ELT Merge Into

  • ELT Copy

The SQL query that resolves to a document containing the list of arguments for the COALESCE operation.

Output

Document

Binary

Binary or Document

  • Min: 1

  • Max:

...

  • ..
  • ..

...

  • 1

  • ELT Select

  • ELT Filter

  • ELT Join

  • ELT Insert Select

The modified SQL query with the COALESCE operation included.

Snap Settings

...

titleDocumenting Fields Based On Data Type/UI Element

**Delete Before Publishing**

Choose from the following sentences to document specific field types.

...

Info
  • Click the = (Expression) button in the Snap's configuration, if available, to define the corresponding field value using expression language and Pipeline parameters. 

  • Field names marked with an asterisk ( * )  in the table below are mandatory. 

Field Name

Type

Description

Label*

String

Specify a unique label for the Snap.

Default ValueELT Coalesce
ExampleCoalesce for AVG values

Get preview data

Checkbox

Select this checkbox to include a preview of the query's output. The Snap performs limited execution and generates a data preview during Pipeline validation

...

Check boxes:

  • If selected, <Snap behavior>.
    If selected, an empty file is written when the incoming document has no data.
  • If selected, <behavior>. If not selected/Otherwise, <behavior>
    Use "If not selected" if the first sentence is long.
    If selected, the Snap uses the file path value as is. Otherwise, the Snap uses the file path value in the URL.
    If selected, an empty file is written when the incoming document has empty data. If there is no incoming document at the input view of the Snap, no file is written regardless of the value of the property.
  • Select to <action>
    Use this if the behavior is binary. Either this or that, where the converse behavior is apparent/obvious.
    Select to execute the Pipeline during validation.

Text Fields

  • Describe what the user shall specify in this field. Additional details, as applicable, in a separate sentence. Include caveats such as the field being conditionally mandatory, limitations, etc.
    Enter the name for new account.
    Specify the account ID to use to log in to the endpoint.
    Required if IAM Role is selected.
    Do not use this field if you are using batch processing.

Numeric Text Fields

  • Describe what the field represents/contains. Additional details, as applicable, in a separate sentence. Include caveats such as the field being conditionally mandatory, limitations, etc. Include special values that impact the field's behavior as a bullet list.
    The number of records in a batch.
    The number of seconds for which you want the Snap to wait between retries.
    The number of seconds for which the Snap waits between retries.
    Use the following special values:
    * 0: Disables batching.
    * 1: Includes all documents in a single request.
Note
  • Click the = (Expression) button in the Snap's configuration, if available, to define the corresponding field value using expression language and Pipeline parameters.
  • Field names marked with an asterisk ( * )  in the table below are mandatory. 

...

Field Name

...

Field Dependency

...

Description

Default Value

Example

...

Label*

...

None.

...

Specify a unique label for the Snap.

Default ValueChannel Operations
ExampleDelete Member

...

Number of records

...

Sampling Type is Number of records.

...

Enter the number of records to output.

...

Field set

...

.

Info

In case of ELT Pipelines, only the SQL query flows through the Snaps but not the actual source data. Hence, the preview data for a Snap is the result of executing the SQL query that the Snap has generated in the Pipeline.

The number of records displayed in the preview (upon validation) is the smaller of the following:

  • Number of records available upon execution of the SQL query generated by the Snap.

  • The value set in the Preview Data Count setting (default is 50 records).

Note

Rendering Complex Data Types in Databricks Lakehouse Platform

Based on the data types of the fields in the input schema, the Snap renders the complex data types like map and struct as object data type and array as an array data type. It renders all other incoming data types as-is except for the values in binary fields are displayed as a base64 encoded string and as string data type.

Default ValueNot selected
ExampleSelected

Pass through

Checkbox

Select this checkbox to include the original input data in the output document along with the results of the COALESCE operation.

Default ValueNot selected
ExampleSelected

Coalesce Alias

String

Enter the column alias name for storing the results of the COALESCE operation. Leave this field blank to allow the Snap to automatically define an alias name for the column.

Default Value: None
ExampleNewCoaleas

Coalesce Arguments

Specify the list of arguments based on the input data schema for performing the COALESCE operation. Each function must be specified as a new row. Click (blue star) to add a row.

This field set consists of the following fields:

  • Field 1

  • Field 2

  • Field 3

...

Field 1*

  • Coalesce Argument

Coalesce Argument

String/Expression

Enter an argument for performing the COALESCE operation. Define only one argument in this field.

Default Value:

...

Field 2

...

None.

 None
Example

...

Examples

Excluding Fields from the Input Data Stream

We can exclude the unrequired fields from the input data stream by omitting them in the Input schema field set. This example demonstrates how we can use the <Snap Name> to achieve this result:

...

ORDER_CNT, ORDERS_AVG_AMT

Troubleshooting

Error

Reason

Resolution

...

Batch execution failed

...

The Pipeline ended before the batch could complete execution due to a connection error.

Verify that the Batch size field is configured to handle the inputs properly. If you are not sure when the input data is available, configure this field as zero to keep the connection always open.

None.

Examples

Applying COALESCE Operation on a Dataset

In this Pipeline example, we apply the COALESCE operation on a dataset using the ELT Coalesce Snap.

Image Added

To begin with, we use an ELT Select Snap to read the dataset from COALESCE_SRC table in a source database (Redshift in this example). The Snap retrieves the data from the table. You can see this dataset in JSON format in this Snap’s preview shown below.

ELT Select Snap

Output

Image AddedImage Added

We connect the ELT Coalesce Snap to the ELT Select Snap to apply the COALESCE operation on this dataset.

ELT Coalesce Snap

Output

Image AddedImage Added

In this Snap, we provide an alias name for the COALESCE operation - test_coalesce and define the arguments—columns in the dataset to be considered for the operation—from the Coalesce Arguments fieldset. In the adjacent Snap Output (preview) image, we can see the results of the COALESCE operation on the selected arguments (I1, I2, and I3, in this case). The values returned are the first non-null values from each row in the data set.

We write these values to a different table - COALESCE_TC2 in the Redshift database using an ELT Insert Select Snap. Here we select the Overwrite checkbox to make sure that the data is written to a fresh(empty) table.

Image Added

Download this Pipeline

Downloads

Note

...

Important Steps to Successfully Reuse Pipelines

  1. Download and import the Pipeline into SnapLogic.

  2. Configure Snap accounts as applicable.

  3. Provide Pipeline parameters as applicable.

Attachments
patterns*.slp, *.zip

...

Snap Pack History

Expand

...

...

...


See Also

...

...