Как говорит Sassy, SAS может узнать, отсортирован ли набор данных только в том случае, если он выполнял сортировку, или если вы явно указали ему порядок сортировки. Если вы не выполнили ни одного из этих шагов, он не будет знать, находятся ли данные в каком-либо порядке.
Мне нравится идея AFHood просто попытаться разобраться в этом. Если SAS знает, что он отсортирован таким образом, он просто скажет вам и не будет делать это снова.
NOTE: Input data set is already sorted, no sorting done
Вот еще несколько идей для изучения сортировки данных ... Наслаждайтесь.
Если вы просто хотите посмотреть на это вручную, вы можете использовать proc content data = libname.data; run; и посмотрите на вывод. Есть атрибут, который называется отсортированным. Если вы используете режим управления окнами, вы можете щелкнуть правой кнопкой мыши на наборе данных в проводнике и выбрать свойства, затем перейти на вкладку сведений и увидеть значения, отсортированные по.
Для программного подхода к тестированию вы можете использовать выходной набор данных из содержимого процедуры. Столбцы sorted и sortedby сообщат вам, отсортирован ли набор данных и по какой переменной он отсортирован. Попробуйте, выполнив код ниже.
/* In an unsorted data set, proc contents will give missing values
for the sorted and sortedby columns of its output data */
proc contents data=sashelp.class out=class_contents noprint;run;
proc print data=class_contents;
var memname name sorted sortedby;
run;
/* Now sort and observe the changes in the sorted and sortedby columns */
proc sort data=sashelp.class out=class_sorted; by name;run;
proc contents data=class_sorted out=class_sorted_contents;run;
proc print data=class_sorted_contents;
var memname name sorted sortedby;
run;`enter code here`