<?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: Why Is INTCK Slower Than INTNX in SQL? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681904#M206345</link>
    <description>&lt;P&gt;&lt;CODE&gt;intnx&lt;/CODE&gt; subsets and then joins, while &lt;CODE&gt;intck&lt;/CODE&gt; joins and then subsets, which is why &lt;CODE&gt;intnx&lt;/CODE&gt; was faster than &lt;CODE&gt;intck&lt;/CODE&gt;—thanks for this clarification. Probably functions requiring multiple variables from different data sets cause bottlenecks.&lt;/P&gt;</description>
    <pubDate>Sun, 06 Sep 2020 19:39:09 GMT</pubDate>
    <dc:creator>Junyong</dc:creator>
    <dc:date>2020-09-06T19:39:09Z</dc:date>
    <item>
      <title>Why Is INTCK Slower Than INTNX in SQL?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681850#M206313</link>
      <description>&lt;P&gt;I have the following panel data of 500 individuals for 60 months.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
do i=1 to 500;
do j="1jan2016"d to "31dec2020"d;
x=rannor(1);
if j=intnx("month",j,0,"end") then output;
end;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;And suppose I want to add &lt;CODE&gt;lag(x)&lt;/CODE&gt; with &lt;CODE&gt;SQL&lt;/CODE&gt; as follows.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select a.*,b.x as x1
from have a join have b on a.i=b.i and intnx("month",a.j,0)=intnx("month",b.j,1);
quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;And I found that altering &lt;CODE&gt;intnx("month",a.j,0)=intnx("month",b.j,1)&lt;/CODE&gt; by &lt;CODE&gt;intck("month",a.j,b.j)=-1&lt;/CODE&gt; makes the &lt;CODE&gt;proc sql&lt;/CODE&gt; slower—why is this the case?&lt;/P&gt;</description>
      <pubDate>Sun, 06 Sep 2020 06:55:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681850#M206313</guid>
      <dc:creator>Junyong</dc:creator>
      <dc:date>2020-09-06T06:55:00Z</dc:date>
    </item>
    <item>
      <title>Re: Why Is INTCK Slower Than INTNX in SQL?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681856#M206314</link>
      <description>&lt;P&gt;I guess it is because the INTNX functions are applied once for every observation in the source table, but for the INTCK function, SQL needs to do a cartesian join and then apply the function to every result of that cartesian join.&lt;/P&gt;</description>
      <pubDate>Sun, 06 Sep 2020 09:29:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681856#M206314</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-09-06T09:29:21Z</dc:date>
    </item>
    <item>
      <title>Re: Why Is INTCK Slower Than INTNX in SQL?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681857#M206315</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/173881"&gt;@Junyong&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can see the difference that&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;&amp;nbsp;has pointed out by modifying the queries as shown in the log below:&lt;/P&gt;
&lt;PRE&gt;128  data have2;
129  do j="1jan2016"d to "31dec2020"d;
130    x=rannor(1);
131    output;
132  end;
133  run;

NOTE: The data set WORK.HAVE2 has 1827 observations and 2 variables.
NOTE: DATA statement used (Total process time):
      real time           0.07 seconds
      cpu time            0.07 seconds


134
135  proc sql;
136  create table want2 as
137  select a.*, b.x as x1
138  from have2 a join have2 b on intnx("month",a.j,0)=intnx("month",b.j,1);
NOTE: Table WORK.WANT2 created, with 54653 rows and 3 columns.

139  quit;
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.06 seconds
      cpu time            0.06 seconds


140
141  proc sql;
142  create table want2_ as
143  select a.*, b.x as x1
144  from have2 a join have2 b on intck("month",a.j,b.j)=-1;
&lt;FONT size="3"&gt;&lt;STRONG&gt;&lt;FONT color="#3366FF"&gt;NOTE: The execution of this query involves performing one or more Cartesian product joins that can not be optimized.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;
NOTE: Table WORK.WANT2_ created, with 54653 rows and 3 columns.

145  quit;
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.59 seconds
      cpu time            0.59 seconds&lt;/PRE&gt;</description>
      <pubDate>Sun, 06 Sep 2020 09:40:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681857#M206315</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2020-09-06T09:40:31Z</dc:date>
    </item>
    <item>
      <title>Re: Why Is INTCK Slower Than INTNX in SQL?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681858#M206316</link>
      <description>&lt;P&gt;PS the fastest method to get your result is, of course, a DATA step:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql stimer;

create table want1 as
select a.*,b.x as x1
from have a , have b where a.i=b.i and intnx("month",a.j,0)=intnx("month",b.j,1);

create table want2 as
select a.*,b.x as x1
from have a, have b where a.i=b.i and intck("month",a.j,b.j)=-1;

