ET1’s JSON Input Node

ET1’s JSON Input Node

When extracting data from a JSON file, try the JSON Input Node.

JSON (JavaScript Object Notation) is a common data source.

With ET1’s JSON Input Node you can quickly open your JSON files and begin to transform the data, merge it with other data like CSV data.

In ET1, data is normalized in a data grid view to understand the data as if it was in a normalized view. This is due to the desire for most users to see and understand their data like a data grid. However under the hood the data is JSON because under the hood of ET1 is JavaScript and a DAG Streaming (Graph) engine, which enables ET1 to offer features you’ve never seen before in an ETL software!

Using JSON Input Node

Find the Json Input Node in your with your Hands, or in the hamburger menu in the top right of ET1.

Once your JSON Input Node is on the canvas:

  • Drag and drop the json file on the node
  • Click the drag and drop area and a “browse to file” tool will open
    • find the JSON and open
  • If the JSON is structured correctly, the node works.
    • Otherwise the node does not work

Example of JSON format that will work:

[
  {
    "name": "Impossible",
    "mean": "0.5",
    "const": "CATS GO MOO"
  },
  {
    "name": "Almost No Chance",
    "mean": "2.0",
    "const": "CATS GO MOO"
  }
]

Now that you’re familiar. Let’s see JSON Input Node in action!

Thanks for learning more about ET1 and know if you have any questions… Please contact us.

We would love to hear about your use cases.

Return to ET1 Overview to learn more.

ET1’s Trim/Normalize Node

ET1’s Trim/Normalize Node

Trim/Normalize Node is built to help you quickly clean your data pipelines and like the Column Renamer, built to make data pipeline maintaining simple, not complicated, and more than anything, easy to repeat.

AT TIMES WE NEED CAPITAL LETTERS! Perhaps you-have-a-lot-of-this-happening (special characters you don’t ne3ed).

then there are times we aren’t trying to scream, and perhaps lowercase is a requirement for user names or emails. okay, you’re in a good place. case sensitivity is here too. AlongWithTrimmingWhiteSpace.

ET1’s Trim/Normalize Node helps people quickly clean their data.

You can select more than one column to clean, or just choose 1 column to normalize.

The Trim/Normalize Node was created to help you people quickly clean data pipelines and improve data quality across your data environment (a data environment might be a grouping of individual solutions that look and feel similar).

Cleaning dirty unstructured text for sentiment analysis, parsing HTML, or optimizing pipelines for data visualization – this node helps transition your pipelines into what some consider a piece of their overarching data governance.

Using the Trim/Normalize Node in ET1

Using this node is easy and intuitive. Checkboxes, drop downs, and nothing crazy.

Connect data downstream to your node, adjust the settings, and keep solving.

  1. Connect data
  2. Choose column(s)
  3. Decide to trim ends – space(s) on the left and right only
  4. Decide to remove whitespace – any and all space(s)
  5. Remove special characters, any characters, includes spaces
  6. Choose the case sensitivity

Real-world use case Trim/Normalize Node

In this example we are gaining a file from an end user who needs help with capitalizing all of the Address.

Someone sends us this csv. We open it with the CSV Input Node in ET1 then we want to trim/normalize.

Supplier_ID,Supplier_Name,Address,Email
SUP001,Supplier X,123 Main Street|Suite 100|Anytown|CA 90210,supplierx@example.com
SUP002,Supplier Y,456 Oak Avenue|Building B|Sometown|NY 10001,suppliery@example.com
SUP003,Supplier Z,789 Pine Road|Floor 3|Othercity|TX 75001,supplierz@example.com

We are going to add trim ends, incase future data has padded spaces (thinking ahead), and swapping case to upper to follow internal best practices.

Upper case for Address passes this users current data strategy, their reasoning; some data inputs do not automatically swap to uppercase during the software writing to the database, and the software engineers don’t have time to optimize this part of the software.

Thanks for learning more about ET1 and know if you have any questions… Please contact us.

We would love to hear about your use cases.

Return to ET1 Overview to learn more.

ET1’s Joiner Node

ET1’s Joiner Node

On your magic quest to join data? We call it the Joiner node.

A simple joining solution that helps people join data at a row level.

In ET1, Joiner is focused on “keeping it simple” and will aim to automatically infers your joins.

ET1 assumes.

Inferring a join means it assumes you prepared the data prior. Like, Id = Id..

Without preparing the data stream prior, the assumptions may fail. Use this to your power, and save time by letting ET1’s Joiner Node assume the correct column for you.

Hint; make it easier by preparing your column headers before using the Joiner Node by using the Column Renamer Node. This will help you save time while using ET1.

How to use Joiner in ET1

  • Connect table1
  • Connect table2
  • Pick type inner join or left* join

Right join is possible by swapping which table you connect to the Joiner node first. This order of operation is considered, and by adjusting what connects to this node first – you’re able to right join. You’re simple using the left join and the understanding of what you just read.

Type: The style of join. Today, we only have inner and left join.

Using ET1’s Joiner Node

The Joiner Node is the tool for joining data at a row-level, it removes complexities when joining data, and these row-level relationships are likely the ‘key’ we need to use the ET1’s Joiner Node.

Goal, join our data to see if we need more inventory.

Problem, the data is broken into many different tables.

Use case: Purchase data and inventory data can be joined, lets break it down.

