Page tree

Release 8.7.1


Contents:

Our documentation site is moving!

For up-to-date documentation of release 8.7 of Self Managed Designer Cloud, please visit us at https://help.alteryx.com/SMC/r87/.

   

Contents:


Sorts array values in the specified column, array literal, or function that returns an array in ascending or descending order.
  • This function calculates based on the outer layer of an array. If your array is nested, the sorting of inner elements is not factored.

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

Array literal reference example:

arraysort([A,B,C,D],descending)

Output: Returns the following array: [D,C,B,A]

Column reference example:

arraysort(myArrays,ascending)

Output: Returns the arrays listed in the myArrays column sorted in ascending order.

Syntax and Arguments

arraysort(array_ref,order_enum)


ArgumentRequired?Data TypeDescription
array_refYstringName of Array column, Array literal, or function returning an Array to apply to the function
order_enumYstring (enumerated value)

Order is defined as either:

  • ascending (default)
  • descending

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

array_ref

Name of the array column, array literal, or function returning an array whose array values you wish to sort.

  • Multiple columns and wildcards are not supported.

Usage Notes:

Required?Data TypeExample Value
YesString (column reference or function) or array literalmyArray1

order_enum

String literal indicating the order by which the referenced arrays should be sorted:

  • ascending - (default) lowest values for the valid data type are listed first. 
  • descending - Null/empty values are sorted first, followed by mismatched values. Then, the array values that are valid for the specified data type are listed in descending order.  
  • For more information on the rules of sorting, see Sort Order.

Usage Notes:

Required?
Data Type
Example Value
NoString (enumerated value)descending


Examples


Tip: For additional examples, see Common Tasks.

Example - Student progress across tests

This example covers the following functions:

Source:

Here are some student test scores. Individual scores are stored in the Scores column. You want to:

  1. Flag the students who have not taken four tests.
  2. Compute the range in scores for each student.
LastNameFirstNameScores
AllenAmanda[79, 83,87,81]
BellBobby[85, 92, 94, 98]
CharlesCameron[88,81,85]
DudleyDanny[82,88,81,77]
EllisEvan[91,93,87,93]

Transformation:

First, you want to flag the students who did not take all four tests:

Transformation Name New formula
Parameter: Formula type Single row formula
Parameter: Formula IF(ARRAYLEN(Scores) < 4,"incomplete","")
Parameter: New column name 'Error'

This test flags Cameron Charles only.

The following transform sorts the array values in highest to lowest score:

Transformation Name Edit column with formula
Parameter: Columns Scores
Parameter: Formula ARRAYSORT(Scores, 'descending')


The following transforms extracts the first (highest) and last (lowest) value in each student's test scores, provided that they took four tests:

Transformation Name New formula
Parameter: Formula type Single row formula
Parameter: Formula ARRAYELEMENTAT(Scores,0)
Parameter: New column name 'highestScore'

Transformation Name New formula
Parameter: Formula type Single row formula
Parameter: Formula ARRAYELEMENTAT(Scores,3)
Parameter: New column name 'lowestScore'

Tip: You could also generate the Error column when the Scores4 column contains a null value. If no value exists in the array for the ARRAYELEMENTAT function, a null value is returned, which would indicate in this case an insufficient number of elements (test scores).

You can now track change in test scores:

Transformation Name New formula
Parameter: Formula type Single row formula
Parameter: Formula SUBTRACT(highestScore,lowestScore)
Parameter: New column name 'Score_range'

Results:

LastNameFirstNameScoresErrorlowestScorehighestScoreScore_range
AllenAmanda[87,83,81,79] 79878
BellBobby[98,94,92,85] 859813
CharlesCameron[88,85,81]incomplete 88 
DudleyDanny[88,82,81,77] 778811
EllisEvan[93,93,91,87] 87936

This page has no comments.