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

# IDataSlice

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

Data slice is a sequence of data points that are all computed for a particular attribute elements and/or totals but different data series.

**Signature:**

```typescript
export interface IDataSlice extends DataSliceDescriptorMethods, Iterable<DataPoint> 
```
**Extends:** [DataSliceDescriptorMethods](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.dataslicedescriptormethods/index.md), Iterable&lt;[DataPoint](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.datapoint/index.md)&gt;

## Remarks

In other words, data slice allows iterating over two dimension data view \_across\_ the dimension which contains the measures.

For convenience, the data slice is iterable over the Data Points. You can use it either in for-of loop or spread data slice into an array of DataPoints.

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [descriptor](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.idataslice/index.md#idataslicedescriptor) | `readonly` | [DataSliceDescriptor](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.dataslicedescriptor/index.md) | Descriptor of this data slice - what attributes or totals are the data points calculated for. |
| [id](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.idataslice/index.md#idatasliceid) | `readonly` | [DataSliceId](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.datasliceid/index.md) | Unique identifier of the data slice. This can be used to directly access this data slice from data view. |

## Methods

| Method | Description |
| --- | --- |
| [dataPoints()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.idataslice/index.md#idataslicedatapoints) |  |
| [rawData()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.idataslice/index.md#idataslicerawdata) |  |

## Property details

### IDataSlice.descriptor

Descriptor of this data slice - what attributes or totals are the data points calculated for.

**Signature:**

```typescript
readonly descriptor: DataSliceDescriptor;
```

### IDataSlice.id

Unique identifier of the data slice. This can be used to directly access this data slice from data view.

**Signature:**

```typescript
readonly id: DataSliceId;
```

## Method details

### IDataSlice.dataPoints()

**Signature:**

```typescript
dataPoints(): DataPoint[];
```
**Returns:**

[DataPoint](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.datapoint/index.md)[]

- all data points in this slice

#### Remarks

the slice is iterable over data points; if you want to iterate using for-of loop then it is not  necessary to call this method - just use `for (const dataPoint of slice) {...}`

### IDataSlice.rawData()

**Signature:**

```typescript
rawData(): DataValue[];
```
**Returns:**

[DataValue](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.datavalue/index.md)[]

raw, unformatted data for this slice.

#### Remarks

if you need to work with fully annotated and formatted data, use the DataPoint iterator
