1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
* Как создать фильтр по временному интервалу?

* Спасибо Jim Marks за предложение добавить этот синтаксис.

DATA LIST FREE /id (F8.0) date1 (ADATE10).
BEGIN DATA
1 01/01/2001 2 03/15/2000 3 12/21/1999
4 11/11/2004 5 06/05/2002 6 07/15/2003
END DATA.

* Отфильтруем наблюдения. Оставим те, которые не старше 2001 года.
COMPUTE filt = XDATE.YEAR(date1) >= 2001.
FILTER BY filt.
SUMMARIZE
  /TABLES=date1
  /FORMAT=VALIDLIST NOCASENUM TOTAL
  /TITLE='Год >= 2001'
  /MISSING=VARIABLE
  /CELLS=NONE .


*Выберем наблюдения между январём 2000 и 30 июня 2003.
USE ALL.
COMPUTE filt = RANGE(date1,DATE.MDY(1,1,2000),DATE.MDY(6,30,2003)).
FILTER BY filt.
EXECUTE.
SUMMARIZE
  /TABLES=date1
  /FORMAT=VALIDLIST NOCASENUM TOTAL
  /TITLE='Даты между 1 января 2000 и 30 июня 2003'
  /MISSING=VARIABLE
  /CELLS=NONE .