<?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 row_number() OVER ( partition BY in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/row-number-OVER-partition-BY/m-p/698315#M213550</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to convert a SQL code in SAS using SQL passthrough. The code runs well in SQL and produces data but does not rut produce any data in SAS. Here is the code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;BR /&gt;connect using XXXX;&lt;BR /&gt;create table TEST1 as select * from connection to XXXX&amp;nbsp;&lt;BR /&gt;(&lt;BR /&gt;SELECT&lt;BR /&gt;RP.REPORTING_DATE_PK,&lt;BR /&gt;RP.REPORTING_PERIOD_END_DATE as 'Report Date',&lt;BR /&gt;C.CONTRACT_ID as 'Contract ID',&lt;BR /&gt;IP.PORTFOLIO_CODE as 'Portfolio',&lt;BR /&gt;CG.COHORT as 'Cohort',&lt;BR /&gt;CG.PROFITABILITY_AT_INCEPTION as 'Initial Profitability',&lt;BR /&gt;CG.MEASUREMENT_APPROACH as 'Calculation_Approach',&lt;BR /&gt;CG.GROUP_CODE as 'Group ID'&lt;/P&gt;&lt;P&gt;FROM ABC.CONTRACT_GROUP_REFERENCE CGR&lt;BR /&gt;LEFT JOIN (SELECT A.REPORTING_PERIOD, A.REPORTING_DATE_PK, REPORTING_PERIOD_END_DATE,A.REPORTING_MONTH,&lt;BR /&gt;ROW_NUMBER() OVER ( partition BY A.REPORTING_PERIOD ORDER BY A.REPORTING_MONTH) AS MONTH_SEQ&lt;BR /&gt;FROM ABC.REPORTING_DATE a, con.REPORTING_PERIOD b&lt;BR /&gt;WHERE a.REPORTING_PERIOD = b.REPORTING_PERIOD&lt;BR /&gt;AND a.RECORD_CURRENT_FLAG = 'Y') RP ON RP.REPORTING_DATE_PK = CGR.REPORTING_DATE_FK&lt;BR /&gt;LEFT JOIN ABC.CONTRACT C ON C.CONTRACT_PK = CGR.CONTRACT_FK AND C.REPORTING_DATE_FK = RP.REPORTING_DATE_PK&lt;BR /&gt;LEFT JOIN ABC.CONTRACT_GROUP CG ON CG.GROUP_PK = CGR.GROUP_FK AND CG.REPORTING_DATE_FK = RP.REPORTING_DATE_PK&lt;BR /&gt;LEFT JOIN ABC.INSURANCE_PORTFOLIO IP ON IP.PORTFOLIO_PK = CG.PORTFOLIO_FK&lt;/P&gt;&lt;P&gt;WHERE RP.REPORTING_PERIOD = '2020Q3'&lt;BR /&gt;AND RP.MONTH_SEQ = 1&lt;BR /&gt;AND IP.PORTFOLIO_CODE = 'CI');&lt;/P&gt;&lt;P&gt;QUIT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can someone help? how should i convert this code to SAS to get data? I guess row_number() partition by does not work here.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thank you&lt;/P&gt;</description>
    <pubDate>Thu, 12 Nov 2020 06:13:55 GMT</pubDate>
    <dc:creator>rohitdev_ds</dc:creator>
    <dc:date>2020-11-12T06:13:55Z</dc:date>
    <item>
      <title>row_number() OVER ( partition BY</title>
      <link>https://communities.sas.com/t5/SAS-Programming/row-number-OVER-partition-BY/m-p/698315#M213550</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to convert a SQL code in SAS using SQL passthrough. The code runs well in SQL and produces data but does not rut produce any data in SAS. Here is the code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;BR /&gt;connect using XXXX;&lt;BR /&gt;create table TEST1 as select * from connection to XXXX&amp;nbsp;&lt;BR /&gt;(&lt;BR /&gt;SELECT&lt;BR /&gt;RP.REPORTING_DATE_PK,&lt;BR /&gt;RP.REPORTING_PERIOD_END_DATE as 'Report Date',&lt;BR /&gt;C.CONTRACT_ID as 'Contract ID',&lt;BR /&gt;IP.PORTFOLIO_CODE as 'Portfolio',&lt;BR /&gt;CG.COHORT as 'Cohort',&lt;BR /&gt;CG.PROFITABILITY_AT_INCEPTION as 'Initial Profitability',&lt;BR /&gt;CG.MEASUREMENT_APPROACH as 'Calculation_Approach',&lt;BR /&gt;CG.GROUP_CODE as 'Group ID'&lt;/P&gt;&lt;P&gt;FROM ABC.CONTRACT_GROUP_REFERENCE CGR&lt;BR /&gt;LEFT JOIN (SELECT A.REPORTING_PERIOD, A.REPORTING_DATE_PK, REPORTING_PERIOD_END_DATE,A.REPORTING_MONTH,&lt;BR /&gt;ROW_NUMBER() OVER ( partition BY A.REPORTING_PERIOD ORDER BY A.REPORTING_MONTH) AS MONTH_SEQ&lt;BR /&gt;FROM ABC.REPORTING_DATE a, con.REPORTING_PERIOD b&lt;BR /&gt;WHERE a.REPORTING_PERIOD = b.REPORTING_PERIOD&lt;BR /&gt;AND a.RECORD_CURRENT_FLAG = 'Y') RP ON RP.REPORTING_DATE_PK = CGR.REPORTING_DATE_FK&lt;BR /&gt;LEFT JOIN ABC.CONTRACT C ON C.CONTRACT_PK = CGR.CONTRACT_FK AND C.REPORTING_DATE_FK = RP.REPORTING_DATE_PK&lt;BR /&gt;LEFT JOIN ABC.CONTRACT_GROUP CG ON CG.GROUP_PK = CGR.GROUP_FK AND CG.REPORTING_DATE_FK = RP.REPORTING_DATE_PK&lt;BR /&gt;LEFT JOIN ABC.INSURANCE_PORTFOLIO IP ON IP.PORTFOLIO_PK = CG.PORTFOLIO_FK&lt;/P&gt;&lt;P&gt;WHERE RP.REPORTING_PERIOD = '2020Q3'&lt;BR /&gt;AND RP.MONTH_SEQ = 1&lt;BR /&gt;AND IP.PORTFOLIO_CODE = 'CI');&lt;/P&gt;&lt;P&gt;QUIT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can someone help? how should i convert this code to SAS to get data? I guess row_number() partition by does not work here.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thank you&lt;/P&gt;</description>
      <pubDate>Thu, 12 Nov 2020 06:13:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/row-number-OVER-partition-BY/m-p/698315#M213550</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-11-12T06:13:55Z</dc:date>
    </item>
    <item>
      <title>Re: row_number() OVER ( partition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/row-number-OVER-partition-BY/m-p/698322#M213554</link>
      <description>&lt;P&gt;This is Oracle code right, not SQL Server?&lt;/P&gt;
&lt;P&gt;Are you saying that the code in blue give a different result when run in Oracle and when run as below in a SAS pass-through query?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2"&gt;PROC SQL;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2"&gt;connect using XXXX;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2"&gt;create table TEST1 as select * from connection to XXXX&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2"&gt;(&lt;/FONT&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;SELECT&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;RP.REPORTING_DATE_PK,&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;RP.REPORTING_PERIOD_END_DATE as 'Report Date',&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;C.CONTRACT_ID as 'Contract ID',&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;IP.PORTFOLIO_CODE as 'Portfolio',&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;CG.COHORT as 'Cohort',&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;CG.PROFITABILITY_AT_INCEPTION as 'Initial Profitability',&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;CG.MEASUREMENT_APPROACH as 'Calculation_Approach',&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;CG.GROUP_CODE as 'Group ID'&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;FROM ABC.CONTRACT_GROUP_REFERENCE CGR&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;LEFT JOIN (SELECT A.REPORTING_PERIOD, A.REPORTING_DATE_PK, REPORTING_PERIOD_END_DATE,A.REPORTING_MONTH,&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;ROW_NUMBER() OVER ( partition BY A.REPORTING_PERIOD ORDER BY A.REPORTING_MONTH) AS MONTH_SEQ&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;FROM ABC.REPORTING_DATE a, con.REPORTING_PERIOD b&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;WHERE a.REPORTING_PERIOD = b.REPORTING_PERIOD&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;AND a.RECORD_CURRENT_FLAG = 'Y') RP ON RP.REPORTING_DATE_PK = CGR.REPORTING_DATE_FK&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;LEFT JOIN ABC.CONTRACT C ON C.CONTRACT_PK = CGR.CONTRACT_FK AND C.REPORTING_DATE_FK = RP.REPORTING_DATE_PK&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;LEFT JOIN ABC.CONTRACT_GROUP CG ON CG.GROUP_PK = CGR.GROUP_FK AND CG.REPORTING_DATE_FK = RP.REPORTING_DATE_PK&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;LEFT JOIN ABC.INSURANCE_PORTFOLIO IP ON IP.PORTFOLIO_PK = CG.PORTFOLIO_FK&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;WHERE RP.REPORTING_PERIOD = '2020Q3'&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2" color="#0000FF"&gt;AND RP.MONTH_SEQ = 1&lt;/FONT&gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2"&gt;&lt;FONT color="#0000FF"&gt;AND IP.PORTFOLIO_CODE = 'CI'&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;);&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face="courier new,courier" size="2"&gt;QUIT;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If that's the case, the connection parameters differ between the two. Different user or different database or something similar.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also code all the in the same case it harder to read. Try to use the case to gibe sens to your code. I use lower case for language (proc sql; select) and upper case for names (by ABC.CONTRACT_GROUP_REFERENCE) for example.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For the same reason, format the code layout and paste the code here using the appropriate icons.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Nov 2020 07:18:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/row-number-OVER-partition-BY/m-p/698322#M213554</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2020-11-12T07:18:08Z</dc:date>
    </item>
    <item>
      <title>Re: row_number() OVER ( partition BY</title>
      <link>https://communities.sas.com/t5/SAS-Programming/row-number-OVER-partition-BY/m-p/698469#M213625</link>
      <description>&lt;P&gt;No, its not Oracle, Its in SQL Server&lt;/P&gt;</description>
      <pubDate>Thu, 12 Nov 2020 18:30:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/row-number-OVER-partition-BY/m-p/698469#M213625</guid>
      <dc:creator>rohitdev_ds</dc:creator>
      <dc:date>2020-11-12T18:30:17Z</dc:date>
    </item>
    <item>
      <title>Re: row_number() OVER ( partition BY</title>
      <link>https://communities.sas.com/t5/SAS-Programming/row-number-OVER-partition-BY/m-p/698571#M213658</link>
      <description>&lt;P&gt;The reply and comments still apply.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Nov 2020 04:02:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/row-number-OVER-partition-BY/m-p/698571#M213658</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2020-11-13T04:02:35Z</dc:date>
    </item>
  </channel>
</rss>

