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

# IWorkspaceMeasuresService

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

Service for create, update or delete measures and querying additional measures data. If you want to query measures themselves, use catalog [IWorkspaceCatalogFactory](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacecatalogfactory/index.md)

**Signature:**

```typescript
export interface IWorkspaceMeasuresService 
```

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [computeKeyDrivers](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresservicecomputekeydrivers) |  | (measure: [IMeasure](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasure/index.md), options?: { sortDirection: "ASC" \| "DESC"; }) =&gt; Promise&lt;[IMeasureKeyDrivers](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.imeasurekeydrivers/index.md)&gt; | **_(ALPHA)_** Compute key drivers for a given measure. |

## Methods

| Method | Description |
| --- | --- |
| [checkEntityOverrides(identifiers)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresservicecheckentityoverrides) | **_(ALPHA)_** Check which measure identifiers are already used in the workspace hierarchy. |
| [createMeasure(measure, options)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresservicecreatemeasure) | Create and save measure for the provided measure definition |
| [deleteMeasure(measureRef)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresservicedeletemeasure) | Delete measure with the given reference |
| [getConnectedAttributes(definition, auxMeasures, options)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresservicegetconnectedattributes) | Get connected attributes for a measure |
| [getMeasure(ref, options)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresservicegetmeasure) | Get measure by reference |
| [getMeasureExpressionTokens(ref)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresservicegetmeasureexpressiontokens) | Get measure expression tokens for provided measure identifier |
| [getMeasureReferencingObjects(measureRef)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresservicegetmeasurereferencingobjects) | Get all metadata objects which uses specified object (ie. object is used by these objects) by a given reference. |
| [getMeasuresQuery()](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresservicegetmeasuresquery) | Measures query factory. |
| [setCertification(ref, certification)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresservicesetcertification) | Sets measure certification metadata. |
| [updateMeasure(measure)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresserviceupdatemeasure) | Update provided measure |
| [updateMeasureMeta(measure)](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iworkspacemeasuresservice/index.md#iworkspacemeasuresserviceupdatemeasuremeta) | Update metadata object for the measure |

## Property details

### IWorkspaceMeasuresService.computeKeyDrivers

> **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).
> 

Compute key drivers for a given measure.

**Signature:**

```typescript
computeKeyDrivers: (measure: IMeasure, options?: {
        sortDirection: "ASC" | "DESC";
    }) => Promise<IMeasureKeyDrivers>;
```

## Method details

### IWorkspaceMeasuresService.checkEntityOverrides()

> **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).
> 

Check which measure identifiers are already used in the workspace hierarchy.

**Signature:**

```typescript
checkEntityOverrides(identifiers: string[]): Promise<IMeasureOverride[]>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| identifiers | string[] | measure identifiers to check |

**Returns:**

Promise&lt;[IMeasureOverride](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.imeasureoverride/index.md)[]&gt;

promise of the used identifiers, each with the workspaces that contain it

#### Remarks

A measure saved with a used identifier overrides the measure of the other workspace. Identifiers that are not used are not in the result.

### IWorkspaceMeasuresService.createMeasure()

Create and save measure for the provided measure definition

**Signature:**

```typescript
createMeasure(measure: IMeasureMetadataObjectDefinition, options?: ISaveMeasureOptions): Promise<IMeasureMetadataObject>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| measure | [IMeasureMetadataObjectDefinition](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasuremetadataobjectdefinition/index.md) | measure definition |
| options | [ISaveMeasureOptions](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.isavemeasureoptions/index.md) | _(Optional)_ options for saving the measure |

**Returns:**

Promise&lt;[IMeasureMetadataObject](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasuremetadataobject/index.md)&gt;

promise of created measure

### IWorkspaceMeasuresService.deleteMeasure()

Delete measure with the given reference

**Signature:**

```typescript
deleteMeasure(measureRef: ObjRef): Promise<void>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| measureRef | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) | ref of the measure to delete |

**Returns:**

Promise&lt;void&gt;

promise of undefined

### IWorkspaceMeasuresService.getConnectedAttributes()

Get connected attributes for a measure

**Signature:**

```typescript
getConnectedAttributes(definition: IMeasure, auxMeasures?: IMeasure[], options?: IConnectedAttributesOptions): Promise<ObjRef[]>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| definition | [IMeasure](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasure/index.md) | definition of measure |
| auxMeasures | [IMeasure](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasure/index.md)[] | _(Optional)_ optional aux measures |
| options | [IConnectedAttributesOptions](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iconnectedattributesoptions/index.md) | _(Optional)_ options influencing which objects count as connected |

**Returns:**

Promise&lt;[ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md)[]&gt;

### IWorkspaceMeasuresService.getMeasure()

Get measure by reference

**Signature:**

```typescript
getMeasure(ref: ObjRef, options?: IGetMeasureOptions): Promise<IMeasureMetadataObject>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| ref | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) | ref of the measure to get |
| options | [IGetMeasureOptions](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.igetmeasureoptions/index.md) | _(Optional)_ options for getting the measure |

**Returns:**

Promise&lt;[IMeasureMetadataObject](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasuremetadataobject/index.md)&gt;

promise of measure

### IWorkspaceMeasuresService.getMeasureExpressionTokens()

Get measure expression tokens for provided measure identifier

**Signature:**

```typescript
getMeasureExpressionTokens(ref: ObjRef): Promise<IMeasureExpressionToken[]>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| ref | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) | ref of the measure |

**Returns:**

Promise&lt;[IMeasureExpressionToken](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.imeasureexpressiontoken/index.md)[]&gt;

promise of measure expression tokens

### IWorkspaceMeasuresService.getMeasureReferencingObjects()

Get all metadata objects which uses specified object (ie. object is used by these objects) by a given reference.

**Signature:**

```typescript
getMeasureReferencingObjects(measureRef: ObjRef): Promise<IMeasureReferencing>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| measureRef | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) | ref of the measure to check |

**Returns:**

Promise&lt;[IMeasureReferencing](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.imeasurereferencing/index.md)&gt;

promise of references

### IWorkspaceMeasuresService.getMeasuresQuery()

Measures query factory.

**Signature:**

```typescript
getMeasuresQuery(): IMeasuresQuery;
```
**Returns:**

[IMeasuresQuery](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.imeasuresquery/index.md)

measures query

### IWorkspaceMeasuresService.setCertification()

Sets measure certification metadata.

**Signature:**

```typescript
setCertification(ref: ObjRef, certification?: IObjectCertificationWrite): Promise<void>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| ref | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) | measure reference |
| certification | IObjectCertificationWrite | _(Optional)_ certification state; undefined clears certification |

**Returns:**

Promise&lt;void&gt;

### IWorkspaceMeasuresService.updateMeasure()

Update provided measure

**Signature:**

```typescript
updateMeasure(measure: IMeasureMetadataObject): Promise<IMeasureMetadataObject>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| measure | [IMeasureMetadataObject](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasuremetadataobject/index.md) | measure to update |

**Returns:**

Promise&lt;[IMeasureMetadataObject](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasuremetadataobject/index.md)&gt;

promise of updated measure

### IWorkspaceMeasuresService.updateMeasureMeta()

Update metadata object for the measure

**Signature:**

```typescript
updateMeasureMeta(measure: IUpdateMetadataObjectMetaPayload): Promise<IMeasureMetadataObject>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| measure | [IUpdateMetadataObjectMetaPayload](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.iupdatemetadataobjectmetapayload/index.md) | metadata object to update |

**Returns:**

Promise&lt;[IMeasureMetadataObject](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.imeasuremetadataobject/index.md)&gt;

promise of updated measure
