<?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: Frequencies by unique IDs in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Frequencies-by-unique-IDs/m-p/708617#M217799</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input Record_id	Study_visit	TestA $;
cards;
1	1	Positive
1	2	Negative
2	1	Negative
2	1	Negative
2	2	Negative
3	1	Negative
3	2	Positive
4	1	Negative
4	2	Positive
4	2	Negative
;


proc sql;
 create table want as
 select Study_visit,testa,count(record_id) as c
 from (select distinct * from have group by Record_id,Study_visit
 having count(distinct TestA)&amp;gt;1 and testa='Negative' or count(distinct TestA)=1)
 group by  Study_visit,testa;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;/*Or just*/&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
 create view temp as
 select distinct *
 from have
 group by Record_id,Study_visit
 having count(distinct TestA)&amp;gt;1 and testa='Negative' or count(distinct TestA)=1;
quit;

proc freq data=temp;
 tables Study_visit*testa/list;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 29 Dec 2020 18:29:35 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2020-12-29T18:29:35Z</dc:date>
    <item>
      <title>Frequencies by unique IDs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Frequencies-by-unique-IDs/m-p/708601#M217790</link>
      <description>&lt;P&gt;Hi Community,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have the following hypothetical dataset:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Record_id&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Study_visit&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;TestA&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Positive&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Negative&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Negative&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Negative&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Negative&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Negative&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Positive&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Negative&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Positive&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Negative&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to determine the frequency of the “TestA” variable by study visit; however, the issue is that some subjects have multiple values for a study visit (see Record_id=”2”, study_visit=1; Record_id=”4”, study_visit=2). In these cases, I wish to only have one count per subject, such that the denominator reflects the number of unique subjects for that study visit. Also, if there is both a “Negative” and a “Positive” value for TestA for the same study visit (see Record_id=”4”, study_visit=2), I would like for “Negative” value to be the one that is counted. Please see my desired frequency outputs below. Could someone please help me with coding this? Any help would be much appreciated!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Study_visit=1&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;TestA&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Frequency&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Cumulative frequency&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Percent&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Positive&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;25.00 (1/4)&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Negative&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;75.00 (3/4)&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Study_visit=2&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;TestA&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Frequency&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Cumulative frequency&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Percent&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Positive&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;25.00 (1/4)&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Negative&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;75.00 (3/4)&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 29 Dec 2020 17:26:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Frequencies-by-unique-IDs/m-p/708601#M217790</guid>
      <dc:creator>wj2</dc:creator>
      <dc:date>2020-12-29T17:26:56Z</dc:date>
    </item>
    <item>
      <title>Re: Frequencies by unique IDs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Frequencies-by-unique-IDs/m-p/708607#M217795</link>
      <description>&lt;P&gt;Use the fact that 'Negative" sorts before "Positive" to clean up the data:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sort data=have; by record_id study_visit testA; run;

data want;
set have; by record_id study_visit;
if first.study_visit;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 29 Dec 2020 17:54:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Frequencies-by-unique-IDs/m-p/708607#M217795</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2020-12-29T17:54:39Z</dc:date>
    </item>
    <item>
      <title>Re: Frequencies by unique IDs</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Frequencies-by-unique-IDs/m-p/708617#M217799</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input Record_id	Study_visit	TestA $;
cards;
1	1	Positive
1	2	Negative
2	1	Negative
2	1	Negative
2	2	Negative
3	1	Negative
3	2	Positive
4	1	Negative
4	2	Positive
4	2	Negative
;


proc sql;
 create table want as
 select Study_visit,testa,count(record_id) as c
 from (select distinct * from have group by Record_id,Study_visit
 having count(distinct TestA)&amp;gt;1 and testa='Negative' or count(distinct TestA)=1)
 group by  Study_visit,testa;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;/*Or just*/&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
 create view temp as
 select distinct *
 from have
 group by Record_id,Study_visit
 having count(distinct TestA)&amp;gt;1 and testa='Negative' or count(distinct TestA)=1;
quit;

proc freq data=temp;
 tables Study_visit*testa/list;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 29 Dec 2020 18:29:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Frequencies-by-unique-IDs/m-p/708617#M217799</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2020-12-29T18:29:35Z</dc:date>
    </item>
  </channel>
</rss>

