cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-737934%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EFusionner%20les%20donn%C3%A9es%20de%20deux%20cellules%20en%20une%20par%20num%C3%A9ro%20de%20s%C3%A9rie%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-737934%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EJ'ai%20des%20donn%C3%A9es%20de%20fabrication%20d'un%20produit.%20Certains%20produits%20sont%20fabriqu%C3%A9s%20%C3%A0%20partir%20de%20mat%C3%A9riaux%20provenant%20de%20deux%20lots%20diff%C3%A9rents.%20Je%20dois%20fusionner%20toutes%20les%20informations%20du%20lot%20dans%20une%20seule%20cellule%20par%20SN.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-737934%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EAnalyse%20et%20mod%C3%A9lisation%20des%20donn%C3%A9es%20de%20base%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-737958%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%20%3A%20Fusionner%20les%20donn%C3%A9es%20de%20deux%20cellules%20en%20une%20par%20num%C3%A9ro%20de%20s%C3%A9rie%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-737958%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EJe%20pense%20qu'il%20y%20a%20quelques%20%C3%A9l%C3%A9ments%20de%20liste%20de%20souhaits%20%C3%A0%20ce%20sujet%20(certains%20pourraient%20m%C3%AAme%20%C3%AAtre%20les%20miens%20mais%20je%20ne%20les%20trouve%20pas%20maintenant)...%20mais%20actuellement%20j'opterais%20pour%20une%20requ%C3%AAte%20SQL%20en%20utilisant%20GROUP_CONCAT%20(ce%20n'est%20pas%20la%20seule%20option)%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0Adt%20%3D%20New%20Table(%22Untitled%22%2C%0A%09Add%20Rows(7)%2C%0A%09Compress%20File%20When%20Saved(1)%2C%0A%09New%20Column(%22S%22%2C%20Character%2C%20%22Nominal%22%2C%20Set%20Values(%7B%221%22%2C%20%222%22%2C%20%223%22%2C%20%223%22%2C%20%225%22%2C%20%226%22%2C%20%226%22%7D))%2C%0A%09New%20Column(%22M%22%2C%20Character%2C%20%22Nominal%22%2C%20Set%20Values(%7B%22A1%22%2C%20%22A2%22%2C%20%22A3%22%2C%20%22A4%22%2C%20%22A5%22%2C%20%22A6%22%2C%20%22A7%22%7D))%0A)%3B%0A%0Adt2%20%3D%20Query(%0A%09Table(dt%2C%20%22t%22)%2C%3CBR%20%2F%3E%22select%20S%2C%20GROUP_CONCAT(M%2C%20'%2C%20')%20M%0Afrom%20t%0Agroup%20by%20S%22%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_0-1711126868942.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1711126868942.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1711126868942.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1711126868942.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1711126868942.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F62538i935131CFC8DD1229%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_0-1711126868942.png%22%20alt%3D%22jthi_0-1711126868942.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-737966%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%20%3A%20Fusionner%20les%20donn%C3%A9es%20de%20deux%20cellules%20en%20une%20par%20num%C3%A9ro%20de%20s%C3%A9rie%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-737966%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EPas%20aussi%20%C3%A9loquent%20que%20celui%20de%20Jarmo%2C%20mais%20il%20montre%20une%20approche%20diff%C3%A9rente%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(%201%20)%3B%0A%0Adt%20%3D%20New%20Table(%20%22Example%22%2C%0A%09Add%20Rows(%207%20)%2C%0A%09Compress%20File%20When%20Saved(%201%20)%2C%0A%09New%20Column(%20%22SN%22%2C%0A%09%09Character%2C%0A%09%09%22Nominal%22%2C%0A%09%09Set%20Values(%20%7B%221%22%2C%20%222%22%2C%20%223%22%2C%20%223%22%2C%20%225%22%2C%20%226%22%2C%20%226%22%7D%20)%0A%09)%2C%0A%09New%20Column(%20%22Material%20Lot%22%2C%0A%09%09Character%2C%0A%09%09%22Nominal%22%2C%0A%09%09Set%20Values(%20%7B%22A1%22%2C%20%22A2%22%2C%20%22A3%22%2C%20%22A4%22%2C%20%22A5%22%2C%20%22A6%22%2C%20%22A7%22%7D%20)%0A%09)%0A)%3B%0A%0AdtCombine%20%3D%20dt%20%26lt%3B%26lt%3B%20Summary(%0A%09Group(%20%3ASN%20)%2C%0A%09Freq(%20%22None%22%20)%2C%0A%09Weight(%20%22None%22%20)%2C%0A%09Link%20to%20original%20data%20table(%200%20)%0A)%3B%0A%0AdtCombine%20%26lt%3B%26lt%3B%20New%20Column(%20%22Material%20Lot%22%2C%0A%09Character%2C%0A%09set%20each%20value(%0A%09%09Eval(%0A%09%09%09Eval%20Expr(%0A%09%09%09%09Concat%20Items(%0A%09%09%09%09%09dt%3AMaterial%20Lot%5Bdt%20%26lt%3B%26lt%3B%0A%09%09%09%09%09get%20rows%20where(%20dt%3ASN%20%3D%3D%20Expr(%20dtCombine%3ASN%5BRow()%5D%20)%20)%5D%2C%0A%09%09%09%09%09%22%2C%20%22%0A%09%09%09%09)%0A%09%09%09)%0A%09%09)%3B%0A%09)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22txnelson_0-1711129029700.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1711129029700.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1711129029700.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22txnelson_0-1711129029700.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F62539iCC021614472F6746%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22txnelson_0-1711129029700.png%22%20alt%3D%22txnelson_0-1711129029700.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-739138%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Fusionner%20les%20donn%C3%A9es%20de%20deux%20cellules%20en%20une%20seule%20par%20num%C3%A9ro%20de%20s%C3%A9rie%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-739138%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EJ'ai%20une%20table%20avec%20deux%20colonnes%20de%20mat%C3%A9riaux.%20Voir%20l'exemple%20ci-joint.%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EMa%20logique%20actuelle%20est%20de%20diviser%20ce%20tableau%20en%20deux.%3C%2FP%3E%3CP%3E1.SN%2C%20M1%3C%2FP%3E%3CP%3E2.%20SN%2C%20M2%3C%2FP%3E%3CP%3E%20%3C%2FP%3E%3CP%3EEnsuite%2C%20utilisez%20la%20fonction%20Group_Contcat%2C%20puis%20la%20fonction%20update%20pour%20fusionner%20les%20deux%20tables.%20Cela%20fonctionne%20bien.%20Mais%20je%20me%20demandais%20s'il%20y%20avait%20un%20moyen%20plus%20rapide%20de%20le%20faire.%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22JMP%203.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22JMP%203.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22JMP%203.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F62684i4EA1096CFEF5399B%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22JMP%203.png%22%20alt%3D%22JMP%203.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E2%80%83%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-737970%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Fusionner%20les%20donn%C3%A9es%20de%20deux%20cellules%20en%20une%20seule%20par%20num%C3%A9ro%20de%20s%C3%A9rie%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-737970%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EMerci%2C%20c'est%20exactement%20ce%20que%20je%20cherchais%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar

Merge data of two cells in one by Serial Number

I have a product manufacturing data. Some products are made using the material using two different lot. I need to merge all the lot information in one cell by SN. 

2 ACCEPTED SOLUTIONS

Accepted Solutions
jthi
Super User

Re: Merge data of two cells in one by Serial Number

I think there are some wish list items regarding this (some might be even mine but I cannot find them now)... but currently I would go with SQL query using GROUP_CONCAT (it is not the only option)

Names Default To Here(1);

dt = New Table("Untitled",
	Add Rows(7),
	Compress File When Saved(1),
	New Column("S", Character, "Nominal", Set Values({"1", "2", "3", "3", "5", "6", "6"})),
	New Column("M", Character, "Nominal", Set Values({"A1", "A2", "A3", "A4", "A5", "A6", "A7"}))
);

dt2 = Query(
	Table(dt, "t"),
"select S, GROUP_CONCAT(M, ', ') M from t group by S" );

jthi_0-1711126868942.png

 

Edit:

Found the wish list item Add Listagg/Concatenate/GROUP_CONCAT to Summary platform and I have also created add-in for this Group Listagg Columns which does use Query() to build the table

-Jarmo

View solution in original post

txnelson
Super User

Re: Merge data of two cells in one by Serial Number

Not as eloquent as Jarmo's, but it shows a different approach

Names Default To Here( 1 );

dt = New Table( "Example",
	Add Rows( 7 ),
	Compress File When Saved( 1 ),
	New Column( "SN",
		Character,
		"Nominal",
		Set Values( {"1", "2", "3", "3", "5", "6", "6"} )
	),
	New Column( "Material Lot",
		Character,
		"Nominal",
		Set Values( {"A1", "A2", "A3", "A4", "A5", "A6", "A7"} )
	)
);

dtCombine = dt << Summary(
	Group( :SN ),
	Freq( "None" ),
	Weight( "None" ),
	Link to original data table( 0 )
);

dtCombine << New Column( "Material Lot",
	Character,
	set each value(
		Eval(
			Eval Expr(
				Concat Items(
					dt:Material Lot[dt <<
					get rows where( dt:SN == Expr( dtCombine:SN[Row()] ) )],
					", "
				)
			)
		);
	)
);

txnelson_0-1711129029700.png

 

Jim

View solution in original post

4 REPLIES 4
jthi
Super User

Re: Merge data of two cells in one by Serial Number

I think there are some wish list items regarding this (some might be even mine but I cannot find them now)... but currently I would go with SQL query using GROUP_CONCAT (it is not the only option)

Names Default To Here(1);

dt = New Table("Untitled",
	Add Rows(7),
	Compress File When Saved(1),
	New Column("S", Character, "Nominal", Set Values({"1", "2", "3", "3", "5", "6", "6"})),
	New Column("M", Character, "Nominal", Set Values({"A1", "A2", "A3", "A4", "A5", "A6", "A7"}))
);

dt2 = Query(
	Table(dt, "t"),
"select S, GROUP_CONCAT(M, ', ') M from t group by S" );

jthi_0-1711126868942.png

 

Edit:

Found the wish list item Add Listagg/Concatenate/GROUP_CONCAT to Summary platform and I have also created add-in for this Group Listagg Columns which does use Query() to build the table

-Jarmo
txnelson
Super User

Re: Merge data of two cells in one by Serial Number

Not as eloquent as Jarmo's, but it shows a different approach

Names Default To Here( 1 );

dt = New Table( "Example",
	Add Rows( 7 ),
	Compress File When Saved( 1 ),
	New Column( "SN",
		Character,
		"Nominal",
		Set Values( {"1", "2", "3", "3", "5", "6", "6"} )
	),
	New Column( "Material Lot",
		Character,
		"Nominal",
		Set Values( {"A1", "A2", "A3", "A4", "A5", "A6", "A7"} )
	)
);

dtCombine = dt << Summary(
	Group( :SN ),
	Freq( "None" ),
	Weight( "None" ),
	Link to original data table( 0 )
);

dtCombine << New Column( "Material Lot",
	Character,
	set each value(
		Eval(
			Eval Expr(
				Concat Items(
					dt:Material Lot[dt <<
					get rows where( dt:SN == Expr( dtCombine:SN[Row()] ) )],
					", "
				)
			)
		);
	)
);

txnelson_0-1711129029700.png

 

Jim

Re: Merge data of two cells in one by Serial Number

I have some table with two material column. See atteched example. 

 

My current logic is splitting this table in to two. 

1. SN, M1

2. SN, M2

 

And than use Group_Contcat function, and than use update function to merge both table. It is working fine. But I was wondering if there is any batter (Short) way to do it.

JMP 3.png

Re: Merge data of two cells in one by Serial Number

Thanks you, This exactly what I was look for

Recommended Articles