Hallo
Ich habe hier bereits eine falsche Diskussion begonnen https://community.jmp.com/t5/Community-Matters/Loop-with-conditions/mp/86408
Herr. Craige Hales hat die Hälfte meiner Frage gelöst und ich suche nach mehr Antworten.
Grundsätzlich gilt,
Ich freue mich darauf, Studenten 15 Plätze zu vergeben. Die Schüler müssen nur fünf Präferenzen auswählen. Meine Bedingungen sind:
- Ein höherer GPA-Student hat mehr Chancen, dort als erste Wahl eingestuft zu werden
- Wenn der erste Wunsch keine freien Plätze hat, sollten sie ihrer zweiten Wahl zugewiesen werden
- .....usw
- Wenn in den 5 Präferenzen keine Plätze verfügbar sind, sollten sie der Rangliste der Präferenzen zugeordnet werden
Mein Skript lautet:
dtPrefs = Data Table( "Sample.jmp" ) << Subset(
Selected Rows( 0 ),
Rows(
[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, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608,
609, 610, 611, 613]
),
Selected columns only( 0 )
);
dtSeats = New Table( "Seats Available",
Add Rows( 15 ),
New Column( "Program",character,Set Values({"Medicine", "Dentistry", "Pharmacy", "HRS - Rehab - Occupational Therapy", "HRS - MT - Nuclear Medicine", "HRS - Rehab - Physiotherapy", "HRS - CS - Hearing and Balance", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - HS - Clinical Nutrition", "HRS - MT - Ultrasound Techniques", "HRS - MT - Diagnostic Radiology", "HRS - HS - Epi", "HRS - HS - Clinical Physcology", "HRS - HS - HA", "Nursing"}) ),
New Column( "seats", Set Values( [71, 40, 126, 30, 0, 31, 19, 0, 0, 18, 18, 36, 32, 45, 146] ) ),
New Column( "alt1", character,Set Values({"Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine"})),
New Column( "alt2", character,Set Values({"Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry"})),
New Column( "alt3", character,Set Values({"Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy"})),
New Column( "alt4", character,Set Values({"HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy"})),
New Column( "alt5", character,Set Values({"HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine"})),
New Column( "alt6", character,Set Values({"HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy"})),
New Column( "alt7", character,Set Values({"HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance"})),
New Column( "alt8", character,Set Values({"HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases"})),
New Column( "alt9", character,Set Values({"HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition"})),
New Column( "alt10", character,Set Values({"HRS - MT - Ultrasound Techniques", "HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques"})),
New Column( "alt11", character,Set Values({"HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology"})),
New Column( "alt12", character,Set Values({"HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi"})),
New Column( "alt13", character,Set Values({"HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology"})),
New Column( "alt14", character,Set Values({"HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA"})),
New Column( "alt15", character,Set Values({"Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing"}))
);
// sort the prefs, do the high GPAs first
dtPrefs << sort( by( Predicted PrepGPA By Year ), order( descending ), ReplaceTable );
// build a lookup table for the Program-to-Rownumber in the seats table
lookup = Associative Array();
For( iSeat = 1, iSeat <= N Rows( dtSeats ), iSeat += 1,
// use uppercase lookups, just in case
lookup[Uppercase( dtSeats:Program[iSeat] )] = iSeat
);
// assign the seats
For( iStudent = 1, iStudent <= N Rows( dtPrefs ), iStudent += 1,
// get the list of prefs for this student
preflist = dtPrefs[iStudent, {Wish 1, Wish 2, Wish 3, Wish 4, Wish 5}];
answer = "";
While( answer == "" & N Items( preflist ) > 0,
pref = Remove From( preflist, 1 );
pref = pref[1]; // get first item from list of one item
pref = Uppercase( pref );
seatrow = Try( lookup[pref], -1 ); // handle unknown preference?
If( dtSeats:seats[seatrow] > 0,
dtPrefs:Predicted Allotment[iStudent] = answer = pref;
dtSeats:seats[seatrow] -= 1;
);
);
);
StudentsFirstChoice = dtPrefs:Wish1[iStudent];
for(ialternative=1,iAlternative<=11, iAlternitive+=1,
alt = alternative[lookup(StudentsFirstChoice), ialternative]; // try the ranked alternatives in order
if (dtSeats:seats[ lookup(alt) ] > 0, seatrow=ialternative; break();
dtPrefs:Predicted Allotment[iStudent] = answer = pref;
dtSeats:seats[seatrow] -= 1;
);
);Das Skript funktioniert ohne die letzte Bedingung. Ich habe folgendes hinzugefügt, konnte es aber nicht zum Laufen bringen.
New Column( "alt1", character,Set Values({"Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine", "Medicine"})),
New Column( "alt2", character,Set Values({"Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry", "Dentistry"})),
New Column( "alt3", character,Set Values({"Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy", "Pharmacy"})),
New Column( "alt4", character,Set Values({"HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy", "HRS - Rehab - Occupational Therapy"})),
New Column( "alt5", character,Set Values({"HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine", "HRS - MT - Nuclear Medicine"})),
New Column( "alt6", character,Set Values({"HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy", "HRS - Rehab - Physiotherapy"})),
New Column( "alt7", character,Set Values({"HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance", "HRS - CS - Hearing and Balance"})),
New Column( "alt8", character,Set Values({"HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases", "HRS - CS - Speech, Swallowing, and Language Diseases"})),
New Column( "alt9", character,Set Values({"HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition", "HRS - HS - Clinical Nutrition"})),
New Column( "alt10", character,Set Values({"HRS - MT - Ultrasound Techniques", "HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques","HRS - MT - Ultrasound Techniques"})),
New Column( "alt11", character,Set Values({"HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology", "HRS - MT - Diagnostic Radiology"})),
New Column( "alt12", character,Set Values({"HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi", "HRS - HS - Epi"})),
New Column( "alt13", character,Set Values({"HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology", "HRS - HS - Clinical Physcology"})),
New Column( "alt14", character,Set Values({"HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA", "HRS - HS - HA"})),
New Column( "alt15", character,Set Values({"Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing", "Nursing"}))
StudentsFirstChoice = dtPrefs:Wish1[iStudent];
for(ialternative=1,iAlternative<=11, iAlternitive+=1,
alt = alternative[lookup(StudentsFirstChoice), ialternative]; // try the ranked alternatives in order
if (dtSeats:seats[ lookup(alt) ] > 0, seatrow=ialternative; break();
dtPrefs:Predicted Allotment[iStudent] = answer = pref;
dtSeats:seats[seatrow] -= 1;
);
);