<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Sorting order in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687617#M208764</link>
    <description>&lt;P&gt;I don't understand.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you post some actual data?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Something like the below, the kind we could actually run through some SAS code.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA	Have;
	input var1 var2 var3;

datalines;
4 2 3
3 2 3
3 2 4
4 2 4
1 3 4
2 3 2
4 4 2
1 4 4
4 4 3
3 4 3
4 4 2
2 4 2
1 4 2
2 4 5
5 1 1
2 4 4
4 3 4
5 2 3
4 2 5
5 4 3
;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Jim&lt;/P&gt;</description>
    <pubDate>Tue, 29 Sep 2020 18:18:45 GMT</pubDate>
    <dc:creator>jimbarbour</dc:creator>
    <dc:date>2020-09-29T18:18:45Z</dc:date>
    <item>
      <title>Sorting order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687610#M208761</link>
      <description>&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have two Datasets with Groups . Data1 has DIX in group1 and Data2 has DIX in group2 so we are not missing data . How do i do sorting so that i can say both DIX and PTE are present in both Data1 and Data2 and they are not missing&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Data1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Policy_num&lt;/TD&gt;&lt;TD&gt;Group1&lt;/TD&gt;&lt;TD&gt;Group2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;DIX&lt;/TD&gt;&lt;TD&gt;PTE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Data2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Policy_num&lt;/TD&gt;&lt;TD&gt;Group1&lt;/TD&gt;&lt;TD&gt;Group2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;PTE&lt;/TD&gt;&lt;TD&gt;DIX&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone please help&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 17:56:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687610#M208761</guid>
      <dc:creator>hexx18</dc:creator>
      <dc:date>2020-09-29T17:56:10Z</dc:date>
    </item>
    <item>
      <title>Re: Sorting order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687617#M208764</link>
      <description>&lt;P&gt;I don't understand.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you post some actual data?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Something like the below, the kind we could actually run through some SAS code.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;DATA	Have;
	input var1 var2 var3;

datalines;
4 2 3
3 2 3
3 2 4
4 2 4
1 3 4
2 3 2
4 4 2
1 4 4
4 4 3
3 4 3
4 4 2
2 4 2
1 4 2
2 4 5
5 1 1
2 4 4
4 3 4
5 2 3
4 2 5
5 4 3
;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Jim&lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 18:18:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687617#M208764</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2020-09-29T18:18:45Z</dc:date>
    </item>
    <item>
      <title>Re: Sorting order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687627#M208767</link>
      <description>&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;Here below i am validating the groups present in Data1 for each policy_num are present in Data2 irrespective of the order&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example&amp;nbsp; for policy_num 100&amp;nbsp; we have DIX and PTE in Data1 and DIX and PTE in Data2 . How do i validate this scenario ?&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Data1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Policy_num&lt;/TD&gt;&lt;TD&gt;Group1&lt;/TD&gt;&lt;TD&gt;Group2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;DIX&lt;/TD&gt;&lt;TD&gt;PTE&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Data2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Policy_num&lt;/TD&gt;&lt;TD&gt;Group1&lt;/TD&gt;&lt;TD&gt;Group2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;TD&gt;PTE&lt;/TD&gt;&lt;TD&gt;DIX&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 29 Sep 2020 18:42:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687627#M208767</guid>
      <dc:creator>hexx18</dc:creator>
      <dc:date>2020-09-29T18:42:43Z</dc:date>
    </item>
    <item>
      <title>Re: Sorting order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687633#M208769</link>
      <description>&lt;P&gt;Transpose the group variables, so that you have only one column containing all the values. Then it's easy to do a join.&lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 18:55:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687633#M208769</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-09-29T18:55:39Z</dc:date>
    </item>
    <item>
      <title>Re: Sorting order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687639#M208771</link>
      <description>&lt;P&gt;I'm not completely sure if I understand all the possible permutations of your data, but the following code (which is a bit hastily assembled):&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data	Data1;
	DROP	Var_Cnt;
	INFILE	DATALINES	MISSOVER;
	INPUT	Policy_num	$
			Group1		$
			Group2		$
			;
	Var_Cnt	+	1;
	CALL	SYMPUTX(CATS('Var', PUT(Var_Cnt, 3.)), VVALUEX(CATS('Group', PUT(Var_Cnt, 3.))));
	Var_Cnt	+	1;
	CALL	SYMPUTX(CATS('Var', PUT(Var_Cnt, 3.)), VVALUEX(CATS('Group', PUT(Var_Cnt, 3.))));
DATALINES;
100 DIX PTE
200 DIX
300 PTE
400 PTE DIX
;
RUN;
 	 	 
%put _user_;

DATA 	Data2;
	INFILE	DATALINES	MISSOVER;
	INPUT	Policy_num	$
			Group1		$
			Group2		$
			;
DATALINES;
100 PTE DIX
200 PTE
300 DIX
400 DIX PTE
;
RUN;

DATA	Summary_Data	(KEEP=Policy_Num &amp;amp;Var1 &amp;amp;Var2);
	LENGTH	Policy_Num	$8;
	ARRAY	d1_arr	[*]	$	d1_GROUP1	-	d1_GROUP2;
	ARRAY	d2_arr	[*]	$	d2_GROUP1	-	d2_GROUP2;

	MERGE	Data1	(In=d1	rename=(group1=d1_group1 group2=d1_group2))
			Data2	(In=d2	rename=(group1=d2_group1 group2=d2_group2))
			;
			BY	Policy_Num;
	IF	D1	AND	D2;

	DO	i = 1	TO	DIM(d1_Arr);
		IF	i	=	1					THEN
			IF	D1_ARR[i]	IN	d2_arr	AND
				NOT	MISSING(D1_ARR[i])	THEN
					&amp;amp;Var1	=	1;
				ELSE
					&amp;amp;Var1	=	0;
		ELSE
		IF	i	=	2					THEN
			IF	D1_ARR[i]	IN	d2_arr	AND
				NOT	MISSING(D1_ARR[i])	THEN
					&amp;amp;Var2	=	1;
				ELSE
					&amp;amp;Var2	=	0;
	END;
RUN;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Will produce the following results:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jimbarbour_0-1601407514761.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/49946i006D6AED0A7C6A01/image-size/medium?v=v2&amp;amp;px=400" role="button" title="jimbarbour_0-1601407514761.png" alt="jimbarbour_0-1601407514761.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1 means that it is present in both datasets.&amp;nbsp; 0 means that it was not present in both.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jim&lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 22:01:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Sorting-order/m-p/687639#M208771</guid>
      <dc:creator>jimbarbour</dc:creator>
      <dc:date>2020-09-29T22:01:55Z</dc:date>
    </item>
  </channel>
</rss>

