Deletes a set of rows in your dataset, based on a condition specified in the
row expression. If the conditional expression is
true, then the row is deleted. The
delete transform is the opposite of the
keep transform. See Keep Transform.
delete row:(dateAge >= 90)
Output: For each row in the dataset, if the value in the
dateAge column is greater than or equal to
90, the row is deleted.
|Token||Required?||Transform Builder||Data Type||Description|
|delete||Y||Delete rows||transform||Name of the transform|
|row||Y||Condition||string||Expression identifying the row or rows to delete. If expression evaluates to |
For more information on syntax standards, see Language Documentation Syntax Notes.
Expression to identify the row or rows on which to perform the transform. Expression must evaluate to
Score >= 50
LEN(LastName) > 8
delete row: (lastContactDate < 01/01/2010 || status == 'Inactive')
Output: Deletes any row in the dataset where the
lastContactDate is before January 1, 2010 or the status is
|Yes||Expression that evaluates to |
Example - Remove old products and keep new orders
This examples illustrates how you can keep and delete rows from your dataset using the following transforms:
delete- Deletes a set of rows as evaluated by the conditional expression in the
rowparameter. See Delete Transform.
keep- Retains a set of rows as evaluated by the conditional expression in the
rowparameter. All other rows are deleted from the dataset. See Keep Transform.
Your dataset includes the following order information. You want to edit your dataset so that:
- All orders for products that are no longer available are removed. These include the following product IDs:
- All orders that were placed within the last 90 days are retained.
First, you remove the orders for old products. Since the set of products is relatively small, you can start first by adding the following:
NOTE: Just preview this transform. Do not add it to your recipe yet.
When this step is previewed, you should notice that the top row in the above table is highlighted for removal. Notice how the transform relies on the
delete row:(ProdId == 'P100')
ProdIdvalue. If you look at the
ProductNamevalue, you might notice that there is a misspelling in one of the affected rows, so that column is not a good one for comparison purposes.
You can add the other product IDs to the transform in the following expansion of the transform, in which any row that has a matching
ProdId value is removed:
When the above step is added to your recipe, you should see data that looks like the following:
delete row:(ProdId == 'P100' || ProdId == 'P101' || ProdId == 'P102' || ProdId == 'P103')
Now, you can filter out of the dataset orders that are older than 90 days. First, add a column with today's date:
Keep the rows that are within 90 days of this date using the following:
derive value:'2/25/16' as:'today'
Don't forget to drop the
keep row:DATEDIF(OrderDate,today,day) <= 90
todaycolumn, which is no longer needed: