Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
beck_bakytbek
Master
Master

Concat and Count

Hi Folks,

i got a situation:

temp:

OrderID, Product, Turnover

101, Road Bikes, 25

101, Chains, 25

102, Road Bikes, 5

102, Footwear, 15

103, Chains, 7

left join

load OrderID, Concat(Product, ' , ' ) as Product

resident temp

group by OrderID;

my resultstable does look like:

OrderID, Products, Turnover

101, Road Bikes, Chains, 50

102, Road Bikes, Footwear, 20

103, Chains, 7

I want to have such tables

OrderID, Products, Turnover

101, 2, 50

102, 2, 20

103, 1, 7

How to implement the ProductsName into Number?

Does anybody have any idea?

Thanks a lot

Beck

1 Solution

Accepted Solutions
OmarBenSalem
Partner - Champion II
Partner - Champion II

Hi Beck

It worked for me:

load *, SubStringCount(Products,'- ')+1 as count Inline [

OrderID, Products, Turnover

101, Road Bikes- Chains, 50

102, Road Bikes- Footwear, 20

103, Chains, 7

];

result:

Capture.PNG

Mybe u should recall ur table and then do the transformation:

sthng like:

noconcatenate

load *,  SubStringCount(Products,', ')+1 as NewProdcuct resident urTable;

drop urTable;

View solution in original post

8 Replies
Quy_Nguyen
Specialist
Specialist

Try this:

A:

Load * INLINE [

OrderID, Product, Turnover

101, Road Bikes, 25

101, Chains, 25

102, Road Bikes, 5

102, Footwear, 15

103, Chains, 7 ];


NoConcatenate

Data:

Load

OrderID,

    Count(Product) As Product,

    Sum(Turnover) As Turnover

Resident A

Group by OrderID;


Drop Table A;

OmarBenSalem
Partner - Champion II
Partner - Champion II

Try :

temp:

OrderID, Product, Turnover

101, Road Bikes, 25

101, Chains, 25

102, Road Bikes, 5

102, Footwear, 15

103, Chains, 7

left join

load OrderID, SubStringCountConcat((Product, ' , ' ), ' , ')+1 as Product

resident temp

group by OrderID;

beck_bakytbek
Master
Master
Author

Hi Omar,

how are you, thanks a lot for your responce, i implemented it, but it does not work

OmarBenSalem
Partner - Champion II
Partner - Champion II

Hi Beck

It worked for me:

load *, SubStringCount(Products,'- ')+1 as count Inline [

OrderID, Products, Turnover

101, Road Bikes- Chains, 50

102, Road Bikes- Footwear, 20

103, Chains, 7

];

result:

Capture.PNG

Mybe u should recall ur table and then do the transformation:

sthng like:

noconcatenate

load *,  SubStringCount(Products,', ')+1 as NewProdcuct resident urTable;

drop urTable;

beck_bakytbek
Master
Master
Author

Thanks a lot Omar for your time and help,

as always i say; shukraan 'akhi

Have a nice evening

Beck

beck_bakytbek
Master
Master
Author

Hi Quy,

thanks a lot for your help and time

nsetty
Partner - Creator II
Partner - Creator II

AutoNumber(Product) ?

Quy_Nguyen
Specialist
Specialist

I dont know what's wrong with my answer Beck