# Verifying a Dimensional Model

The process of verifying a dimensional model in Astera Data Stack is the same as that for a general data model. To learn more on verifying a general data model, click [here](/astera-data-stack-v9/data-model/data-models/verifying-a-data-model.md).

In this article, we’ll cover a few common errors and warnings that you may encounter while verifying a dimensional model.

## **Common Verification Errors and Warnings**

### **Case 1: Insert Only**

In this case, we have a data model that contains one dimension entity called *SCD\_Customer*.

![](/files/nmoxpIbnBtNVQSK2HcRH)

Here is the layout of this entity.

![](/files/NiAyULoIojNQW2p4GzRr)

You’ll notice that the *Dimension Role* for all of the fields is *Insert Only*. However, you need to assign a business key, SCD types, and other SCD-related roles to certain fields in a dimension entity.

Upon verifying for read and write deployment, the *Verify* window will display the following errors:

![](/files/QJ3AOVlj4IYtu6jDZbYK)

The first error indicates that the entity must contain at least one SCD element.

The second error indicates that the entity must contain a business key.

**Solution**: Go to the *Layout Builder* screen and assign appropriate *Dimension Roles* to certain fields. Here is a look at the entity layout after we have done so.

![](/files/XfQg0ax9t634KwLTr4vl)

As you can see, the entity now contains a business key and three SCD1 elements.

Once you’ve defined the dimension roles, click *OK*. The model can now be verified successfully.

### **Case 2: Record Identifiers**

Here, we have a modified version of the data model used in case 1.

![](/files/KZPKxhamrEheAolt6mS9)

In this case, the layout of the *SCD\_Customer* entity contains an SCD2 element but does not contain any record identifiers.

![](/files/TztKhurehUqYqTjAY4k6)

Upon verifying for read and write deployment, the *Verify* window will display the following error:

![](/files/KYyjOUVlbsAYQiHMiejJ)

The error states that the *SCD\_Customer* entity contains an SCD2 or SCD6 element but does not have any active row identifiers.

**Solution**: Go to the *Layout Builder* screen and assign a record identifier field. In this case, the entity layout already contains a field that denotes the *Version Number* (*VersionNo*). We’ll use the *Dimension Role* dropdown menu to assign the *Version Number* role to the field named *VersionNo*.

![](/files/5Egqs9p7FhOZbgEgrTMx)

The model can now be verified successfully.

### **Case 3: Record Identifier Not Needed**

Here, we have another modified version of the model in cases 1 and 2.

![](/files/DoKXaPzoKE35wHYbalt3)

The layout of the *SCD\_Customer* entity contains a business key, an SCD1 element, and an *Effective Date* record identifier.

![](/files/X2hrgNCE4d8bSpOisYWu)

However, a record identifier is only needed in the layout when it contains at least one SCD2 or SCD6 element.

Upon verifying for read and write deployment, the *Verify* window will display the following warning:

![](/files/wGWEQesqD60cI6nbzlV0)

{% hint style="info" %}
**Note**: A warning is not the same as an error. When a model contains one or more warnings, it can still be deployed or forward engineered. However, it is a good practice to remove warnings before you move forward.
{% endhint %}

This warning indicates that the layout contains an effective or expiration date which serves no purpose since it does not contain an SCD2 or SCD6 field.

**Solution**: Go to the *Layout Builder* screen and delete the *EffectiveDate* field by right-clicking on the field and selecting *Delete* from the context menu. However, if you wish to add an SCD2 or SCD6 element to the layout, do not delete the field.

![](/files/psP8YssD2JQM70CCPg0U)

The model can now be verified successfully.

This concludes our discussion on verifying a dimensional model.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.astera.com/astera-data-stack-v9/data-model/dimensional-modelling/verifying-a-dimensional-model.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
