> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# ITableAttributeColumnDefinition

- Package: [@gooddata/sdk-ui](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/index.md)
- Kind: interface
- Stability: alpha
- Source: https://github.com/gooddata/gooddata-ui-sdk/blob/rel/11.64/libs/sdk-ui/src/base/results/tableData/interfaces/columns.ts

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Defines a column that shows row attribute values (like "Country" or "City").

\*\*What it does:\*\* These are the leftmost columns that show your row groupings. If you have "Country" and "City" in your rows bucket, you'll get two attribute columns.

\*\*When it's created:\*\* - Automatically created for each attribute in the rows bucket - Always appears first (leftmost) in the table - Created regardless of whether you have measures in rows or columns

\*\*Real example:\*\*

```tsx
| Country | City | Sales |  <- "Country" and "City" are attribute columns
|---------|------|-------|
| USA     | NYC  | 100   |
| USA     | LA   | 200   |
```

**Signature:**

```typescript
export interface ITableAttributeColumnDefinition 
```

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [attributeDescriptor](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.itableattributecolumndefinition/index.md#itableattributecolumndefinitionattributedescriptor) |  | [IAttributeDescriptor](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iattributedescriptor/index.md) | **_(ALPHA)_** Metadata about this attribute (name, data type, formatting, etc.). Contains information like the attribute's display name, local identifier, etc. |
| [columnIndex](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.itableattributecolumndefinition/index.md#itableattributecolumndefinitioncolumnindex) |  | number | **_(ALPHA)_** Position of this column in the final table (0-based). |
| [rowHeaderIndex](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.itableattributecolumndefinition/index.md#itableattributecolumndefinitionrowheaderindex) |  | number | **_(ALPHA)_** Which attribute from the rows bucket this column represents (0-based). |
| [type](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.itableattributecolumndefinition/index.md#itableattributecolumndefinitiontype) |  | "attribute" | **_(ALPHA)_** Always "attribute" - identifies this as an attribute column. |

## Property details

### ITableAttributeColumnDefinition.attributeDescriptor

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Metadata about this attribute (name, data type, formatting, etc.). Contains information like the attribute's display name, local identifier, etc.

**Signature:**

```typescript
attributeDescriptor: IAttributeDescriptor;
```

### ITableAttributeColumnDefinition.columnIndex

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Position of this column in the final table (0-based).

**Signature:**

```typescript
columnIndex: number;
```

### ITableAttributeColumnDefinition.rowHeaderIndex

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Which attribute from the rows bucket this column represents (0-based).

**Signature:**

```typescript
rowHeaderIndex: number;
```

### ITableAttributeColumnDefinition.type

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Always "attribute" - identifies this as an attribute column.

**Signature:**

```typescript
type: "attribute";
```
