<?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: Creating Flight Segment Index in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Creating-Flight-Segment-Index/m-p/554309#M154195</link>
    <description>&lt;P&gt;Post example data in the form of a data step.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Not tested as no data provided:&lt;/P&gt;
&lt;PRE&gt;data want;
   set have;
   by notsorted flightid notsorted FIR;
   if first.flightid then segment=0;
   if first.fir then segment+1;
run;&lt;/PRE&gt;</description>
    <pubDate>Fri, 26 Apr 2019 15:05:24 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2019-04-26T15:05:24Z</dc:date>
    <item>
      <title>Creating Flight Segment Index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-Flight-Segment-Index/m-p/554301#M154194</link>
      <description>&lt;P&gt;I have lots of data as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;FlightID&lt;/TD&gt;&lt;TD&gt;Entry&lt;/TD&gt;&lt;TD&gt;Exit&lt;/TD&gt;&lt;TD&gt;NM&lt;/TD&gt;&lt;TD&gt;FIR_ID&lt;/TD&gt;&lt;TD&gt;FIR&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;165&lt;/TD&gt;&lt;TD&gt;35&lt;/TD&gt;&lt;TD&gt;1074&lt;/TD&gt;&lt;TD&gt;EDMONTON&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;165&lt;/TD&gt;&lt;TD&gt;290&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;TD&gt;1074&lt;/TD&gt;&lt;TD&gt;EDMONTON&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;290&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;1074&lt;/TD&gt;&lt;TD&gt;EDMONTON&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;256&lt;/TD&gt;&lt;TD&gt;1079&lt;/TD&gt;&lt;TD&gt;WINNIPEG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;1079&lt;/TD&gt;&lt;TD&gt;WINNIPEG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;350&lt;/TD&gt;&lt;TD&gt;167&lt;/TD&gt;&lt;TD&gt;1079&lt;/TD&gt;&lt;TD&gt;WINNIPEG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;350&lt;/TD&gt;&lt;TD&gt;350&lt;/TD&gt;&lt;TD&gt;241&lt;/TD&gt;&lt;TD&gt;1079&lt;/TD&gt;&lt;TD&gt;WINNIPEG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;350&lt;/TD&gt;&lt;TD&gt;350&lt;/TD&gt;&lt;TD&gt;198&lt;/TD&gt;&lt;TD&gt;1079&lt;/TD&gt;&lt;TD&gt;WINNIPEG&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;350&lt;/TD&gt;&lt;TD&gt;350&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;1078&lt;/TD&gt;&lt;TD&gt;TORONTO&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;350&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;207&lt;/TD&gt;&lt;TD&gt;1078&lt;/TD&gt;&lt;TD&gt;TORONTO&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;330&lt;/TD&gt;&lt;TD&gt;280&lt;/TD&gt;&lt;TD&gt;80&lt;/TD&gt;&lt;TD&gt;1078&lt;/TD&gt;&lt;TD&gt;TORONTO&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;280&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;48&lt;/TD&gt;&lt;TD&gt;1078&lt;/TD&gt;&lt;TD&gt;TORONTO&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;94832841&lt;/TD&gt;&lt;TD&gt;132&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;26&lt;/TD&gt;&lt;TD&gt;1078&lt;/TD&gt;&lt;TD&gt;TORONTO&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Every flight has a unique FlightID and each flight can pass through regions (FIR). I'd like to be able to create a flight_segment variable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Every time a NEW FlightID is found, that would be the start of a flight and thus the start of a segment...that is flight_segment would equal 1. If the next FlightID is the same AND the FIR is the same, it would remain at 1. If the next FlightID is the SAME and the FIR has changed, then the flight_segment would have one added to it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thx&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2019 14:49:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-Flight-Segment-Index/m-p/554301#M154194</guid>
      <dc:creator>BCNAV</dc:creator>
      <dc:date>2019-04-26T14:49:21Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Flight Segment Index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-Flight-Segment-Index/m-p/554309#M154195</link>
      <description>&lt;P&gt;Post example data in the form of a data step.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Not tested as no data provided:&lt;/P&gt;
&lt;PRE&gt;data want;
   set have;
   by notsorted flightid notsorted FIR;
   if first.flightid then segment=0;
   if first.fir then segment+1;
run;&lt;/PRE&gt;</description>
      <pubDate>Fri, 26 Apr 2019 15:05:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-Flight-Segment-Index/m-p/554309#M154195</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-04-26T15:05:24Z</dc:date>
    </item>
    <item>
      <title>Re: Creating Flight Segment Index</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-Flight-Segment-Index/m-p/554312#M154196</link>
      <description>&lt;P&gt;You can use SQL to do it&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;
	input flightID $ entry $ exit $ nm $ fir_id $ fir $ ;
cards ;
94832841	0	165	35	1074	EDMONTON
94832841	165	290	65	1074	EDMONTON
94832841	290	330	31	1074	EDMONTON
94832841	330	330	256	1079	WINNIPEG
94832841	330	330	90	1079	WINNIPEG
94832841	330	350	167	1079	WINNIPEG
94832841	350	350	241	1079	WINNIPEG
94832841	350	350	198	1079	WINNIPEG
94832841	350	350	14	1078	TORONTO
94832841	350	330	207	1078	TORONTO
94832841	330	280	80	1078	TORONTO
94832841	280	132	48	1078	TORONTO
94832841	132	0	26	1078	TORONTO
94832842	0	165	35	1074	EDMONTON
94832842	165	290	65	1074	EDMONTON
94832842	290	330	31	1074	EDMONTON
94832842	330	330	256	1079	WINNIPEG
94832842	330	330	90	1079	WINNIPEG
94832842	330	350	167	1079	WINNIPEG
94832842	350	350	241	1079	WINNIPEG
94832842	350	350	198	1079	WINNIPEG
;

proc sql ;
	select flightid, count(unique(fir))
	from have
	group by flightid 
	
	;
quit ;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 26 Apr 2019 15:09:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-Flight-Segment-Index/m-p/554312#M154196</guid>
      <dc:creator>AMSAS</dc:creator>
      <dc:date>2019-04-26T15:09:01Z</dc:date>
    </item>
  </channel>
</rss>

