'Следующий скрипт позволяет быстро определить число наблюдений в файле данных. 'Скрипт определит, включено или выключено взвешивание. Если включено, 'он спросит вас, желаете ли вы подсчитать взвешенное число наблюдений. 'Если вы ответите ОК, скрипт: '1. Отключит взвешивание. '2. Суммирует значения весовой переменной (командой DESCRIPTIVES). Сумма равна взвешенному числу наблюдений. '3. Включит взвешивание снова. 'Вы можете создать отдельный пункт меню и связать его с этим скриптом, или запускать 'скрипт через меню Utilities/ 'Решение очень удобно для взвешенных баз. 'Всего наилучшего. 'Автор: Rafael Osorio (Usenet,11 мая 2000 г.)re: Определить число наблюдений Option Explicit Dim DtDoc As ISpssDataDoc Dim OutDoc As ISpssOutputDoc Dim WeightName As String Dim Cmd As String Sub Main Set DtDoc = objSpssApp.Documents.GetDataDoc(0) WeightName = DtDoc.GetWeightingVariable(False) If WeightName = "" Then MsgBox "Взвешивание выключено: число наблюдений = "&DtDoc.GetNumberOfCases Else If MsgBox("Взвешивание (" &WeightName &") включено: НЕВЗВЕШЕННОЕ число наблюдений = " _ &DtDoc.GetNumberOfCases &". Нажмите ОК для подсчёта взвешенного числа.", 1) = 2 _ Then Exit Sub Set OutDoc = objSpssApp.NewOutputDoc OutDoc.Visible = True Cmd = "WEIGHT OFF." & vbCr Cmd = Cmd &"FILTER OFF." & vbCr Cmd = Cmd &"DESCRIPTIVES " & WeightName & "/STATISTICS=SUM." &vbCr Cmd = Cmd &"WEIGHT BY " & WeightName &"."&vbCr objSpssApp.ExecuteCommands Cmd, False End If End Sub