MeridianMERIDIAN
Arcform

Operations guide

You know what is wrong with your data, or what you want from it, but not what the step is called. Find your problem here, work out which version of it you have, and follow it to the operations that answer it.

How operations are arranged

We arrange operations by the stages a dataset passes through on its way from a source to a result. There are five, in the order a pipeline meets them:

  • Acquire: reading the data in, from files, databases and the web.
  • Shape: cleaning, inspecting and rearranging one table.
  • Join: bringing two or more tables together.
  • Model: analysing the data or learning from it.
  • Publish: sending the result out, as a file, a table or a message.

Control sits outside the five. Its operations run the pipeline around the data: they order and repeat steps, handle errors, set parameters, run scripts and commands, test the pipeline and log what happened, rather than changing the data.

Within a stage, we group operations by the shape of what you get back, compared with the table you started from:

  • A new table, from no input table.
  • One row out per row in, with columns added or changed.
  • Fewer rows, same columns.
  • More rows, each traceable to one input row.
  • A new grain: each row stands for a group of input rows.
  • The same cells, rearranged.
  • One table from two or more.
  • A table describing the input rather than holding its rows.
  • A model or a file, not a table.
  • A model or file and a table in, the table out with columns added.
  • The table sent out, with nothing new to look at.

Once you can say which stage you are in and what shape you want back, the operation follows. Say you want the repeated rows of a table gone: you are shaping one table, and you want fewer rows back with the same columns. That leaves a handful of operations, and Deduplicate rows is the one.

Start from your problem

Each problem below comes in more than one version. Find the sentence that is true of your data, and follow it to the operations that answer it, in the order you would run them.

Shape

My customer list has the same company three times.

Repeated companies are at least three problems, and each needs a different fix.

Acquire

I've been sent a file and need it as a table.

Which reader you need depends on how the file lays out its values.

Shape

I don't know what's in this file, or whether to trust it.

Before you change anything, you can ask what the file holds, and then whether it holds what it should.

  • You don't yet know its columns or what type each one is.

    1. List columns and types
  • You know the columns, but not how many values are blank or distinct in each.

    1. Profile a table
  • You know what the data should look like and want each rule checked, such as no blank customer IDs.

    1. Check data quality

Shape

My dates won't sort or filter as dates.

The column holds dates in a form the table treats as something else, and the form tells you the fix.

Shape

My table is the wrong way round for what I need.

The cells are all there; what changes is whether months, or any repeated category, run across the columns or down the rows.

  • You have a column for each month and want one row for each month, with the month as a value.

    1. Unpivot a table
  • You have a row for each month and want a column for each month, as in a cross-tab.

    1. Pivot a table
  • You want the rows and columns swapped wholesale, each row becoming a column.

    1. Transpose a table

Join

My two tables should join, but the keys don't match.

Keys fail to match for different reasons, and each reason has its own kind of join.

Join

I need to know what changed between last month's file and this month's.

You may need a yes or no, every difference, or only the rows that came or went.

Join

I need to write this month's results into a table that holds the earlier months.

Writing into a table that already has rows means deciding what happens to the rows already there.

Model

I want to put my customers into groups.

Whether the groups are already in your data decides whether you summarise or model.

  • The groups are already a column, such as region or plan, and you want figures for each.

    1. Summarise by group
  • There is no such column, and you want customers who are alike put together.

    1. Cluster rows

Model

I want to know what next month's numbers will look like.

A forecast reads a series of periods, so what matters first is whether your rows already are one.

Publish

I need to hand the result to someone else.

The right file depends on what they will open it with.

Publish

Others need to know what my dataset holds and where it came from.

Where the description goes depends on where they will look for it.

Operations by stage

Each stage's page lists its operations by the shape of the result, each with its status in arcform today.

  • Acquire15 operations

    Reading the data in, from files, databases and the web.

  • Shape51 operations

    Cleaning, inspecting and rearranging one table.

  • Join15 operations

    Bringing two or more tables together.

  • Model37 operations

    Analysing the data or learning from it.

  • Publish17 operations

    Sending the result out, as a file, a table or a message.

  • Control14 operations

    Running the pipeline around the data, rather than changing the data.

Operations