> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure Analysis Services

> Resources, examples, configuration and evidence for Azure Analysis Services.

Use the `@bijectionhq/connectors/azure-analysis-services` entrypoint to declare Azure Analysis Services resources.

## Availability

This page describes the pinned source package. Published availability is unestablished for this artifact. [Source build and package availability](https://docs.bijection.com/client/sdk-distribution.md).

## Resources and modes

| Resource | Mode | Description |
| - | - | - |
| Named model query | `xmla` | Typed DAX, MDX or schema discovery through the customer's ADOMD.NET bridge |

Declare a resource in application code, then bind deployment-specific settings and credentials. See [typed resources](https://docs.bijection.com/integrations/resources.md), [connections](https://docs.bijection.com/integrations/connections.md) and [source inspection](https://docs.bijection.com/integrations/cli.md).

## Named model query

### xmla: Typed DAX, MDX or schema discovery through the customer's ADOMD.NET bridge

The following example matches configuration `standard`.

```ts theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
import { azureAnalysisServices } from "@bijectionhq/connectors/azure-analysis-services";

export const sales = azureAnalysisServices.query.xmla({
  query: "sales",
  maxRows: 100_000,
});
```

> [accordion] Inferred record types
>
> ```ts theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
> Resource without an operational record table
> ```

#### Configuration: standard

Case: `azure-analysis-services/query/xmla/standard`.

Connection and resource configuration are declared by this exact case.

Credential kind: `azure-analysis-services`. Keep credential material in the private credential inventory.

| Setting | Type | Required | Owner |
| - | - | - | - |
| `endpoint` | string | Yes | Shared connection |

> [accordion] Complete configuration contract
>
> ```json theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
> {
>   "setup": [],
>   "resource": {
>     "access": {},
>     "defaults": {},
>     "connector": "azure-analysis-services",
>     "collections": [
>       "rows"
>     ],
>     "credential_kind": "azure-analysis-services",
>     "connection_fields": [
>       "endpoint"
>     ],
>     "address": {
>       "kind": "setup",
>       "field": "endpoint"
>     }
>   },
>   "connection_setup": {
>     "type": "object",
>     "value": {
>       "endpoint": {
>         "fieldType": {
>           "type": "string"
>         },
>         "optional": false
>       }
>     }
>   },
>   "execution": null
> }
> ```

Native admission analysis is available for this exact declaration.

**Collection: rows**

| Contract | Meaning |
| - | - |
| Initial | Enumeration of observed records |
| Changes | Repeated observations of current records |
| Deletions | Deletion detection unsupported |
| Resume | No continuation |
| Gap | Not applicable |
| Retention | Unspecified |
| Coverage | Individual record evidence |
| Consistency | Independent observations |
| Atomicity | One record |
| History | Current record observations |
| Bound: http\_response\_bytes | 524288 |

> [accordion] Complete native profile
>
> ```json theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
> {
>   "movement": {
>     "exchanges": {
>       "poll": {
>         "200": {
>           "placement": "retained_bytes",
>           "interpretation": "json",
>           "projectsBeforeRetention": false,
>           "retainedBodyLimitBytes": "524288",
>           "fileLimitBytes": null
>         },
>         "410": {
>           "placement": "retained_bytes",
>           "interpretation": "opaque",
>           "projectsBeforeRetention": false,
>           "retainedBodyLimitBytes": "524288",
>           "fileLimitBytes": null
>         }
>       },
>       "result": {
>         "200": {
>           "placement": "protected_file",
>           "interpretation": "document",
>           "projectsBeforeRetention": false,
>           "retainedBodyLimitBytes": "524288",
>           "fileLimitBytes": "67108864"
>         },
>         "410": {
>           "placement": "retained_bytes",
>           "interpretation": "opaque",
>           "projectsBeforeRetention": false,
>           "retainedBodyLimitBytes": "524288",
>           "fileLimitBytes": null
>         }
>       },
>       "submit": {
>         "202": {
>           "placement": "retained_bytes",
>           "interpretation": "json",
>           "projectsBeforeRetention": false,
>           "retainedBodyLimitBytes": "524288",
>           "fileLimitBytes": null
>         },
>         "429": {
>           "placement": "retained_bytes",
>           "interpretation": "opaque",
>           "projectsBeforeRetention": false,
>           "retainedBodyLimitBytes": "524288",
>           "fileLimitBytes": null
>         }
>       }
>     },
>     "nativeInputLimitBytes": null,
>     "steps": [
>       {
>         "id": "acquire.1",
>         "inputs": [],
>         "action": {
>           "operation": "acquire",
>           "subject": "exchange poll",
>           "limitBytes": null
>         }
>       },
>       {
>         "id": "acquire.2",
>         "inputs": [],
>         "action": {
>           "operation": "acquire",
>           "subject": "exchange result",
>           "limitBytes": null
>         }
>       },
>       {
>         "id": "acquire.3",
>         "inputs": [],
>         "action": {
>           "operation": "acquire",
>           "subject": "exchange submit",
>           "limitBytes": null
>         }
>       },
>       {
>         "id": "retain.1",
>         "inputs": [
>           "acquire.1",
>           "acquire.2",
>           "acquire.3"
>         ],
>         "action": {
>           "operation": "retain",
>           "subject": "acquisition evidence",
>           "reason": "recovery",
>           "release": "acquisition_custody"
>         }
>       },
>       {
>         "id": "interpret.1",
>         "inputs": [
>           "retain.1"
>         ],
>         "action": {
>           "operation": "interpret",
>           "subject": "acquired input",
>           "produces": "records"
>         }
>       },
>       {
>         "id": "materialize.1",
>         "inputs": [
>           "interpret.1"
>         ],
>         "action": {
>           "operation": "materialize",
>           "subject": "source rows",
>           "reason": "serving",
>           "release": "replacement"
>         }
>       },
>       {
>         "id": "publish.1",
>         "inputs": [
>           "materialize.1"
>         ],
>         "action": {
>           "operation": "publish",
>           "subject": "source rows",
>           "visibility": "with_acquisition"
>         }
>       }
>     ]
>   },
>   "initial": "enumeration",
>   "changes": "observations",
>   "deletions": "unsupported",
>   "resume": "none",
>   "retentionMs": null,
>   "gap": "not_applicable",
>   "limits": {
>     "http_response_bytes": "524288"
>   },
>   "restrictions": [],
>   "commands": {}
> }
> ```

> [accordion] Commands, occurrences and artifacts
>
> ```json theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
> {
>   "records": {
>     "rows": {
>       "protocol": "record_observation",
>       "coverage": "records",
>       "consistency": "observations",
>       "atomicity": "record",
>       "history": "observations",
>       "snapshotMaxRows": null
>     }
>   },
>   "commands": {},
>   "occurrences": null,
>   "artifacts": {
>     "raw_archive": false,
>     "files": {}
>   }
> }
> ```

**Recorded checks**

| Requirement | Scope | Evidence | Result |
| - | - | - | - |
| page-publication-recovery | \{"kind":"collection","name":"rows"} | The shared XMLA bridge has typed-value and lifecycle checks; Azure Analysis Services authentication and provider execution remain unqualified. | Execution result unavailable |
| identity-account | \{"kind":"connection"} | The shared XMLA bridge has typed-value and lifecycle checks; Azure Analysis Services authentication and provider execution remain unqualified. | Execution result unavailable |

**Verification scope**

| Evidence | Outcome | Applicability |
| - | - | - |
| packageFixtures | Not run | No applicable receipt |
| nativeContracts | Not run | No applicable receipt |
| deployedProvider | Not run | No applicable receipt |
| distributedPackage | Not run | No applicable receipt |

Each evidence category has independent scope. A matching recorded pass applies only to its exact artifacts and configuration. Installed connections report their own identity, authority and current status.

## Provider guidance

`azureAnalysisServices.query.xmla({ query, maxRows? })` reads a named DAX,
MDX or schema-discovery query through the customer's
[ADOMD.NET bridge](https://github.com/bijectionhq/bijection/tree/main/npm-packages/connectors/adapters/xmla).
Bind its HTTPS root as `endpoint` and install the bridge bearer with
`azureAnalysisServices.credential(name)`.

The customer configures the bridge's fixed `asazure://` server, catalog and
Entra identity. Microsoft documents [ADOMD.NET connectivity](https://learn.microsoft.com/en-us/analysis-services/azure-analysis-services/analysis-services-connect)
and [service-principal connection strings](https://learn.microsoft.com/en-us/analysis-services/azure-analysis-services/analysis-services-service-principal).
Use `adapters/xmla/appsettings.azure-analysis-services.example.json` as a
configuration template, and supply its connection string and bearer through
the customer's secret provider. The HTTP caller supplies only a query name;
it cannot choose another server, catalog, role, effective user or query text.

Native acquisition retains the original query ID and sealed typed CSV.
Integer/decimal text, null versus empty text, binary and temporal values retain
the bridge's exact type tags. A failed or expired session never starts a
replacement query. Results are bounded observations keyed by session and row
index, without CDC or complete-population coverage. Larger transformations use
external Compute and Dataset publication.

The shared bridge's protocol fixtures and controlled-reader lifecycle checks
are separate from live Azure Analysis Services qualification. No Azure server
authentication, cancellation or query execution is established by these fixtures.

## Provider references

Provider references and prerequisites are maintained in the connector guidance above. No separate provider-documentation review date is recorded.

## Source and evidence

[Canonical connector source](https://github.com/bijectionhq/bijection/blob/main/npm-packages/connectors/src/connectors/azure-analysis-services/README.md), [native analysis](https://github.com/bijectionhq/bijection/blob/main/npm-packages/connectors/contract-analysis.json) and [check receipts](https://github.com/bijectionhq/bijection/blob/main/npm-packages/connectors/evidence.json).

Connector artifact: `312df597437fd0bd236f3d409990aede65071f793d1110f86a7a09838be9569c`.

The resource declaration examples above are compiled and compared with exact catalog declarations. Recorded checks apply only to their source, declaration and runtime identities. Configure a connection and inspect its status to establish deployment-specific readiness.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.