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

# Limitations

> Capabilities not yet supported by GoodData Cloud and GoodData.CN, and the entity-referencing rules that affect GoodData.UI components.

GoodData Cloud and GoodData.CN do not yet implement all capabilities that are specified on the **Analytical Backend** Service Provider Interface (SPI). If you try to use any capability that is not yet available in GoodData Cloud and GoodData.CN, its implementation of the Analytical Backend will raise a [`NotSupported`](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.notsupported/index.md) exception.

GoodData Cloud and GoodData.CN also use a different scheme for identifying entities. This impacts how you have to reference GoodData Cloud or GoodData.CN entities on input to different components or services:

- Logical data model (LDM) entities such as datasets, attributes, labels, and facts are always identified using `id` and `type`.
- Complex MAQL measures are always identified using `id` and `type`.

If you use a component or a service of the **Analytical Backend** that requires an instance of [`ObjRef`](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) on input, you have to use the `idRef` factory function to create one and specify both `id` and `type`.

> **Export catalog:**
> We recommend using the [catalog-export](https://www.gooddata.ai/docs/gooddata-ui/latest/data-layer/data-model/export-catalog/index.md) tool to generate execution model objects from your GoodData Cloud or GoodData.CN workspace. The generated objects have the correct `id` and `type` properties, and you can pass them directly to the visual components.

## [Unsupported capabilities](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/limitations/#unsupported-capabilities)

The following capabilities are not supported on either GoodData Cloud or GoodData.CN:

- Combining a measure value filter and a ranking filter in a single execution
- Attribute element queries restricted by measures (`withMeasures` on the elements query). Use `withAvailableElementsOnly` instead
- Sorting or transforming an existing execution result on the server

## [Limitations](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/limitations/#limitations)

- The GoodData Cloud and GoodData.CN implementation of the Analytical Backend only supports object referencing by `id` and `type`. Use the `idRef` factory function to create a correct sub-type of [`ObjRef`](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md).
- The GoodData Cloud and GoodData.CN implementation of the Analytical Backend only supports attribute filtering by text values. The `newPositiveAttributeFilter` and `newNegativeAttributeFilter` factory functions will treat inputs as text values by default.
- Drillable items used to configure drill eventing for the visual components must use `identifier` to identify a drillable entity. Using `uri` to identify drillable items is not supported and may lead to undefined behavior.
- The `uriMatch` drill predicate that can be used to configure drill eventing for visual components is not supported. You can use the `identifierMatch` or `localIdentifierMatch` predicates to match measures or attributes. You can use the `attributeItemNameMatch` predicate to match an attribute element name.
- The drill events contain `uri` in different parts of an event. Ignore the values in `uri`.
