Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

NOTE:  Trifacta Wrangler is a free product with limitations on its features. Some features in the documentation do not apply to this product edition. See Product Limitations.

   

Contents:


Selects a single non-null value from rows in each group that meet a specific condition.

NOTE: When added to a transform, this function is applied to the current sample. If you change your sample or run the job, the computed values for this function are updated. Transforms that change the number of rows in subsequent recipe steps do not affect the values computed for this step.

 

To perform a simple counting of non-nulls without conditionals, use the ANY function. See ANY Function.

Basic Usage

pivot value: ANYIF(custId, donation = 10000) group:City limit:1

Output: Generates a two-column table containing the unique values for City and a single value from custId when the donation value is greater than 10000. The limit parameter defines the maximum number of output columns.

Syntax and Arguments

pivot value:ANYIF(col_ref, test_expression) [group:group_col_ref] [limit:limit_count]

ArgumentRequired?Data TypeDescription
col_refYstringReference to the column you wish to evaluate.
test_expressionYstringExpression that is evaluated. Must resolve to true or false

For more information on syntax standards, see Language Documentation Syntax Notes.

For more information on the group and limit parameters, see Pivot Transform.

col_ref

Name of the column whose values you wish to use in the calculation. Column must be a numeric (Integer or Decimal) type.

Usage Notes:

Required?Data TypeExample Value
YesString that corresponds to the name of the columnmyValues

test_expression

This parameter contains the expression to evaluate. This expression must resolve to a Boolean (true or false) value.

Usage Notes:

Required?Data TypeExample Value
YesString expression that evaluates to true or false(LastName == 'Mouse' && FirstName == 'Mickey')


Examples

Tip: For additional examples, see Common Tasks.

Example - ANYIF and LISTIF Functions

This example illustrates you to identify and list all values within a group that meet a specified condition.

Functions:

ItemDescription
ANYIF Function Selects a single non-null value from rows in each group that meet a specific condition.
LISTIF Function Returns list of all values in a column for rows that match a specified condition.
WEEKDAY Function Derives the numeric value for the day of the week (1, 2, etc.). Input must be a reference to a column containing Datetime values.

Source:

The following data identifies sales figures by salespeople for a week:

EmployeeIdDateSales
S0011/23/1725
S0021/23/1740
S0031/23/1748
S0011/24/1781
S0021/24/1711
S0031/24/1725
S0011/25/179
S0021/25/1740
S0031/25/17 
S0011/26/1777
S0021/26/1783
S0031/26/17 
S0011/27/1717
S0021/27/1771
S0031/27/1729
S0011/28/17 
S0021/28/17 
S0031/28/1714
S0011/29/172
S0021/29/177
S0031/29/1799

 

Transformation:

In this example, you are interested in the high performers. A good day in sales is one in which an individual sells more than 80 units. First, you want to identify the day of week:

Transformation Name New formula
Parameter: Formula type Single row formula
Parameter: Formula WEEKDAY(Date)
Parameter: New column name 'DayOfWeek'

Values greater than 5 in DayOfWeek are weekend dates. You can use the following to identify if anyone reached this highwater marker during the workweek (non-weekend):

Transformation Name Pivot columns
Parameter: Rows labels EmployeeId,Date
Parameter: Values ANYIF(Sales, (Sales > 80 && DayOfWeek < 6))
Parameter: Max number of columns to create 1

Before adding the step to the recipe, you take note of the individuals who reached this mark in the anyif_Sales column for special recognition.

Now, you want to find out sales for individuals during the week. You can use the following to filter the data to show only for weekdays:

Transformation Name Pivot columns
Parameter: Rows labels EmployeeId,Date
Parameter: Values LISTIF(Sales, 1000, (DayOfWeek < 6))
Parameter: Max number of columns to create 1

To clean up, you might select and replace the following values in the listif_Sales column with empty strings:

["
"]
[]

Results:

EmployeeIdDatelistif_Sales
S0011/23/1725
S0021/23/1740
S0031/23/1748
S0011/24/1781
S0021/24/1711
S0031/24/1725
S0011/25/1740
S0021/25/17 
S0031/25/1766 
S0011/26/1777
S0021/26/1783
S0031/26/17 
S0011/27/1717
S0021/27/1771
S0031/27/1729
S0011/28/17 
S0021/28/17 
S0031/28/17 
S0011/29/17 
S0021/29/17 
S0031/29/17 

 

See Also for EXAMPLE - LISTIF Functions:

 

 

  • No labels

This page has no comments.