Page tree

The cloud-based product Trifacta Free is available now! Register for your free account.

 

Contents:


Extracts the ranked unique Datetime value from the values in a column, where k=1 returns the maximum value, when a specified condition is met. The value for k must be between 1 and 1000, inclusive. Inputs must be Datetime.

KTHLARGESTUNIQUEDATEIF calculations are filtered by a conditional applied to the group.  

For purposes of this calculation, two instances of the same value are treated as the same value of k. So, if your dataset contains four rows with column values 2020-02-15,  2020-02-14,  2020-02-14,  and 2020-02-13, then KTHLARGESTUNIQUEDATEIF returns 2020-02-14 for k=2 and 2020-02-13 for k=3.

Input column must be of Datetime type. Other values column are ignored. If a row contains a missing or null value, it is not factored into the calculation.

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 kth largest unique calculation on Datetime values without conditionals, use the KTHLARGESTUNIQUEDATE function. See KTHLARGESTUNIQUEDATE Function.

For a version of this function that applies to non-Datetime values, see KTHLARGESTUNIQUE 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

kthlargestuniquedateif(transDate, 2, salesPerson == 'jsmith')

Output: Returns the secondmost recent unique Date (rank=2) from the transDate column when the salesPerson value is jsmith.

Syntax and Arguments

kthlargestuniquedateif(col_ref, limit, test_expression) [group:group_col_ref] [limit:limit_count]


ArgumentRequired?Data TypeDescription
col_refYstringReference to the column you wish to evaluate.
k_integerYintegerThe ranking of the value to extract from the source column
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 parameter, see Pivot Transform.

col_ref

Name of the column whose values you wish to use in the calculation. Inputs must be Datetime values.

Usage Notes:

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

k_integer

Integer representing the unique ranking of the value to extract from the source column.

NOTE: The value for k must be an integer between 1 and 1,000 inclusive.

  • k=1 represents the maximum value in the column. 
  • If k is greater than or equal to the number of values in the column, the minimum value is returned.
  • Missing and null values are not factored into the ranking of k.

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 - KTHLARGESTDATE functions

This example illustrates how you can apply conditionals to calculate minimum, maximum, and most common date values:
  • KTHLARGESTDATE - Extracts the ranked Datetime value from the values in a column, where k=1 returns the maximum value. See KTHLARGESTDATE Function.
  • KTHLARGESTUNIQUEDATE - Extracts the unique ranked Datetime value from the values in a column, where k=1 returns the maximum value. See KTHLARGESTUNIQUEDATE Function.
  • KTHLARGESTDATEIF - Extracts the ranked Datetime value from the values in a column that meet a specified condition. See KTHLARGESTDATEIF Function.
  • KTHLARGESTUNIQUEDATEIF - Extracts the ranked unique Datetime value from the values in a column that meet a specified condition. See KTHLARGESTUNIQUEDATEIF Function.

Source:

Here is some example transaction data:

DateProductUnitsUnitCostOrderValue
3/28/2020ProductA410.0040.00
3/8/2020ProductB420.0080.00
3/12/2020ProductC230.0060.00
3/23/2020ProductA110.0010.00
3/20/2020ProductB220.0040.00
3/12/2020ProductC930.00270.00
3/28/2020ProductA510.0050.00
3/23/2020ProductB820.00160.00
3/16/2020ProductC930.00270.00
3/8/2020ProductA510.0050.00
3/10/2020ProductB320.0060.00
3/13/2020ProductC130.0030.00
3/12/2020ProductA710.0070.00
3/10/2020ProductB720.00140.00
3/24/2020ProductC930.00270.00
3/15/2020ProductA810.0080.00
3/10/2020ProductB520.00100.00
3/10/2020ProductC430.00120.00


Transformation:

The following transformation computes the third highest date in the Date column:

Transformation Name New formula
Parameter: Formula type Single row formula
Parameter: Formula kthlargestdate(Date, 3)
Parameter: New column name 'kthlargestdate'

This transformation computes the third highest unique value in the Date column:

Transformation Name New formula
Parameter: Formula type Single row formula
Parameter: Formula kthlargestuniquedate(Date, 3)
Parameter: New column name 'kthlargestuniquedate'

Following transformation calculates the 3rd highest date value when the OrderValue > 200:

Transformation Name New formula
Parameter: Formula type Single row formula
Parameter: Formula kthlargestdateif(Date, 3, OrderValue > 200)
Parameter: New column name 'kthlargestdateif'

Following transformation calculates the 3rd highest unique date value when the OrderValue > 200:

Transformation Name New formula
Parameter: Formula type Single row formula
Parameter: Formula kthlargestuniquedateif(Date, 3, OrderValue > 200)
Parameter: New column name 'kthlargestuniquedateif'

Results: 

DateProductUnitsUnitCostOrderValuekthlargestdatekthlargestuniquedatekthlargestdateifkthlargestuniquedateif
3/28/2020ProductA410.0040.0003-24-202003-23-202003-23-202003-23-2020
3/8/2020ProductB420.0080.0003-24-202003-23-202003-23-202003-23-2020
3/12/2020ProductC230.0060.0003-24-202003-23-202003-23-202003-23-2020
3/23/2020ProductA110.0010.0003-24-202003-23-202003-23-202003-23-2020
3/20/2020ProductB220.0040.0003-24-202003-23-202003-23-202003-23-2020
3/12/2020ProductC930.00270.0003-24-202003-23-202003-23-202003-23-2020
3/28/2020ProductA510.0050.0003-24-202003-23-202003-23-202003-23-2020
3/23/2020ProductB820.00160.0003-24-202003-23-202003-23-202003-23-2020
3/16/2020ProductC930.00270.0003-24-202003-23-202003-23-202003-23-2020
3/8/2020ProductA510.0050.0003-24-202003-23-202003-23-202003-23-2020
3/10/2020ProductB320.0060.0003-24-202003-23-202003-23-202003-23-2020
3/13/2020ProductC130.0030.0003-24-202003-23-202003-23-202003-23-2020
3/12/2020ProductA710.0070.0003-24-202003-23-202003-23-202003-23-2020
3/10/2020ProductB720.00140.0003-24-202003-23-202003-23-202003-23-2020
3/24/2020ProductC930.00270.0003-24-202003-23-202003-23-202003-23-2020
3/15/2020ProductA810.0080.0003-24-202003-23-202003-23-202003-23-2020
3/10/2020ProductB520.00100.0003-24-202003-23-202003-23-202003-23-2020
3/10/2020ProductC430.00120.0003-24-202003-23-202003-23-202003-23-2020


 

This page has no comments.