Page tree

 

Support | BlogContact Us | 844.332.2821

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space DEV and version r0411

D toc

Through simple selections, you can identify columns to remove, values on which to base row deletion, or strings to remove from your dataset. As needed, these transforms can be modified for more sophisticated removal transformations.

Considerations when removing data

Please keep in mind:

  • When data is removed from your dataset, no actual deletion is performed.
    • D s product
      rtrue
       does not modify source data. All recipe executions generate new sets of data based on the transformations you define, which are applied to a generated version of the source data.
    • Transform steps are previewed and can be undone on sampled data in the Transformer page, so you should feel free to experiment with data removal.
  • In large volume datasets, be careful applying patterns or regular expressions to your data. You should limit your application of these pattern-based changes to the minimum range of columns, rows, or strings required to complete the task. 

...

To drop a column from your dataset, click the column drop-down and select Drop. The data is no longer available in the data grid or subsequent recipe steps.

...

To drop multiple columns, you can specify comma-separated column names in your drop transform:

D code
showNotetrue

drop col:colA,colC,colE

To drop a range of columns, use the tilde (~) character between the start and end column names:
D code
hideNotetrue

drop col:colA~colE

For more information, see Drop Transform.

Tip

Tip: You can also drop multiple columns through the Column Browser. See Column Browser Panel.

For more information, see Drop Transform.

Delete rows

You can delete rows in your dataset based on conditional patterns that you specify. The easiest method is to select a string in the appropriate column and then choose the the Delete  transform cardsuggestion card.

Delete rows based on selections

Steps:

In the following example, each row contains an entry for a different business, and you want to remove all of the business entries from the city of Tempe.

  1. In this case, you could use the column histogram to select the value Tempe in the city column. 
  2. Then, select the Delete transform suggestion card.  

    D caption
    typefigure
    Select Tempe in the City column to remove all entries for that city
  3. After selecting Delete, the application evaluates your selected your selected value and attempt your intention with the selection. Is it a string literal or a pattern? If it's a pattern, what does the pattern represent?   You may select one of the variants in the Delete card to find the right match.

    Info

    NOTE: Be sure to scroll up and down in the data grid to review the values that are affected. In some cases, your selection may turn into a pattern, which could apply to more than just the desired values. In the previous example, selecting Tempe may yield a matching pattern of {alpha}{5}, which would match any five-letter city name, including Tempe, as well as myTempe. Select other variants in the Delete card to change the matching pattern. Click Modify to review the matching string.

  4. After defining and modifying your delete transform, you can use the preview to see the rows that will be removed, prior to adding the transform to your recipe.
Tip

Tip: You can also use the keep transform to retain rows based on a specified condition, effectively deleting the rows that do not match. See Keep Transform.

Delete blank rows

If you have rows in your dataset that contain no data, you can use the following two steps to remove them. Assuming that you know the starting (col1) and ending (colN) column names of your dataset, try the following:

Info

NOTE: If at a later time, you reorder or remove the starting or ending columns in a step before this one, these steps are broken.

D code
hideNotetrue

derive value: MERGE([column1~columnN]) as:'all_blank_vals'

D code
hideNotetrue

delete row:ISMISSING(all_blank_vals)

The above merges all values into a single value in the all_blank_vals column. The second step removes the row if the value in the merged column is blank. 

Remember to delete delete the all_blank_vals column after you are done.

For more information, see Delete Transform.

Remove values

To delete values from a column, select the values in the data grid. In the transform suggestion cards, select the Replace card. In the following example, the city column is removed of all values matching Tempe

D code
hideNotetrue

replace col: city on: `Tempe` with: '' global: true

 

The replace transform applies only to string values. The rest of a matching row is unaffected.

The above transform matches transform matches all values in the column, even partial values, the match string is removed from the column value. For example, an entry Tempest would be turned into st if if the above transform was added.

To ensure that only full-column value matches are applied, you can add

D s item
itempatterns
 to indicate the start and end of the column value as in the following:

D code
hideNotetrue

replace col: city on: `{start}Tempe{end}` with: '' global: true

...

Using regular expressions

For more sophisticated matching, you can apply regular expressions to your replace command. In the following example, all integers from 0-99 are matched in the qty column, and because . Because there is no replacement value, they are deleted.

Warning

Regular expressions are very powerful pattern matching tools. You should be careful in your use of them. See Text Matching.

D code
hideNotetrue

replace col: qty on: /^\d$|^\d\d$/ with: '' global: true

CharacterDefinition

^

Beginning of string. Required to prevent matching on the last digit of any numeric value.
$End of string. Required to prevent a 2-digit match on three-digit numbers.
\dA single digit
|Logical or. In this case, it is used to define separate regexes for 1- and 2-digit values.
Warning

Regular expressions are very powerful pattern matching tools. You should be careful in your use of them. See Text Matching.