Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
BhaminiParmar12
Contributor III
Contributor III

How to Separate Text and Number Into Different Column

This is my Data I want to Split them Text into Different columns and Numbers in Different Columns and this is just examples but Text is endless and numbers are endless means no limit 

Column1
BhaminiParmar12345865567
VanshikaSalat87655
KetakiRaut12
ShubhamYadav89988
JatinParmar5
Labels (1)
3 Replies
maxgro
MVP
MVP

if you always have a text and then a number, the end of the text should be

Rangemin(
Replace(Index(Column1, '0', 1)-1, -1, null()),
Replace(Index(Column1, '1', 1)-1, -1, null()),
Replace(Index(Column1, '2', 1)-1, -1, null()),
Replace(Index(Column1, '3', 1)-1, -1, null()),
Replace(Index(Column1, '4', 1)-1, -1, null()),
Replace(Index(Column1, '5', 1)-1, -1, null()),
Replace(Index(Column1, '6', 1)-1, -1, null()),
Replace(Index(Column1, '7', 1)-1, -1, null()),
Replace(Index(Column1, '8', 1)-1, -1, null()),
Replace(Index(Column1, '9', 1)-1, -1, null())
)

the text

Left(Column1,
Rangemin(
Replace(Index(Column1, '0', 1)-1, -1, null()),
Replace(Index(Column1, '1', 1)-1, -1, null()),
Replace(Index(Column1, '2', 1)-1, -1, null()),
Replace(Index(Column1, '3', 1)-1, -1, null()),
Replace(Index(Column1, '4', 1)-1, -1, null()),
Replace(Index(Column1, '5', 1)-1, -1, null()),
Replace(Index(Column1, '6', 1)-1, -1, null()),
Replace(Index(Column1, '7', 1)-1, -1, null()),
Replace(Index(Column1, '8', 1)-1, -1, null()),
Replace(Index(Column1, '9', 1)-1, -1, null())
)
)

the number

Right(Column1,
Len(Column1)
-
Rangemin(
Replace(Index(Column1, '0', 1)-1, -1, null()),
Replace(Index(Column1, '1', 1)-1, -1, null()),
Replace(Index(Column1, '2', 1)-1, -1, null()),
Replace(Index(Column1, '3', 1)-1, -1, null()),
Replace(Index(Column1, '4', 1)-1, -1, null()),
Replace(Index(Column1, '5', 1)-1, -1, null()),
Replace(Index(Column1, '6', 1)-1, -1, null()),
Replace(Index(Column1, '7', 1)-1, -1, null()),
Replace(Index(Column1, '8', 1)-1, -1, null()),
Replace(Index(Column1, '9', 1)-1, -1, null())
)
)

 

maxgro_0-1718711540905.png

 

For Qlik Sense Cloud maybe with the RegEx connector

https://help.qlik.com/en-US/connectors/Subsystems/Web_Connectors_help/Content/Connectors_QWC/Data-So...

 

MarcoWedel

Hi, 

another solution might be

MarcoWedel_0-1718741657015.png

table1:
Load *,
     Left(Column1,FindOneOf(Column1&'0','0123456789')-1) as Column1Text,
     Mid(Column1,FindOneOf(Column1,'0123456789')) as Column1Num     
Inline [
Column1
BhaminiParmar123458655
VanshikaSalat87655
KetakiRaut12
ShubhamYadav89988
JatinParmar5
NoNumberHere
135798642
];

 

hope this helps

Marco

 

Gui_Approbato
Creator III
Creator III

Good solutions. Just adding another approach using PurgeChar and KeepChar:
Load *,

     Purgechar(Column1,'0123456789') as OnlyText,

     Keepchar(Column1,'0123456789') as OnlyNumbers

....