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

# PoPMeasureBuilder

- 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 period-over-period measures.

Do not instantiate this builder directly, instead use [newPopMeasure()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.newpopmeasure/index.md).

**Signature:**

```typescript
export declare class PoPMeasureBuilder extends MeasureBuilderBase<IPoPMeasureDefinition> 
```
**Extends:** [MeasureBuilderBase](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measurebuilderbase/index.md)&lt;[IPoPMeasureDefinition](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.ipopmeasuredefinition/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 `PoPMeasureBuilder` class.

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [masterMeasure](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.popmeasurebuilder/index.md#popmeasurebuildermastermeasure) |  | (measureOrLocalId: [MeasureOrLocalId](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.measureorlocalid/index.md)) =&gt; this | Sets master measure from which this period-over-period measure should be calculated. |
| [popAttribute](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.popmeasurebuilder/index.md#popmeasurebuilderpopattribute) |  | (popAttrIdOrRef: [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) \| [Identifier](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.identifier/index.md)) =&gt; this | Sets period-over-period date dimension attribute to use for offsetting. For convenience the attribute may be specified by either object reference or as a string - in which case it is assumed this is identifier of the attribute object. |

## Methods

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

## Property details

### PoPMeasureBuilder.masterMeasure

Sets master measure from which this period-over-period measure should be calculated.

**Signature:**

```typescript
masterMeasure: (measureOrLocalId: MeasureOrLocalId) => this;
```

### PoPMeasureBuilder.popAttribute

Sets period-over-period date dimension attribute to use for offsetting. For convenience the attribute may be specified by either object reference or as a string - in which case it is assumed this is identifier of the attribute object.

**Signature:**

```typescript
popAttribute: (popAttrIdOrRef: ObjRef | Identifier) => this;
```

## Method details

### PoPMeasureBuilder.buildDefinition()

**Signature:**

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

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

### PoPMeasureBuilder.generateLocalId()

**Signature:**

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

string
