Analysis Services

This connector is used to query Analysis Services models using DAX queries via the ADOMD.NET library.

This connector requires Windows and the ADOMD.NET library (pyadomd + pythonnet).

Connection configuration

NameMandatoryDefaultDescription
modenooauthAuthentication mode: oauth, pbix
serveryesAnalysis Services server address
datasetidyesDataset ID (in DAX Studio: right-click model name → "Copy Database ID")
tokennoAccess token (for token mode)
usernamenoUsername (for credentials mode)
passwordnoPassword (for credentials mode)
tenantidnoAzure AD tenant ID (for spn mode)
clientidnoAzure AD application client ID (for spn mode)
clientsecretnoAzure AD application client secret (for spn mode)
scopenohttps://analysis.windows.net/powerbi/api/.defaultOAuth scope

Authentication modes

ModeDescription
oauthOpens a browser login page. Auto-connects for local AS instances
pbixSame as oauth, used for local Power BI Desktop models

Connection example

connections:
  myanalysisservices:
    type: analysis_services
    mode: oauth
    server: powerbi://api.powerbi.com/v1.0/myorg/MyWorkspace
    dataset_id: my-dataset-id

Test case configuration

NameMandatoryDefaultDescription
queryyesDAX query to execute

Test case example

Test DAX measure:
  source:
    type: analysis_services
    connection: myanalysisservices
    query: |
      EVALUATE
      SUMMARIZECOLUMNS(
        DimProduct[Category],
        "Total Sales", [Total Sales]
      )
  expected:
    type: csv
    path: ./expected/salesbycategory.csv

Requirements

  • Windows OS
  • ADOMD.NET library installed (typically at C:\Program Files\Microsoft.NET\ADOMD.NET\)
  • pip install pyadomd pythonnet
  • For spn mode: pip install azure-identity