OK I figured out how to post. Here's the code:
current_dataset = current data table();
dataset_name = current_dataset << Get Name;
name_list = {};
class_list = {};
nR = NRow(current_dataset);
For (i = 1, i <= nR, i++,
// Parse the list of Classes using , as the delimiter. Take out extra spaces
split_classes = Words(substitute(Column("Classes")[i], ", ", ","), ",");
nclasses = NItems(split_classes);
// Add the parsed classes to the longer class list
insertinto(class_list, split_classes);
// Add Name to its list multiple times (same # as # of classes)
For (k = 1, k <= nclasses, k++,
insertinto(name_list, (current_dataset:Name)[i]);
)
);
// OK now we've created lists in memory containing Name and class data. Now
// convert these to a dataset
class_dataset = New Table(dataset_name || " (Classes)");
//class_dataset << Minimize Window;
class_dataset << New Column("Name", Character);
class_dataset << New Column("Class", Character);
// Add lists to their respective columns
class_dataset:Name << values(name_list);
class_dataset:Class << values(class_list);
\