quit;

data want3;
set have;
by i;
x1 = lag(x);
if not first.i;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Log:&lt;/P&gt;
&lt;PRE&gt; 84         proc sql stimer;
 NOTE:  Verwendet wurde: SQL Statement - (Gesamtverarbeitungszeit):
       real time           0.00 seconds
       cpu time            0.00 seconds
       
 85         
 86         create table want1 as
 87         select a.*,b.x as x1
 88         from have a , have b where a.i=b.i and intnx("month",a.j,0)=intnx("month",b.j,1);
 NOTE: Table WORK.WANT1 created, with 29500 rows and 4 columns.
 
 NOTE:  Verwendet wurde: SQL Statement - (Gesamtverarbeitungszeit):
       real time           0.04 seconds
       cpu time            0.04 seconds
       
 89         
 90         create table want2 as
 91         select a.*,b.x as x1
 92         from have a, have b where a.i=b.i and intck("month",a.j,b.j)=-1;
 NOTE: Table WORK.WANT2 created, with 29500 rows and 4 columns.
 
 NOTE:  Verwendet wurde: SQL Statement - (Gesamtverarbeitungszeit):
       real time           0.46 seconds
       cpu time            0.45 seconds
       
 93         
 94         quit;
 NOTE:  Verwendet wurde: PROZEDUR SQL - (Gesamtverarbeitungszeit):
       real time           0.00 seconds
       cpu time            0.01 seconds
       
 
 95         
 96         data want3;
 97         set have;
 98         by i;
 99         x1 = lag(x);
 100        if not first.i;
 101        run;
 
 NOTE: There were 30000 observations read from the data set WORK.HAVE.
 NOTE: The data set WORK.WANT3 has 29500 observations and 4 variables.
 NOTE:  Verwendet wurde: DATA statement - (Gesamtverarbeitungszeit):
       real time           0.01 seconds
       cpu time            0.01 seconds
&lt;/PRE&gt;</description>
      <pubDate>Sun, 06 Sep 2020 09:46:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681858#M206316</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-09-06T09:46:10Z</dc:date>
    </item>
    <item>
      <title>Re: Why Is INTCK Slower Than INTNX in SQL?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681867#M206320</link>
      <description>&lt;P&gt;PPS you can create your have dataset much faster by avoiding unnecessary looping:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
do i = 1 to 500;
  j = "31jan2016"d;
  do while (j le "31dec2020"d);
    output;
    j = intnx("month",j,1,"e");
  end;
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Look at this log:&lt;/P&gt;
&lt;PRE&gt; 73         data have1;
 74         do i = 1 to 500;
 75           do j = "1jan2016"d to "31dec2020"d;
 76             x = rannor(1);
 77             if j = intnx("month",j,0,"end") then output;
 78           end;
 79         end;
 80         run;
 
 NOTE: The data set WORK.HAVE1 has 30000 observations and 3 variables.
 NOTE:  Verwendet wurde: DATA statement - (Gesamtverarbeitungszeit):
       real time           0.43 seconds
       cpu time            0.43 seconds
       
 
 81         
 82         data have2;
 83         do i = 1 to 500;
 84           j = "31jan2016"d;
 85           do while (j le "31dec2020"d);
 86             output;
 87             j = intnx("month",j,1,"e");
 88           end;
 89         end;
 90         run;
 
 NOTE: The data set WORK.HAVE2 has 30000 observations and 2 variables.
 NOTE:  Verwendet wurde: DATA statement - (Gesamtverarbeitungszeit):
       real time           0.02 seconds
       cpu time            0.01 seconds
&lt;/PRE&gt;
&lt;P&gt;It creates the same amount of observations 20 times as fast.&lt;/P&gt;</description>
      <pubDate>Sun, 06 Sep 2020 11:22:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681867#M206320</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-09-06T11:22:39Z</dc:date>
    </item>
    <item>
      <title>Re: Why Is INTCK Slower Than INTNX in SQL?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681871#M206323</link>
      <description>&lt;P&gt;Use the undocumented _TREE option and you will see&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;&amp;nbsp;supposition is correct.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;intnx("month",a.j,0)=intnx("month",b.j,1)&lt;/PRE&gt;
&lt;P&gt;INTNX is called for rows selected and results are cross joined.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For&lt;/P&gt;
&lt;PRE&gt;intck("month",a.j,b.j)=-1&lt;/PRE&gt;
&lt;P&gt;Rows are cross joined and INTCK is called for row in cross join and result applied to evaluation criteria&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The trees:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;203  proc sql _tree;
204  create table want as select a.*,b.x as x1
205  from have a join have b on a.i = b.i and
206       intnx("month",a.j,0)=intnx("month",b.j,1) ;

