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

# MeasureBuilder

- Package: [@gooddata/sdk-model](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/index.md)
- Kind: class
- Source: https://github.com/gooddata/gooddata-ui-sdk/blob/rel/11.64/libs/sdk-model/src/execution/measure/factory.ts

Builder for simple measures.

Do not instantiate this builder directly, instead use [newMeasure()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.newmeasure/index.md) or [modifyMeasure()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.modifymeasure/index.md) functions.

**Signature:**

```typescript
export declare class MeasureBuilder extends MeasureBuilderBase<IMeasureDefinition> 
```
**Extends:** [MeasureBuilderBase](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilderbase/index.md)&lt;[IMeasureDefinition](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasuredefinition/index.md)&gt;

## Remarks

The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `MeasureBuilder` class.

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [aggregation](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilder/index.md#measurebuilderaggregation) |  | (aggregation?: [MeasureAggregation](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measureaggregation/index.md)) =&gt; this | Sets aggregation to use for measures created from facts. |
| [defaultAggregation](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilder/index.md#measurebuilderdefaultaggregation) |  | () =&gt; this | Resets measure aggregation to the default (SUM). |
| [filters](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilder/index.md#measurebuilderfilters) |  | (...filters: [IMeasureFilter](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasurefilter/index.md)[]) =&gt; this | Sets filters to apply when calculating the values of this measure. |
| [measureItem](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilder/index.md#measurebuildermeasureitem) |  | (ref: [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md)) =&gt; this | Sets reference to measure item that will be used for calculation. |
| [noFilters](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilder/index.md#measurebuildernofilters) |  | () =&gt; this | Resets measure filters - this will remove all filters from the measure. |
| [noRatio](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilder/index.md#measurebuildernoratio) |  | () =&gt; this | Resets compute as ratio indicator. |
| [ratio](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilder/index.md#measurebuilderratio) |  | (value?: boolean) =&gt; this | Indicates that the measure values should be calculated as percent contributions to the total unsliced value. |

## Methods

| Method | Modifiers | Description |
| --- | --- | --- |
| [buildDefinition()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilder/index.md#measurebuilderbuilddefinition) | `protected` |  |
| [generateLocalId()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilder/index.md#measurebuildergeneratelocalid) | `protected` |  |

## Property details

### MeasureBuilder.aggregation

Sets aggregation to use for measures created from facts.

**Signature:**

```typescript
aggregation: (aggregation?: MeasureAggregation) => this;
```

#### Remarks

By default the aggregation is SUM. For convenience the aggregation can be specified also for measures created from metrics - and in that case it will be ignored.

For convenience, the aggregation may be undefined and it means the value should be reset to the default.

### MeasureBuilder.defaultAggregation

Resets measure aggregation to the default (SUM).

**Signature:**

```typescript
defaultAggregation: () => this;
```

### MeasureBuilder.filters

Sets filters to apply when calculating the values of this measure.

**Signature:**

```typescript
filters: (...filters: IMeasureFilter[]) => this;
```

#### Remarks

These filters apply only to this particular measure calculation and do not impact the rest of the execution.

### MeasureBuilder.measureItem

Sets reference to measure item that will be used for calculation.

**Signature:**

```typescript
measureItem: (ref: ObjRef) => this;
```

#### Remarks

This can be either reference to a MAQL metric or a fact to calculate from.

### MeasureBuilder.noFilters

Resets measure filters - this will remove all filters from the measure.

**Signature:**

```typescript
noFilters: () => this;
```

### MeasureBuilder.noRatio

Resets compute as ratio indicator.

**Signature:**

```typescript
noRatio: () => this;
```

### MeasureBuilder.ratio

Indicates that the measure values should be calculated as percent contributions to the total unsliced value.

**Signature:**

```typescript
ratio: (value?: boolean) => this;
```

#### Remarks

This method works as 'turn-on-toggle' by default, however you can specify the actual boolean parameter and turn the ratio computation off using this method.

## Method details

### MeasureBuilder.buildDefinition()

**Signature:**

```typescript
protected buildDefinition(): IMeasureDefinition;
```
**Returns:**

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

### MeasureBuilder.generateLocalId()

**Signature:**

```typescript
protected generateLocalId(): string;
```
**Returns:**

string
