Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

How to create a calculated field B with value 1 or 0, if the value in the filed A is repeated more than once

Hi Guys,

   i wanted to created a New field B with 1 or 0 , if the value in the field A is repeated more than once than 1 else 0.

Could someone help me with the script

AB
CN7AOC61CF0
5CD7233LRW0
TH55M630QF1
TH7831Q01T1
CN2CS9QGBZ1
5CD6493R5K1
TH55M630QF1
TH7831Q01T1
CN2CS9QGBZ1
5CD6493R5K1
5CD65167070

Regards,

Karthik

1 Solution

Accepted Solutions
ehilsinger
Contributor III
Contributor III

[Data 1]:

LOAD

as [A Text],

Dual (, RowNo ()) as

Inline

[

A

CN7AOC61CF

5CD7233LRW

TH55M630QF

TH7831Q01T

CN2CS9QGBZ

5CD6493R5K

TH55M630QF

TH7831Q01T

CN2CS9QGBZ

5CD6493R5K

5CD6516707

];

[Temp]:

LOAD

[A Text] as [TEMP.A],

Count ([A Text]) as [TEMP.Count]

Resident

[Data 1]

Group By

[A Text];

Left Join ([Data 1])

LOAD

[TEMP.A] as [A Text],

1 as [B Temp]

Resident

[Temp]

Where

([TEMP.Count] > 1);

DROP Table [Temp];

[Data]:

NoConcatenate

LOAD

as ,

Alt ([B Temp], 0) as

Resident

[Data 1];

DROP Table [Data 1];

View solution in original post

5 Replies
YoussefBelloum
Champion
Champion

Hi,

the sequence above is a portion in the middle, right ?

otherwise, what is the rule used to set 1 for reference:TH55M630QF ??

olivierrobin
Specialist III
Specialist III

hello

I would  do :

1 - create a table with column A and count the number of times it appears in the file (you can transform this value as 0 or 1)

2 - load the table

3 - join the 1st table on key A

ehilsinger
Contributor III
Contributor III

[Data 1]:

LOAD

as [A Text],

Dual (, RowNo ()) as

Inline

[

A

CN7AOC61CF

5CD7233LRW

TH55M630QF

TH7831Q01T

CN2CS9QGBZ

5CD6493R5K

TH55M630QF

TH7831Q01T

CN2CS9QGBZ

5CD6493R5K

5CD6516707

];

[Temp]:

LOAD

[A Text] as [TEMP.A],

Count ([A Text]) as [TEMP.Count]

Resident

[Data 1]

Group By

[A Text];

Left Join ([Data 1])

LOAD

[TEMP.A] as [A Text],

1 as [B Temp]

Resident

[Temp]

Where

([TEMP.Count] > 1);

DROP Table [Temp];

[Data]:

NoConcatenate

LOAD

as ,

Alt ([B Temp], 0) as

Resident

[Data 1];

DROP Table [Data 1];

Anonymous
Not applicable
Author

Thank you ED, This works

vishsaggi
Champion III
Champion III

Try this?

Data:

LOAD * INLINE [

A

CN7AOC61CF

5CD7233LRW

TH55M630QF

TH7831Q01T

CN2CS9QGBZ

5CD6493R5K

TH55M630QF

TH7831Q01T

CN2CS9QGBZ

5CD6493R5K

5CD6516707

];

NoConcatenate

Ordered:

LOAD *, RowNo() AS RowNum

Resident Data

Order By A;

LEFT JOIN(Ordered)

LOAD *, IF(RowCnt = 1, 0, 1) AS B;

LOAD A,

     Count(RowNum) AS RowCnt

Resident Ordered

Group By A;

Drop Table Data;

Use straight table and add

Dim: A, RowNum

Expr: B

Follow the below screenshot.

Capture1.PNG

Capture.PNG