<?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: COLLABORATIVE-FILTERING SYSTEM in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584938#M166717</link>
    <description>I have questions in the following command:&lt;BR /&gt;&lt;BR /&gt;OUTOBS=10&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Thu, 29 Aug 2019 14:01:50 GMT</pubDate>
    <dc:creator>EloarL</dc:creator>
    <dc:date>2019-08-29T14:01:50Z</dc:date>
    <item>
      <title>COLLABORATIVE-FILTERING SYSTEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584917#M166710</link>
      <description>&lt;DIV class="tlid-input input"&gt;&lt;DIV class="source-wrap"&gt;&lt;DIV class="input-full-height-wrapper tlid-input-full-height-wrapper"&gt;&lt;DIV class="source-input"&gt;&lt;DIV class="source-footer-wrap source-or-target-footer"&gt;&lt;DIV class="source-footer"&gt;&lt;DIV class="speech-wrap source-or-target-footer-button left-positioned"&gt;&lt;DIV class="speech-button goog-toolbar-button"&gt;&lt;SPAN class=""&gt;hello guys, I would like to understand the low code commands.&lt;/SPAN&gt; &lt;SPAN class=""&gt;can anybody help me?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="speech-button goog-toolbar-button"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="speech-button goog-toolbar-button"&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%MACRO PREDICTSCORE(USRCNT=15);
%DO I = 1 %TO &amp;amp;USRCNT;
PROC SQL;
CREATE TABLE USERUSERPREDICTION&amp;amp;I AS
SELECT BUSINESS_ID, USER_ID, &amp;amp;&amp;amp;RU&amp;amp;I AS RU,
"&amp;amp;&amp;amp;USER&amp;amp;I" AS USER, CASE USER_ID
%DO J = 1 %TO &amp;amp;&amp;amp;NCNT_&amp;amp;I;
WHEN "&amp;amp;&amp;amp;&amp;amp;&amp;amp;NNAME&amp;amp;I._&amp;amp;J." THEN
&amp;amp;&amp;amp;&amp;amp;&amp;amp;NEIGHBOR&amp;amp;I._&amp;amp;J. * (STARS - &amp;amp;&amp;amp;RN_&amp;amp;I._&amp;amp;J)
%END;
END AS WEIGHTEDSCORE,
CASE USER_ID
%DO J=1 %TO &amp;amp;&amp;amp;NCNT_&amp;amp;I;
WHEN "&amp;amp;&amp;amp;&amp;amp;&amp;amp;NNAME&amp;amp;I._&amp;amp;J." THEN &amp;amp;&amp;amp;NEIGHBOR&amp;amp;I._&amp;amp;J.
%END;
END AS W
FROM YELP.USER_PROFILE_V1 WHERE
USER_ID IN (
%DO J = 1 %TO &amp;amp;&amp;amp;NCNT_&amp;amp;I;
"&amp;amp;&amp;amp;&amp;amp;NNAME&amp;amp;I._&amp;amp;J" %IF &amp;amp;J&amp;lt;&amp;amp;USRCNT
%THEN ,;
%END;
);
QUIT;
PROC SQL OUTOBS=10;
SELECT BUSINESS_ID, SUM(WEIGHTEDSCORE)/SUM(W) + RU AS PREDSCORE
FROM USERUSERPREDICTION&amp;amp;I GROUP BY BUSINESS_ID, RU ORDER BY PREDSCORE DESC ;
QUIT;
%END;
%MEND;
%PREDICTSCORE();&lt;/CODE&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 29 Aug 2019 12:44:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584917#M166710</guid>
      <dc:creator>EloarL</dc:creator>
      <dc:date>2019-08-29T12:44:11Z</dc:date>
    </item>
    <item>
      <title>Re: COLLABORATIVE-FILTERING SYSTEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584934#M166714</link>
      <description>&lt;P&gt;What exactly are you trying to understand? SAS developers don't use the term "Low code commands". All the %DO, %TO, and %END and &amp;amp;&amp;amp;&amp;amp;'s are part of the macro facility, which only generates text, in this case more SAS code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looks like the program loops through 2 PROC SQL's I times (15 user input), and loops through several variables J times. It's easier to see if you indent it. Is this helpful?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;MACRO PREDICTSCORE(USRCNT=15);
	%DO I = 1 %TO &amp;amp;USRCNT;
		PROC SQL;
			CREATE TABLE USERUSERPREDICTION&amp;amp;I AS
			SELECT BUSINESS_ID, USER_ID, &amp;amp;&amp;amp;RU&amp;amp;I AS RU,
			"&amp;amp;&amp;amp;USER&amp;amp;I" AS USER, CASE USER_ID
			%DO J = 1 %TO &amp;amp;&amp;amp;NCNT_&amp;amp;I;
				WHEN "&amp;amp;&amp;amp;&amp;amp;&amp;amp;NNAME&amp;amp;I._&amp;amp;J." THEN
				&amp;amp;&amp;amp;&amp;amp;&amp;amp;NEIGHBOR&amp;amp;I._&amp;amp;J. * (STARS - &amp;amp;&amp;amp;RN_&amp;amp;I._&amp;amp;J)
			%END;
			END AS WEIGHTEDSCORE,
			CASE USER_ID
			%DO J=1 %TO &amp;amp;&amp;amp;NCNT_&amp;amp;I;
				WHEN "&amp;amp;&amp;amp;&amp;amp;&amp;amp;NNAME&amp;amp;I._&amp;amp;J." THEN &amp;amp;&amp;amp;NEIGHBOR&amp;amp;I._&amp;amp;J.
			%END;
			END AS W
			FROM YELP.USER_PROFILE_V1 WHERE
			USER_ID IN (
			%DO J = 1 %TO &amp;amp;&amp;amp;NCNT_&amp;amp;I;
				"&amp;amp;&amp;amp;&amp;amp;NNAME&amp;amp;I._&amp;amp;J" %IF &amp;amp;J&amp;lt;&amp;amp;USRCNT
			%THEN ,;
			%END;
			);
		QUIT;
		PROC SQL OUTOBS=10;
			SELECT BUSINESS_ID, SUM(WEIGHTEDSCORE)/SUM(W) + RU AS PREDSCORE
			FROM USERUSERPREDICTION&amp;amp;I GROUP BY BUSINESS_ID, RU ORDER BY PREDSCORE DESC ;
		QUIT;
	%END;