Tree as planned.
                               /-SYM-V-(a.i:1 flag=00000001)
                     /-OBJ----|
                    |         |--SYM-V-(a.j:2 flag=00000001)
                    |         |--SYM-V-(a.x:3 flag=00000001)
                    |          \-SYM-M-(x1:1 flag=00000005)
           /-JOIN---|
          |         |                              /-SYM-V-(a.i:1 flag=00000001)
          |         |                    /-OBJ----|
          |         |                   |         |--SYM-V-(a.j:2 flag=00000001)
          |         |                   |         |--SYM-V-(a.x:3 flag=00000001)
          |         |                   |          \-SYM-A-(#TEMJ001:2 flag=00000004)
          |         |          /-FIL----|
          |         |         |         |                    /-SYM-V-(a.i:1 flag=00000001)
          |         |         |         |          /-OBJ----|
          |         |         |         |         |         |--SYM-V-(a.j:2 flag=00000001)
          |         |         |         |         |          \-SYM-V-(a.x:3 flag=00000001)
          |         |         |         |--SRC----|
          |         |         |         |          \-TABL[WORK].have opt=''
          |         |         |         |--empty-
          |         |         |         |--empty-
          |         |         |         |--empty-
          |         |         |         |--empty-
          |         |         |         |                    /-SYM-A-(#TEMJ001:2 flag=00000004)
          |         |         |         |          /-ASGN---|
          |         |         |         |         |         |          /-SYM-F-(INTNX:1)
          |         |         |         |         |          \-FLST---|
          |         |         |         |         |                   |--LITC('month')
          |         |         |         |         |                   |--SYM-V-(a.j:2)
          |         |         |         |         |                    \-LITN(0)
          |         |         |          \-OBJE---|
          |         |--FROM---|
          |         |         |                    /-SYM-M-(x1:1 flag=00000001)
          |         |         |          /-OBJ----|
          |         |         |         |         |--SYM-V-(b.i:1 flag=00000001)
          |         |         |         |         |--SYM-V-(b.j:2 flag=00000001)
          |         |         |         |          \-SYM-A-(#TEMJ002:3 flag=00000004)
          |         |          \-FIL----|
          |         |                   |                    /-SYM-M-(x1:1 flag=00000001)
          |         |                   |          /-OBJ----|
          |         |                   |         |         |--SYM-V-(b.i:1 flag=00000001)
          |         |                   |         |          \-SYM-V-(b.j:2 flag=00000001)
          |         |                   |--SRC----|
          |         |                   |          \-TABL[WORK].have opt=''
          |         |                   |--empty-
          |         |                   |--empty-
          |         |                   |--empty-
          |         |                   |--empty-
          |         |                   |                    /-SYM-A-(#TEMJ002:3 flag=00000004)
          |         |                   |          /-ASGN---|
          |         |                   |         |         |          /-SYM-F-(INTNX:2)
          |         |                   |         |          \-FLST---|
          |         |                   |         |                   |--LITC('month')
          |         |                   |         |                   |--SYM-V-(b.j:2)
          |         |                   |         |                    \-LITN(1)
          |         |                    \-OBJE---|
          |         |--empty-
          |         |                    /-SYM-V-(a.i:1)
          |         |          /-CEQ----|
          |         |         |          \-SYM-V-(b.i:1)
          |          \-LAND---|
          |                   |          /-SYM-A-(#TEMJ001:2)
          |                    \-CEQ----|
          |                              \-SYM-A-(#TEMJ002:3)
 --SSEL---|


NOTE: Table WORK.WANT created, with 29500 rows and 4 columns.

207
208  create table want as select a.*,b.x as x1
209  from have a join have b on a.i = b.i and
210       intck("month",a.j,b.j)=-1 ;

Tree as planned.
                               /-SYM-V-(a.i:1 flag=00000001)
                     /-OBJ----|
                    |         |--SYM-V-(a.j:2 flag=00000001)
                    |         |--SYM-V-(a.x:3 flag=00000001)
                    |          \-SYM-M-(x1:1 flag=00000005)
           /-JOIN---|
          |         |                              /-SYM-V-(a.i:1 flag=00000001)
          |         |                    /-OBJ----|
          |         |                   |         |--SYM-V-(a.j:2 flag=00000001)
          |         |                   |          \-SYM-V-(a.x:3 flag=00000001)
          |         |          /-SRC----|
          |         |         |          \-TABL[WORK].have opt=''
          |         |--FROM---|
          |         |         |                    /-SYM-M-(x1:1 flag=00000001)
          |         |         |          /-OBJ----|
          |         |         |         |         |--SYM-V-(b.i:1 flag=00000001)
          |         |         |         |          \-SYM-V-(b.j:2 flag=00000001)
          |         |          \-SRC----|
          |         |                    \-TABL[WORK].have opt=''
          |         |                    /-SYM-F-(INTCK:1)
          |         |          /-FLST---|
          |         |         |         |--LITC('month')
          |         |         |         |--SYM-V-(a.j:2)
          |         |         |          \-SYM-V-(b.j:2)
          |         |--CEQ----|
          |         |          \-LITN(-1)
          |         |          /-SYM-V-(a.i:1)
          |          \-CEQ----|
          |                    \-SYM-V-(b.i:1)
 --SSEL---|


NOTE: Table WORK.WANT created, with 29500 rows and 4 columns.

211  quit;
NOTE: PROCEDURE SQL used (Total process time):
      real time           0.47 seconds
      cpu time            0.46 seconds&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 06 Sep 2020 12:14:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681871#M206323</guid>
      <dc:creator>RichardDeVen</dc:creator>
      <dc:date>2020-09-06T12:14:00Z</dc:date>
    </item>
    <item>
      <title>Re: Why Is INTCK Slower Than INTNX in SQL?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681898#M206342</link>
      <description>&lt;P&gt;My real data rather than this example are not monthly continuous with some skipped months, which is why I am avoiding &lt;CODE&gt;data&lt;/CODE&gt;, but thanks a lot for your clarification—I think I need to be careful in using &lt;CODE&gt;intck&lt;/CODE&gt; next time.&lt;/P&gt;</description>
      <pubDate>Sun, 06 Sep 2020 18:41:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681898#M206342</guid>
      <dc:creator>Junyong</dc:creator>
      <dc:date>2020-09-06T18:41:43Z</dc:date>
    </item>
    <item>
      <title>Re: Why Is INTCK Slower Than INTNX in SQL?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681900#M206343</link>
      <description>&lt;P&gt;Even with skipped months, a data step is the right tool for lagged values. To see if a lagged value can be used, you just need to look at the lagged date to see if it is the previous month or older.&lt;/P&gt;</description>
      <pubDate>Sun, 06 Sep 2020 18:49:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681900#M206343</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-09-06T18:49:02Z</dc:date>
    </item>
    <item>
      <title>Re: Why Is INTCK Slower Than INTNX in SQL?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681903#M206344</link>
      <description>&lt;P&gt;I think I need to clarify in detail. In my case,&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input firm date yymmdd8. assets;
cards;
1 20200131 110
1 20200331 120
1 20200430 130
2 20200131 210
2 20200229 220
2 20200331 230
;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;If I define &lt;CODE&gt;assets1&lt;/CODE&gt; as the assets a month behind, then the observation for firm 1 on March 31 would be incorrect (110 is the value from January) with &lt;CODE&gt;data&lt;/CODE&gt; as follows.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data no;
set have;
assets1=lag(assets);
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;CODE&gt;sql&lt;/CODE&gt; will have no such issue.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table yes as
select a.*,b.assets as assets1
from have a join have b on a.firm=b.firm and a.date=intnx("month",b.date,1,"end")
order by firm,date;
quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Though this does not produce any value for firm 1 on February 29, I needed this outcome—which is why I am using &lt;CODE&gt;sql&lt;/CODE&gt; over &lt;CODE&gt;data&lt;/CODE&gt; currently.&lt;/P&gt;&lt;P&gt;+ I think the following is possible with &lt;CODE&gt;data&lt;/CODE&gt; instead.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data yes;
set have;
assets1=lag(assets);
if firm&amp;gt;lag(firm) or date&amp;gt;intnx("month",lag(date),1,"end") then assets1=.;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Sun, 06 Sep 2020 20:15:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681903#M206344</guid>
      <dc:creator>Junyong</dc:creator>
      <dc:date>2020-09-06T20:15:20Z</dc:date>
    </item>
    <item>
      <title>Re: Why Is INTCK Slower Than INTNX in SQL?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681904#M206345</link>
      <description>&lt;P&gt;&lt;CODE&gt;intnx&lt;/CODE&gt; subsets and then joins, while &lt;CODE&gt;intck&lt;/CODE&gt; joins and then subsets, which is why &lt;CODE&gt;intnx&lt;/CODE&gt; was faster than &lt;CODE&gt;intck&lt;/CODE&gt;—thanks for this clarification. Probably functions requiring multiple variables from different data sets cause bottlenecks.&lt;/P&gt;</description>
      <pubDate>Sun, 06 Sep 2020 19:39:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-Is-INTCK-Slower-Than-INTNX-in-SQL/m-p/681904#M206345</guid>
      <dc:creator>Junyong</dc:creator>
      <dc:date>2020-09-06T19:39:09Z</dc:date>
    </item>
  </channel>
</rss>

