Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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 |
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())
)
)
For Qlik Sense Cloud maybe with the RegEx connector
Hi,
another solution might be
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
Good solutions. Just adding another approach using PurgeChar and KeepChar:
Load *,
Purgechar(Column1,'0123456789') as OnlyText,
Keepchar(Column1,'0123456789') as OnlyNumbers
....