Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Generate Rows: increment letters like numbers

Federica_FF
11 - Bolide

Hello everybody!

 

I'm using the Generate Rows to increment letters like numbers (example: D+1=E).

 

Cattura.PNG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I used the formula: CharFromInt(CharToInt([Alph increm])+1)

 

CharToInt([Alph increm])+1) --> Converts the letter into the relative number/code and it adds 1 (Letter A = 65 // 65+1=66)

CharFromInt --> Converts again the number/code+1 into the relative letter (66=B)

 

And it perfectly works, but it creates 26 rows of uppercase letters (from A to Z) plus 26 rows of lowercase letters (from a to z) and a couple of rows of brakets, underscore, etc....

 

If I change my Input tool replacing A and Z with a and z lowercase, it returns me only 26 letters.

 

I know I can just input a-z lowercase and make the whole expression in the generate rows tool uppercase, or I can also input A-Z and then filter with a regex that tests if it's uppercase or not.

 

But why does the generate row tool act this way?

 

Why from A to Z means both upper and lowercase letters plus [\]^_` and form a to z only means lowercase letter?

 

Any idea, explanation?

1 REPLY 1
jdunkerley79
ACE Emeritus
ACE Emeritus

My guess is that it is doing a case insensitive comparison.

 

Z <= Z so moves onto the next character, / <= z and so it continues until it reaches the lowercase block.

 

Change the conditional expression to be based on the Ascii code:

CharToInt([Alph increm]) <= CharToInt([End])

And you will get what you need.

Labels