Удаление из основного файла данных копий наблюдений, находящися в другом файле
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 33 34 35 36 37 38 39 40 41 42 43 | *(Вопрос) У меня есть база данных (файл *.sav), в которой ключом (уникальным идентификатором строк) является набор из 4 переменных. Есть также второй файл *.sav, который содержит перечень ключей (список идентификаторов строк), которые должны быть удалены из базы данных. Как бы мне организовать процедуру удаления? *(Ответ) Автор: rlevesque@videotron.ca, 17.09.2001. DATA LIST LIST /id1 id2 id3 id4 data1. BEGIN DATA 1 1 1 1 1 1 2 1 1 2 2 1 1 1 3 2 2 2 2 4 END DATA. LIST. SORT CASES BY id1 id2 id3 id4. SAVE OUTFILE='c:\\temp\\database.sav'. DATA LIST LIST /id1 id2 id3 id4. BEGIN DATA 1 1 1 1 2 2 2 2 END DATA. LIST. SORT CASES BY id1 id2 id3 id4. SAVE OUTFILE='c:\\temp\\delete list.sav'. ***** Start job. GET FILE='c:\\temp\\delete list.sav'. COMPUTE del=1. SAVE OUTFILE='c:\\temp\\delete list.sav'. GET FILE='c:\\temp\\database.sav'. MATCH FILES /FILE=* /TABLE='C:\\Temp\\delete list.sav' /BY id1 id2 id3 id4. * Следующая строка удаляет ненужные наблюдения. SELECT IF MISSING(del). * Удалим более ненужную переменную del. MATCH FILES FILE=* /DROP=del. |
Related pages
...