次のプログラムは、日付データを扱う例です。JMPでは、日付や時刻に関して、多数の機能が用意されています。次の例は、元のデータから、特定の期間のデータだけを抽出する例です。
「Select Where Using Dates.jsl」は、出発日(Departure Date)の列をもとに、MDY関数を利用して、特定の期間だけを含んだデータを作成します。そして、そのデータから、正味費用(Net Costs)の曜日(Departure Day of Week)ごとの平均を求めています(図17.2)。
なお、この例では、データテーブルの列名に英語名が使われています。「Travel Costs.jmp」サンプルデータの列には、英語名と日本語名が与えられています。日本語JMPでこのデータテーブルを開いた場合、日本語名が列名として表示されます。しかし、プログラムでは英語名も用いることができます。
/* How can you work with dates in JSL? JMP provides a number of formats
that you can use to make comparisons and then subset data based on the date.
*/
hdt = Open( "$SAMPLE_DATA/Travel Costs.jmp" );
/* Apply the Date MDY format to Departure Date values and then select only
February dates.*/
hdt << Select Where(
(Date MDY( 02, 01, 2007 ) <= :Departure Date < Date MDY( 03, 1, 2007 ))
);
/* Subset the selected rows into two tables: one table contains February
departure dates, the other contains all data for those departure dates.*/
nt1 = hdt << Subset( Columns( :Departure Date ),
Output Table Name( "February Departure Date" ) );
nt2 = hdt << Subset( Output Table Name( "February Data" ) );
/* Create a summary table, grouping mean cost by day of week that departure
took place.*/
sumDt = nt2 << Summary(
Group( :Departure Day of Week ),
Mean( :Net Cost ),
Output Table Name( "Mean Net Cost by Departure Date" )
);
図17.2 元のテーブルと最終的な要約テーブル