Numeric to Categorical

On this Page

Overview

This is a Transform type Snap that converts numeric fields into categorical fields. There are two available splitting options: splitting by values and binning.

Input and Output

Expected input

  • First input view: A document that contains numeric fields.
  • Second input view: A document that contains data statistics computed by the Profile Snap.

Expected outputA document that contains categorical fields.

Expected upstream Snaps:

  • First input view: A Snap that has a document output view. Example: CSV Generator Snap.
  • Second input view: A sequence of File Reader and JSON Parser Snaps. These Snaps read the data statistics computed by the Profile Snap in another pipeline.

Expected downstream Snaps: A Snap that has a document input view. Example: the Aggregate Snap, or a combination of JSON Formatter and File Writer.

Prerequisites

None.

Configuring Accounts

Accounts are not used with this Snap.

Configuring Views

 Input

This Snap has exactly two document input views, the Data input view and the Profile input view.

OutputThis Snap has exactly one document output view.
ErrorThis Snap has at most one document error view.

Troubleshooting

None

Limitations and Known Issues

None

Modes


Snap Settings


LabelRequired. The name for the Snap. Modify this to be more specific, especially if there are more than one of the same Snap in the pipeline.
Policy

The preferences for fields and encoding methods. For each policy, select the input field with categorical values, the encoding method, and the result field.

Field

Required. The field that must be transformed. This is a suggestible property that lists all available fields in the input documents.

Default value: None

Rule

Required. The type of transformation to be performed on the selected field. Two options are available:

  • Split by Values: Splitting the data into ranges specified by the Splits/Bins property. Each range is replaced with the text specified in the Prefix/Values property.
  • Binning: Splitting the data into equally-sized ranges based on the number of items specified in the Prefix/Values property. If you specify a prefix value in the Prefix/Values property, you must specify the number of bins in the Splits/Bins property.

Default value: Split by Values

Prefix/Values

Categorical values to be used to replace original numeric values. You can specify either a prefix or multiple values in this property. For example, if the prefix is "group", the values will be "group_1", "group_2" and so on. In case of specifying values, use comma "," to separate them.

Default value: None

Splits/Bins

The values to be entered into this property depends on the selection you made in the Rule property.

  • Split by Values: This setting must contain a list of split points. "2,4,6,8,10" is the same as "2,4,...,10".
  • Binning: This property specifies the number of bins into which you want to divide the input data range.

Default value: None

Result field

Required. The result field that must be used in the output map. If the Result field is the same as Field, the values are overwritten. If the Result field does not exist in the original input document, a new field is added. 

Default value: None

Snap Execution

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.
  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Examples


Converting Numeric Data into Categorical Values

This pipeline demonstrates how you can use the Numeric to Categorical Snap to convert numeric fields into categorical fields.

Download this pipeline.

 Understanding the Pipeline

In this example, the CSV Generator Snap contains sample data with numeric fields. The Copy Snap duplicates the data flow and feeds it into the Numeric to Categorical and Profile Snaps. The Profile Snap generates input data statistics and feeds them into the Numeric to Categorical Snap. The Numeric to Categorical Snap then converts the numeric values in the fields of your choice into categorical values, based on the splitting method you select.


Enter the following data into the CSV Generator Snap:



First, we need to convert values in $experience into numeric values. We do this using a Type Converter Snap with the Auto check box selected.

We want to categorize employees based on their years of experience into "junior", "senior", and "principal". We choose Binning in the Rule property to ensure that the data ranges after splitting are equally spaced.

The Numeric to Categorical Snap contains the following settings:



The Profile Snap computes the min and max values in the input data, which is required by Binning.


As you can see, $experience contains min and max values, which are 1 and 22 respectively.

The preview output of the Numeric to Categorical Snap is shown below. This Snap adds one field to the output.

  • $level: This field displays categories of employees based on their years of experience.

Downloads

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.

  File Modified

File Numeric_to_Categorical.slp

Nov 09, 2018 by Rakesh Chaudhary


Snap Pack History

 Click to view/expand

4.29 (main15993)

  •  Upgraded with the latest SnapLogic Platform release.

4.28 (main14627)

  • Enhanced the Type Converter Snap with the Fail safe upon execution checkbox. Select this checkbox to enable the Snap to convert data with valid data types, while ignoring invalid data types.

4.27 (427patches13730)

  • Enhanced the Type Converter Snap with the Fail safe upon execution checkbox. Select this checkbox to enable the Snap to ignore invalid data types and convert data with valid data types.

4.27 (427patches13948)

4.27 (main12833)

  • No updates made.

4.26 (main11181)

  • No updates made.

4.25 (425patches10994)

  • Fixed an issue when the Deduplicate Snap where the Snap breaks when running on a locale that does not format decimals with Period (.) character. 

4.25 (main9554)

  • No updates made.

4.24 (main8556)

  • No updates made.

4.23 (main7430)

  • No updates made.

4.22 (main6403)

  • No updates made.

4.21 (snapsmrc542)

  • Introduces the Mask Snap that enables you to hide sensitive information in your dataset before exporting the dataset for analytics or writing the dataset to a target file.
  • Enhances the Match Snap to add a new field, Match all, which matches one record from the first input with multiple records in the second input. Also, enhances the Comparator field in the Snap by adding one more option, Exact, which identifies and classifies a match as either an exact match or not a match at all.
  • Enhances the Deduplicate Snap to add a new field, Group ID, which includes the Group ID for each record in the output. Also, enhances the Comparator field in the Snap by adding one more option, Exact, which identifies and classifies a match as either an exact match or not a match at all.
  • Enhances the Sample Snap by adding a second output view which displays data that is not in the first output. Also, a new algorithm type, Linear Split, which enables you to split the dataset based on the pass-through percentage.

4.20 Patch mldatapreparation8771

  • Removes the unused jcc-optional dependency from the ML Data Preparation Snap Pack.

4.20 (snapsmrc535)

  • No updates made.

4.19 (snapsmrc528)

  • New Snap: Introducing the Deduplicate Snap. Use this Snap to remove duplicate records from input documents. When you use multiple matching criteria to deduplicate your data, it is evaluated using each criterion separately, and then aggregated to give the final result.

4.18 (snapsmrc523)

  • No updates made.

4.17 Patch ALL7402

  • Pushed automatic rebuild of the latest version of each Snap Pack to SnapLogic UAT and Elastic servers.

4.17 (snapsmrc515)

  • New Snap: Introducing the Feature Synthesis Snap, which automatically creates features out of multiple datasets that share a one-to-one or one-to-many relationship with each other.
  • New Snap: Introducing the Match Snap, which enables you to automatically identify matched records across datasets that do not have a common key field.
  • Added the Snap Execution field to all Standard-mode Snaps. In some Snaps, this field replaces the existing Execute during preview check box.

4.16 (snapsmrc508)

  • Added a new Snap, Principal Component Analysis, which enables you to perform principal component analysis (PCA) on numeric fields (columns) to reduce dimensions of the dataset.

4.15 (snapsmrc500)

  • New Snap Pack. Perform preparatory operations on datasets such as data type transformation, data cleanup, sampling, shuffling, and scaling. Snaps in this Snap Pack are: 
    • Categorical to Numeric
    • Clean Missing Values
    • Date Time Extractor
    • Numeric to Categorical
    • Sample
    • Scale
    • Shuffle
    • Type Converter