Page tree

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

Compare with Current View Page History

« Previous Version 26 Next »


Contents:

   

Contents:


Generates the count of non-null values for rows in each group that meet a specific condition.

NOTE: When added to a transformation, 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. Transformations 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 COUNTA function. See COUNTA Function.

Wrangle vs. SQL: This function is part of Wrangle, a proprietary data transformation language. Wrangle is not SQL. For more information, see Wrangle Language.

Basic Usage

countaif(entries, entryValidation == 'Ok')

Output: Returns the count of non-null values in the entries column when the entryValidation value is 'Ok'.

Syntax and Arguments

countaif(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 parameter, 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 - COUNTIF Functions

This example demonstrates how to count the number of values within a group, based on a specified conditional test.

Functions:

ItemDescription
COUNTIF Function Generates the count of rows in each group that meet a specific condition. Generated value is of Integer type. 
COUNTAIF Function Generates the count of non-null values for rows in each group that meet a specific condition.

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:

You are interested in the count of dates during the week when each salesperson sold less than 50 units, not factoring the weekend. First, you try the following:

Transformation Name Pivot columns
Parameter: Row labels EmployeeId
Parameter: Values COUNTIF(Sales < 50)
Parameter: Max columns to create 1

You notice, however, that the blank values, when employees were sick or had vacation, are being counted. Additionally, this step does not filter out the weekend. You must identify the weekend days using the WEEKDAY function:

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

If DayOfWeek > 5, then it is a weekend date. For further precision, you can use the COUNTAIF function to remove the nulls:

Transformation Name Pivot columns
Parameter: Row labels EmployeeId
Parameter: Values COUNTAIF(Sales, DayOfWeek<6)
Parameter: Max columns to create 1

The above counts the non-null values in Sales when the day of the week is not a weekend day, as grouped by individual employee.


Results:

EmployeeIdcountaif_Sales
S0015
S0024
S0034

 

See Also for EXAMPLE - COUNTIF Functions:

 

See Also for COUNTAIF Function:

Error rendering macro 'contentbylabel'

parameters should not be empty

 

  • No labels

This page has no comments.