---
title: "grouped(by:transform:)"
framework: tabulardata
role: symbol
role_heading: Instance Method
path: "tabulardata/dataframeprotocol/grouped(by:transform:)-3cr4p"
---

# grouped(by:transform:)

Creates a grouping of rows that the method selects by choosing unique values the transform closure creates with elements of a column you select by name.

## Declaration

```swift
func grouped<InputKey, GroupingKey>(by columnName: String, transform: (InputKey?) -> GroupingKey?) -> RowGrouping<GroupingKey> where GroupingKey : Hashable
```

## Parameters

- `columnName`: The name of a column.
- `transform`: A closure that transforms a column’s elements into a hashable type.

## Return Value

Return Value A collection of groups.

## Discussion

Discussion Create groupings that group rows by: Telephone area codes The first letter of a person’s last name A date’s year or quarter Number ranges

## See Also

### Creating a Row Grouping by a Column

- [grouped(by:)](tabulardata/dataframeprotocol/grouped(by:)-77mq2.md)
- [grouped(by:timeUnit:)](tabulardata/dataframeprotocol/grouped(by:timeunit:)-7s782.md)
- [grouped(by:timeUnit:)](tabulardata/dataframeprotocol/grouped(by:timeunit:)-78cy.md)
- [grouped(by:transform:)](tabulardata/dataframeprotocol/grouped(by:transform:)-3aade.md)