%MEND;
%PREDICTSCORE();&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 29 Aug 2019 13:46:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584934#M166714</guid>
      <dc:creator>noling</dc:creator>
      <dc:date>2019-08-29T13:46:49Z</dc:date>
    </item>
    <item>
      <title>Re: COLLABORATIVE-FILTERING SYSTEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584938#M166717</link>
      <description>I have questions in the following command:&lt;BR /&gt;&lt;BR /&gt;OUTOBS=10&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Thu, 29 Aug 2019 14:01:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584938#M166717</guid>
      <dc:creator>EloarL</dc:creator>
      <dc:date>2019-08-29T14:01:50Z</dc:date>
    </item>
    <item>
      <title>Re: COLLABORATIVE-FILTERING SYSTEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584941#M166719</link>
      <description>&lt;P&gt;Oh &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="strong"&gt;OUTOBS=&lt;SPAN class="strongEmph"&gt;n&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;restricts the number of rows (observations) in the output. For example, if you specify OUTOBS=10 and insert values into a table using a query-expression, then the SQL procedure inserts a maximum of 10 rows. Likewise, OUTOBS=10 limits the output to 10 rows.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a002473669.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a002473669.htm&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2019 14:04:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584941#M166719</guid>
      <dc:creator>noling</dc:creator>
      <dc:date>2019-08-29T14:04:54Z</dc:date>
    </item>
    <item>
      <title>Re: COLLABORATIVE-FILTERING SYSTEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584993#M166739</link>
      <description>Someone is returning the top 10 pred scores by business ID. I think an array would have worked better but whatever works in the end.</description>
      <pubDate>Thu, 29 Aug 2019 16:57:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/584993#M166739</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-08-29T16:57:17Z</dc:date>
    </item>
    <item>
      <title>Re: COLLABORATIVE-FILTERING SYSTEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/585002#M166740</link>
      <description>Oh yes ... thanks for the personal help!</description>
      <pubDate>Thu, 29 Aug 2019 17:22:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/585002#M166740</guid>
      <dc:creator>EloarL</dc:creator>
      <dc:date>2019-08-29T17:22:25Z</dc:date>
    </item>
    <item>
      <title>Re: COLLABORATIVE-FILTERING SYSTEM</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/585130#M166813</link>
      <description>&lt;P&gt;You might as well learn the proper terms.&lt;/P&gt;
&lt;P&gt;This is an &lt;STRONG&gt;option&lt;/STRONG&gt; (of the proc sql &lt;STRONG&gt;statement&lt;/STRONG&gt;). Not a command.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Aug 2019 04:17:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COLLABORATIVE-FILTERING-SYSTEM/m-p/585130#M166813</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2019-08-30T04:17:11Z</dc:date>
    </item>
  </channel>
</rss>

