Esempio n. 1
0
func Group(ds *rdb.Dataset, key string) map[string]*rdb.Dataset {
	values := ds.GetDatasetStringValues(key)
	valueSet := map[string]string{}
	for _, value := range values {
		_, exists := valueSet[value]
		if !exists {
			valueSet[value] = value
		}
	}

	grouped := map[string]*rdb.Dataset{}

	for value, _ := range valueSet {
		filter := func(str string) bool {
			return str == value
		}
		grouped[value] = ds.FilterDataset(filter, key).RenameDataset(ds.GetName() + " " + value)
	}
	return grouped
}