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
Option Explicit

Sub Main
' Скрипт создаёт группирующую переменную чатобы разделить файл данных на n (случайных) групп'
' Число групп n задаётся пользователем
' Размещено в SPSSX-L 23.03.2004. Автор: Raynald Levesque

	Dim strCmd As String
	Dim vNbPieces As Variant
	Dim lngNumCases As Long

	lngNumCases = objSpssApp.Documents.GetDataDoc(0).GetNumberOfCases
	If lngNumCases = 0 Then
		MsgBox ("Вам надо загрузить файл данных" & vbCrLf & "перед тем, как запускать этот скрипт!",vbCritical)
		Exit Sub
	End If

	Do
		vNbPieces =InputBox("На сколько групп разбить файл данных?", "Введите число групп",2)
		If vNbPieces = "" Then Exit Sub
	Loop Until IsNumeric(vNbPieces)

	strCmd = strCmd & "COMPUTE draw=UNIFORM(1)." & vbCrLf
	strCmd = strCmd & "SORT CASES BY draw." & vbCrLf
	strCmd = strCmd & "COMPUTE groupnb=MOD($CASENUM," & vNbPieces & ")." & vbCrLf
	strCmd = strCmd & "EXECUTE." & vbCrLf
	strCmd = strCmd & "" & vbCrLf

	objSpssApp.ExecuteCommands (strCmd,False)
End Sub