> For the complete documentation index, see [llms.txt](https://docs.ovaledge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ovaledge.com/release8.2/connectors/connector-repositories/reporting-tool/microsoft-ssas-sql-server-analysis-services.md).

# Microsoft SSAS (SQL Server Analysis Services)

This article outlines the integration with Microsoft SQL Server Analysis Services (SSAS), enabling streamlined metadata management through features such as crawling, profiling, querying, data preview, and automatic lineage building. The connector discovers tabular model metadata, including schemas, tables, columns, and relationships, and supports Query Sheet execution for DAX and MDX queries.

The connector establishes connectivity to Azure Analysis Services through ADOMD (MSOLAP) using the OvalEdge SSAS Reader (.NET plugin) invoked by the SsasDto Java middleware. Authentication is performed using an Azure AD service principal (Tenant ID, Application ID, Application Secret, and Azure Analysis Services URL), enabling access to metadata through Analysis Services Dynamic Management Views (DMVs) and DAX queries.

<img src="/files/RCfoDIY1305r52WFSQYY" alt="" height="352" width="624">

## Overview

### Connector Details

| Connector Category                                                                                                | RDBMS                |
| ----------------------------------------------------------------------------------------------------------------- | -------------------- |
| OvalEdge Release Supported                                                                                        | Release6.0 and later |
| <p>Connectivity</p><p>\[How the connection is established with Microsoft SSAS (SQL Server Analysis Services)]</p> | ADOMD (MSOLAP)       |

### Connector Features

| Feature                                      | Availability |
| -------------------------------------------- | :----------: |
| Crawling                                     |       ✅      |
| Delta Crawling                               |       ❌      |
| Profiling                                    |       ✅      |
| Sample Profiling                             |       ✅      |
| Query Sheet                                  |       ✅      |
| Data Preview                                 |       ✅      |
| Auto Lineage                                 |       ✅      |
| Manual Lineage                               |       ✅      |
| Secure Authentication via Credential Manager |       ✅      |
| Data Quality                                 |       ❌      |
| DAM (Data Access Management)                 |       ❌      |
| Bridge                                       |       ✅      |

### Metadata Mapping

The following objects are crawled from Microsoft SSAS (SQL Server Analysis Services) and mapped to the corresponding UI assets.

| SSAS Object     | SSAS Attribute                      | OvalEdge Attribute     | OvalEdge Category | OvalEdge Type      |
| --------------- | ----------------------------------- | ---------------------- | ----------------- | ------------------ |
| Schema          | Database name (Catalog)             | Schema                 | Databases         | Schema             |
| Schema          | Schema comment                      | Source Description     | Databases         | Schema             |
| Cube (internal) | Cube caption                        | -                      | -                 | -                  |
| Table           | Dimension / Measure group name      | Table                  | Tables            | table              |
| Table           | Table type                          | Type                   | Tables            | table              |
| Table           | Table comment                       | Source Description     | Descriptions      | Source Description |
| Columns         | Column name                         | Column                 | Table Columns     | -                  |
| Columns         | Data type                           | Column Type            | Table Columns     | -                  |
| Columns         | Description                         | Source Description     | Table Columns     | -                  |
| Columns         | Ordinal position                    | Column Position        | Table Columns     | -                  |
| Columns         | Is visible                          | Custom Field (tcf1)    | Table Columns     | -                  |
| Columns         | Hierarchy origin                    | Additional Information | Table Columns     | -                  |
| Relationships   | Source table/column                 | Left table/column      | Relationships     | -                  |
| Relationships   | Destination table/column            | Right table/column     | Relationships     | -                  |
| Views (Lineage) | Deployment model file (.asdatabase) | View / Code            | Views             | View               |
| -               | View query/definition               | View Query             | Views             | View               |

## Set up a Connection

### Prerequisites

The following are the prerequisites to establish a connection:

Ensure that the SSAS Application (ODBC/API service) is installed and running on the designated server before configuring the connector in OvalEdge. For more details, click [here](broken://pages/YbSpik5BvKgGwxWplmvl).

#### **Whitelisting Ports**

Ensure the inbound port is whitelisted for OvalEdge to connect to the Microsoft SSAS (SQL Server Analysis Services) database.

{% hint style="warning" %}
Ensure that the updated port number is specified during connection setup, the port is whitelisted, and communication between the system and SQL Server is properly established.
{% endhint %}

#### **External Supporting Files**

{% hint style="info" %}
The required external JAR files are included as part of the OvalEdge installation artifacts. For driver installation and configuration details, refer to the [Connector Drivers Setup Guide](https://docs.ovaledge.com/connectors/additional-requirements/connector-drivers-setup-guide). Please contact the OvalEdge Team for assistance related to the driver files and configuration setup.
{% endhint %}

**Service Account User Permissions**

{% hint style="warning" %}
It is recommended to use a dedicated service account to establish the connection to the data source, configured with the following minimum set of permissions.
{% endhint %}

{% hint style="info" %}
**👨‍💻 Who can provide these permissions?** These permissions are typically granted by the Microsoft SSAS (SQL Server Analysis Services) administrator, as users may not have the required access to assign them independently.
{% endhint %}

| Operations            | Objects                                    | Sys Tables                                                | Access Permissions                |
| --------------------- | ------------------------------------------ | --------------------------------------------------------- | --------------------------------- |
| Connection Validation | Connection / Azure AAS                     | ADOMD Server Connection (MSOLAP), $SYSTEM.MDSCHEMA\_CUBES | Read (Metadata)                   |
| Crawling              | Schema                                     | $SYSTEM.MDSCHEMA\_CUBES                                   | Select (DMV)                      |
| Crawling              | Tables                                     | $SYSTEM.MDSCHEMA\_DIMENSIONS, $SYSTEM.MDSCHEMA\_MEASURES  | Select (DMV)                      |
| Crawling              | Table Columns                              | $SYSTEM.MDSCHEMA\_MEASURES, $SYSTEM.MDSCHEMA\_LEVELS      | Select (DMV)                      |
| Crawling              | Foreign Keys / Relationships               | $SYSTEM.DISCOVER\_CALC\_DEPENDENCY                        | Select (DMV)                      |
| Profiling             | Tables / Table Columns (Tabular Model)     | Tabular Model (DAX)                                       | Read / Execute (DAX)              |
| Query Sheet / Lineage | DAX Queries; Deployment Files; SQL Objects | Tabular Model (DAX/DMV); Local \*.asdatabase files        | Execute (DAX) / Read (File) / N/A |

{% hint style="info" %}

* The connector uses SsasDto (Java) as middleware, which invokes the OvalEdge SSAS Reader (.NET plugin) to connect to Azure Analysis Services via ADOMD (MSOLAP) using an Azure AD service principal (Tenant ID, Application ID, Application Secret) with IsOnPrem=false.
* The Sys Tables column lists the SQL Server Analysis Services Dynamic Management View (DMV) rowsets and DAX objects queried by the .NET plugin for connection validation, metadata discovery, relationship extraction, query execution, and profiling.
* The Azure AD application (service principal) must have the required Read (Metadata) access to the Azure Analysis Services instance and appropriate permissions to query the listed DMVs and execute DAX queries for metadata retrieval, profiling, and Query Sheet operations.
* Lineage building is performed by parsing local .asdatabase deployment files and does not query Azure Analysis Services metadata. SQL object-based lineage is not supported by this connector.
  {% endhint %}

### Connection Configuration Steps

{% hint style="warning" %}
Users are required to have the Connector Creator role in order to configure a new connection.
{% endhint %}

1. Log into **OvalEdge**, go to **Administration** > **Connectors**, click **+ (New Connector)**, search for **Microsoft SSAS (SQL Server Analysis Services),** and complete the required parameters.

{% hint style="info" %}
Fields marked with an asterisk (\*) are mandatory for establishing a connection.
{% endhint %}

<table><thead><tr><th width="220.3333740234375">Field Name</th><th>Description</th></tr></thead><tbody><tr><td>Connector Type</td><td>By default, "Microsoft SQL Server Analysis Services" is displayed as the selected connector type.</td></tr><tr><td>Credential Manager*</td><td><p>Select the desired credentials manager from the drop-down list. Relevant parameters will be displayed based on your selection.</p><p>Supported Credential Managers:</p><ul><li>OE Credential Manager</li><li>AWS Secrets Manager</li><li>HashiCorp Vault</li><li>Azure Key Vault</li></ul><p>For more details, click<a href="https://docs.ovaledge.com/connectors/additional-requirements/credential-manager-configuration"> here</a>. </p></td></tr><tr><td>License Add Ons</td><td><p>Select the checkbox for Auto Lineage Add-On to build data lineage automatically.</p><p>For more details, click<a href="https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/license-types-and-add-ons"> here</a>. </p></td></tr><tr><td>Connector Name*</td><td><p>Enter a unique name for the SQL Server connection              </p><p>(Example: "SQL Server_Prod").</p></td></tr><tr><td>Connector Environment</td><td><p>Select the environment (Example: PROD, STG) configured for the connector.</p><p>For more details, click<a href="https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/prerequisites#connector-environment"> here</a>. </p></td></tr><tr><td>Connector description</td><td>Enter a brief description of the connector.</td></tr><tr><td>Port*</td><td>Enter the port number configured for the OvalEdge SSAS Reader (.NET plugin). Ensure the port is accessible and whitelisted to allow communication between OvalEdge and the plugin.</td></tr><tr><td>Tenant id*</td><td>Enter the Azure AD Tenant ID (Directory ID) associated with the service principal used to authenticate with Azure Analysis Services.</td></tr><tr><td>App id*</td><td>Enter the Azure AD Application (Client) ID of the service principal registered to access Azure Analysis Services.</td></tr><tr><td>App Secret*</td><td>Enter the Client Secret associated with the Azure AD application used for authentication.</td></tr><tr><td>URL*</td><td>Enter the Azure Analysis Services resource URL used to acquire the Azure AD OAuth access token.</td></tr><tr><td>SSAS Server*</td><td>Enter the fully qualified Azure Analysis Services server name (for example, asazure://&#x3C;region>.xxx.xxxx.net/&#x3C;server-name>) that the connector will use to connect to the Azure Analysis Services instance.</td></tr><tr><td>Deployment File Path</td><td>Enter the directory path containing the .asdatabase tabular model deployment files. This field is required only for Auto Lineage and is optional for crawling, profiling, and Query Sheet operations.</td></tr><tr><td>Proxy Enabled*</td><td>Select Yes to route API calls through a proxy server. Select No to bypass the proxy and connect directly.</td></tr><tr><td>SSAS Plugin Server*</td><td>Enter the hostname or IP address of the machine where the OvalEdge SSAS Reader (.NET plugin) is installed and running.</td></tr></tbody></table>

<table data-header-hidden><thead><tr><th width="220.33331298828125"></th><th></th></tr></thead><tbody><tr><td><strong>Default Governance Roles</strong></td><td></td></tr><tr><td>Default Governance Roles*</td><td>Select the appropriate users or teams for each governance role from the drop-down list. All users and teams configured in OvalEdge Security are displayed for selection.</td></tr><tr><td><strong>Admin Roles</strong></td><td></td></tr><tr><td>Admin Roles*</td><td>Select one or more users from the dropdown list for Integration Admin and Security &#x26; Governance Admin. All users configured in OvalEdge Security are available for selection.</td></tr><tr><td><strong>No of Archive Objects</strong></td><td></td></tr><tr><td>No Of Archive Objects*</td><td><p>This shows the number of recent metadata changes to a dataset at the source. By default, it is off. To enable it, toggle the Archive button and specify the number of objects to archive.</p><p>Example: Setting it to 4 retrieves the last four changes, displayed in the 'Version' column of the 'Metadata Changes' module.</p></td></tr><tr><td><strong>Bridge</strong></td><td></td></tr><tr><td>Select Bridge*</td><td><p>If applicable, select the bridge from the drop-down list.</p><p>The drop-down list displays all active bridges configured in OvalEdge. These bridges enable communication between data sources and OvalEdge without altering firewall rules.</p></td></tr></tbody></table>

2. After entering all connection details, the following actions can be performed:
3. Click **Validate** to verify the connection.
4. Click **Save** to store the connection for future use.
5. Click **Save & Configure** to apply additional settings before saving.
6. The saved connection will appear on the Connectors home page.

## Manage Connector Operations

### Crawl/Profile

{% hint style="warning" %}
To perform crawl and profile operations, users must be assigned the Integration Admin role.
{% endhint %}

The **Crawl/Profile** button allows users to select one or more schemas for crawling and profiling.&#x20;

1. Navigate to the Connectors page and click **Crawl/Profile**.
2. Select the schemas to crawl.
3. The **Crawl** option is selected by default. Click the **Crawl & Profile** radio button to perform both operations.
4. Click **Run** to collect metadata from the connected source and load it into the OvalEdge Data Catalog.
5. After a successful crawl, the information appears in the **Data Catalog** > **Databases** tab.

The Schedule checkbox allows automated crawling and profiling at defined intervals, from a minute to a year.

1. Click the **Schedule** checkbox to enable the Select Period drop-down.
2. Select a time period for the operation from the drop-down menu.
3. Click **Schedule** to initiate metadata collection from the connected source.
4. The system will automatically execute the selected operation (**Crawl** or **Crawl & Profile**) at the scheduled time.

#### Other Operations

The Connectors page in OvalEdge provides a centralized view of all configured connectors, including their health status.

**Managing connectors includes:**

* **Connectors Health:** Displays the current status of each connector using a green icon for active connections and a red icon for inactive connections, helping to monitor the connectivity with data sources.
* **Viewing**: Click the **Eye** icon next to the connector name to view connector details, including databases, tables, columns, and codes.

**Nine Dots Menu Options:**

To view, edit, validate, build lineage, configure, or delete connectors, click on the Nine Dots menu.

* **Edit Connector:** Update and revalidate the data source.
* **Validate Connector**: Check the connection's integrity.
* **Settings**: Modify connector settings.
  * **Crawler**: Configure data extraction.
  * **Profiler**: Customize data profiling rules and methods.
  * **Query Policies**: Define query execution rules based on roles.
  * **Access Instructions:** Add notes on how data can be accessed.
  * **Business Glossary Settings**: Manage term associations at the connector level.
  * **Others**: Configure notification recipients for metadata changes.
* **Build Lineage:** Automatically build data lineage using source code parsing.
* **Delete Connector:** Remove a connector with confirmation.

For more details on connector settings, click [here](https://docs.ovaledge.com/connectors/introduction-to-connectors/setup-and-connectivity/connector-settings).

## Connectivity Troubleshooting

If incorrect parameters are entered, error messages may appear. Ensure all inputs are accurate to resolve these issues. If issues persist, contact the assigned support team.

<table><thead><tr><th width="87">S. No.</th><th width="146.33331298828125">Error Message</th><th>Error Description &#x26; Resolution</th></tr></thead><tbody><tr><td>1</td><td>Test Connection failed</td><td><p><strong>Description</strong>: Connection validation failed because the .NET plugin is unreachable, Azure AD service principal credentials are invalid, the Application Secret has expired, the Azure Analysis Services URL is incorrect, or the service principal does not have the required access.</p><p><strong>Resolution</strong>:</p><ul><li>Verify the Plugin Server and Plugin Port are correct and the .NET plugin service is running.</li><li>Validate the Tenant ID, Application ID, Application Secret, Azure Analysis Services URL, and ensure the Application Secret has not expired.</li><li>Confirm the Azure AD service principal has Read (or Administrator) access to the Azure Analysis Services server, and that firewall or proxy settings allow communication between OvalEdge, the plugin, and Azure Analysis Services.</li></ul></td></tr><tr><td>2</td><td>Database should be in the format of {DB} - {CUBE}</td><td><p><strong>Description</strong>: The connector could not parse the database and cube information because the response returned by Azure Analysis Services does not follow the expected {Database}-{Cube} format.</p><p><strong>Resolution</strong>:</p><ul><li>Verify that the Azure Analysis Services instance returns valid database and cube metadata during crawling.</li><li>Ensure the database and cube names are correctly configured and accessible by the service principal.</li><li>Re-run the crawl after correcting the metadata or resolving any connectivity issues.</li></ul></td></tr><tr><td>3</td><td>Hierarchy columns skipped during profiling</td><td><p><strong>Description</strong>: Hierarchy columns are skipped because DAX sampling on hierarchy levels is not supported and may generate exceptions. Columns configured in the profiling exclusion list are also skipped.</p><p><strong>Resolution</strong>:</p><ul><li>Verify whether the column is a hierarchy column in the Azure Analysis Services tabular model.</li><li>Review the profiling configuration to determine whether the column data type is excluded from profiling.</li><li>Profile supported columns or modify the exclusion configuration only if appropriate for your environment.</li></ul></td></tr><tr><td>4</td><td>Lineage source code not found</td><td><p><strong>Description</strong>: Lineage source code could not be generated because the configured Deployment File Path is missing, invalid, or does not contain the required .asdatabase deployment files.</p><p><strong>Resolution</strong>:</p><ul><li>Configure a valid Deployment File Path in the connector settings.</li><li>Ensure the path contains the required .asdatabase files corresponding to the crawled databases.</li><li>Re-run lineage after verifying the deployment files are accessible and up to date.</li></ul></td></tr></tbody></table>

## FAQs

#### 1. How does OvalEdge connect to Azure Analysis Services?

OvalEdge uses SsasDto (Java middleware), which invokes the OvalEdge SSAS Reader (.NET plugin). The .NET plugin connects to Azure Analysis Services through ADOMD (MSOLAP) using an Azure AD service principal.

#### 2. What Azure AD fields are required in the connection form?

Configure the following connection properties:

* Tenant ID
* Application ID
* Application Secret
* Azure Analysis Services URL
* SSAS Server
* Plugin Server
* Plugin Port

#### 3. Why is there no Username or Password field?

The connector uses Azure AD service principal authentication instead of user credentials. Authentication is performed using the configured Tenant ID, Application ID, Application Secret, and Azure Analysis Services URL.

#### 4. When should Proxy Enabled be turned on?

Enable Proxy when OvalEdge must communicate with the OvalEdge SSAS Reader (.NET plugin) through an HTTP proxy server.

#### 5. How are databases and schemas discovered?

The connector queries $SYSTEM.MDSCHEMA\_CUBES to retrieve database and cube metadata. The database is stored as the schema, while the cube name is maintained internally for subsequent operations.

#### 6. How are tables and columns crawled?

Tables are retrieved from $SYSTEM.MDSCHEMA\_DIMENSIONS and $SYSTEM.MDSCHEMA\_MEASURES, while column metadata is retrieved from $SYSTEM.MDSCHEMA\_MEASURES and $SYSTEM.MDSCHEMA\_LEVELS.

#### 7. What operations are performed during profiling?

The connector executes DAX queries to retrieve row counts, column statistics, Top 50 values, and sample data. Boolean and hierarchy columns are excluded from certain profiling operations where applicable.

#### 8. Does the .NET plugin perform lineage extraction?

No. Lineage extraction is performed entirely by the Java component, which parses local .asdatabase deployment files. The .NET plugin is not involved in lineage processing.

#### 9. Is Query Sheet supported?

Yes. Query Sheet supports execution of DAX and MDX queries through the .NET plugin. Query results are returned asynchronously, while query execution logs are not supported.

#### 10. What Azure permissions are required?

The Azure AD service principal must have access to Azure Analysis Services and be assigned at least the Read role (or Administrator) to retrieve metadata and execute DAX queries.

#### 11. Is JWT required for the plugin REST APIs?

No. JWT authentication is currently not enforced for the plugin REST APIs. It is recommended to secure access to the plugin host using appropriate network security controls.

#### 12. Are Data Quality and Data Access supported?

No. The Azure Analysis Services connector does not support Data Quality or Data Access. Auto Lineage is supported through .asdatabase deployment files, and the Bridge option is available.

***

Copyright © 2026, OvalEdge LLC, Peachtree Corners GA USA


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.ovaledge.com/release8.2/connectors/connector-repositories/reporting-tool/microsoft-ssas-sql-server-analysis-services.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
