Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space DEV and version r095

D toc

Excerpt

Returns the number of characters in a specified string. String value can be a column reference or string literal.

D s lang vs sql

D s
snippetBasic

Column reference example:

D lang syntax
RawWrangletrue
Typeref
showNotetrue
WrangleTextderive type:single value:len(MyName)

len(MyName)

Output: Returns the number of characters in the value in column MyName.

String literal example:

D lang syntax
RawWrangletrue
Typeref
showNotetrue
WrangleTextderive type:single value:len('Hello, World')

len('Hello, World')

Output: Returns the value 12.

D s
snippetSyntax

D lang syntax
RawWrangletrue
Typesyntax
showNotetrue
WrangleTextderive type:single value:len(column_string)

len(column_string)


ArgumentRequired?Data TypeDescription
column_stringYstringName of the column or string literal to be applied to the function

D s lang notes

column_string

Name of the column or string constant to be searched.

  • Missing string or column values generate missing string results.
  • String constants must be quoted ('Hello, World').
  • Multiple columns and wildcards are not supported.

D s
snippetusage

Required?Data TypeExample Value
YesString literal or column referencemyColumn

D s
snippetExamples

Example - Fixed Length Strings

Source:

Your product identifiers follow a specific structure that you'd like to validate in your recipe. In the following example data, the productId column should contain values of length 6.

You can see that there is already a column containing validation errors for the ProductName column. Values in the ProductId column that are not this length should be flagged in a new column. Then, you should merge the two columns together to create a ValidationError column.

ProductNameProductIdErrProductName
Chocolate Bunnie123456Error-ProductName
Chocolate Squirl88442286Error-ProductName
Chocolate Gopher12345 

Transformation:

To validate the length of the values in ProductId, enter the following transform. Note that the as parameter enables you to rename the column as part of the transform.

D trans
RawWrangletrue
p03Value'ErrProductIdLength'
Typestep
WrangleTextderive type:single value: if(len(ProductId) <> 6, 'Error-length-ProductId','') '' as: 'ErrProductIdLength'
p01NameFormula type
p01ValueSingle row formula
p02NameFormula
p02Valueif(len(ProductId) <> 6, 'Error-length-ProductId','')
p03NameNew column name
SearchTermNew formula

The dataset now looks like the following:

ProductNameProductIdErrProductNameErrProductIdLength
Chocolate Bunnie123456Error-ProductName 
Chocolate Squirrel88442286Error-ProductNameError-length-ProductId
Chocolate Gopher12345 Error-length-ProductId

You can blend the two error columns into a single DataValidationErrors error column using the following merge transform. Note again the use of the as parameter:

D trans
RawWrangletrue
p03Value'DataValidationErrors'
Typestep
WrangleTextmerge col:ErrProductName,ErrProductIdlength with:' ' as:'DataValidationErrors'
p01NameColumns
p01ValueErrProductName,ErrProductIdlength
p02NameSeparator
p02Value''
p03NameNew column name
SearchTermMerge columns

To clean up the data, you might want to do the following, which trims out the whitespace in the DataValidationErrors column and removes the two individual error columns:

D trans
RawWrangletrue
Typestep
WrangleTextset col:DataValidationErrors value:trim(DataValidationErrors)
p01NameColumns
p01ValueDataValidationErrors
p02NameFormula
p02Valuetrim(DataValidationErrors)
SearchTermEdit column with formula

D trans
RawWrangletrue
Typestep
WrangleTextdrop col:ErrProductName,ErrProductIdLength
p01NameColumns
p01ValueErrProductName,ErrProductIdLength
p02NameAction
p02ValueDelete selected columns
SearchTermDelete columns

Results:

The final dataset should look like the following:

ProductNameProductIdDataValidationErrors
Chocolate Bunnie123456Error-ProductName
Chocolate Squirrel88442286Error-ProductName Error-length-ProductId
Chocolate Gopher12345Error-length-ProductId

D s also
labelstring