# Advanced Use

## Grouping & Group Counts

## Example

Scenario;

> You have a CMS collection of Locations, which each have a State. You want to show a list of States, with the count of Locations in each.&#x20;

Let's suppose you have setup this SA5 Data source.

<figure><img src="https://2168358812-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsBcvwQ6TdfCVq8IuMako%2Fuploads%2Fg9fJkKAZWdL47yB74iDA%2Fimage.png?alt=media&#x26;token=c3886eee-77af-4129-936f-352e67d94fa1" alt=""><figcaption></figcaption></figure>

Once loaded, the data it will exist as a JavaScript Map in SA5's Datastore;

```javascript
ds.store.locations.data
```

You can transform that Map into a new map which contains Groups and counts, like this;

```javascript
// Get count of locations in each state
let result = new Map();
ds.store.locations.data.forEach(({ state }) => {
    result.set(state, (result.get(state) || 0) + 1); // increment state count
});
```

Now you can use your result Map however you like.&#x20;