Purchase data csv.

ID,Date,Product,Quantity,Price,Total
1,2024-01-01,Widget A,10,15.50,155.00
2,2024-01-02,Gadget B,5,25.00,125.00
3,2024-01-03,Tool C,8,12.75,102.00
4,2024-01-04,Device D,3,45.20,135.60
5,2024-01-05,Accessory E,15,8.99,134.85
6,2024-01-06,Widget A,7,15.50,108.50
7,2024-01-07,Gadget B,12,25.00,300.00
8,2024-01-08,Tool C,6,12.75,76.50
9,2024-01-09,Device D,9,45.20,406.80
10,2024-01-10,Accessory E,20,8.99,179.80

Inventory data csv.

ID,Product,Quantity,Location,Supplier,Last_Updated,Unit_Cost,Min_Stock
1,Widget A,93,Warehouse A,Supplier X,2024-01-01,15.50,50
2,Gadget B,20,Warehouse B,Supplier Y,2024-01-02,25.00,25
3,Tool C,122,Warehouse A,Supplier X,2024-01-03,12.75,40
4,Device D,4,Warehouse C,Supplier Z,2024-01-04,45.20,15
5,Accessory E,300,Warehouse B,Supplier Y,2024-01-05,8.99,100
6,Widget A,120,Warehouse A,Supplier X,2024-01-06,15.50,50
7,Gadget B,60,Warehouse B,Supplier Y,2024-01-07,25.00,25
8,Tool C,180,Warehouse A,Supplier X,2024-01-08,12.75,40
9,Device D,30,Warehouse C,Supplier Z,2024-01-09,45.20,15
10,Accessory E,250,Warehouse B,Supplier Y,2024-01-10,8.99,100

In this example we need to aggregate our data (Aggregation Node) and group by in ET1.

While analyzing this request, I found the data has duplicate entries on the column Product. Product has a relationship between tables. However we need the tables to be grouped, or we will be creating a many-to-many join.

Here’s how our Inventory data will look after we group by Quantity, and rename our header to Inventory.

Product,Inventory
Widget A,213
Gadget B,80
Tool C,302
Device D,34
Accessory E,550

A quick overview of our entire process in ET1, joining two tables together, and understanding inventory levels VS what was sold.

A close up view of the Joiner Node, setup in this process captured above.

Thanks for learning more about ET1 and know if you have any questions… Please contact us. We would love to hear about your use cases.

Return to ET1 Overview to learn more.

Create a KPI with ET1

Create a KPI with ET1

Need a KPI? Aggregating the entire column into 1 value? ET1 has this capability built into the aggregation node.

By using the Aggregation Node in ET1, and skipping the Group By column in ET1, you can immediately jump into creating column level KPI values.

To create a KPI, you need to choose the column and how to aggregate.

Setting up your KPIs in ET1

Open an Aggregate Node, stream data into this node, and open the settings.

We need to create a Sum of Quantity.

We need to swap the measure column to Quantity and the operation to sum!

Recap: The Aggregation Node operation is set to sum and the measure column is set to quantity and this creates a single KPI value for the column quantity.

Questions? Please contact us.

Return to ET1 Overview to learn more.

ET1’s Group By Overview

ET1’s Group By Overview

Eager to group data?

The Group By feature can be found in the Aggregation Node.

Add the aggregation node to the canvas and send data downstream to this node.

We have many products, however duplicate quantities across many suppliers, and we need to check the quantity of entire business!

Product,Quantity
Widget A,93
Gadget B,20
Tool C,122
Device D,4
Accessory E,300
Widget A,120
Gadget B,60
Tool C,180
Device D,30
Accessory E,250

Using Group By in ET1

Open your Aggregation Node.

Aggregation node is automatically set to record count, and requires some setting changes to begin grouping data.

  1. Set the group by column
  2. Set the column you want to measure
  3. Set the operation, like sum, avg, mean, count..

How we use Group By

Grouping data is helpful when you need to consolidate records based on repetitive groups or classifications of your information.

In this data source above we need to measure by quantity!

So, let’s begin by choosing the Group By as Product.

Operation, SUM! We want to Sum the Quantity.

Questions? Please contact us.

Return to ET1 Overview to learn more.

ET1’s Measure Filter Node

ET1’s Measure Filter Node

When you have numbers, you have a need for a Measure Filter Node.

Numbers are here, lets talk about it.

Filtering with a number or decimal is straight forward using ET1.

Using Measure Filter Node in ET1

Get started using the Measure Filter node.

Attach data pipeline / arrow. This flows data downstream.

Then you will do the following 4 steps:

  • Select a column.
  • Select an operand.
  • Input your value.
  • Swap modes, “keep matches” or “keep unmatched”

How Measure Filter Node works

Inferred debugging; If your column isn’t a measure, the measure filter will not work.

If your column is a measure, meaning it can be aggregated due to it being a number or decimal, then ET1 will measure the column.

In this example we are filtering by Quantity.

We swap the Column to Quantity.

Then add the value of 125. Using the operand >= …

We will choose “Keep Matches” however swapping to keep “unmatched” can helpful if you need to split the data.

Here’s an example of how you will split measure filter nodes to simulate splitting the data VS keeping just the one side of the filter.

Questions? Please contact us.

Return to ET1 Overview to learn more.