A pythonic approach to query SSAS data models.
pip install pyadomd
from sys import path
path.append('\\Program Files\\Microsoft.NET\\ADOMD.NET\\150')
from pyadomd import Pyadomd
conn_str = 'Provider=MSOLAP;Data Source=localhost;Catalog=AdventureWorks;'
query = """EVALUATE Product"""
with Pyadomd(conn_str) as conn:
with conn.cursor().execute(query) as cur:
print(cur.fetchall())
from pandas import DataFrame
with Pyadomd(conn_str) as conn:
with conn.cursor().execute(query) as cur:
df = DataFrame(cur.fetchone(), columns=[i.name for i in cur.description])
Q: I get the following exception?
System.IO.FileNotFoundException: Unable to find assembly 'Microsoft.AnalysisServices.AdomdClient'.
at Python.Runtime.CLRModule.AddReference(String name)
A: This exception is most likely raised because you have'ent added the folder with the Microsoft.AnalysisServices.AdomdClient.dll to your path, before you import the pyadomd package.
Example:
from sys import path
#added to the path _before_ importing the pyadomd package
path.append('\\Program Files\\Microsoft.NET\\ADOMD.NET\\150')
from pyadomd import Pyadomd
Q: When I try to connect to an Azure Analysis Service instance I get:
Authentication faild: User ID and Password are required when user interface is not available?
A: This exception is most likely raised due to your "app" is not registered. Please follow the microsoft app registration documentation microsoft docs. The script: connect_to_ass.py (link to script) is a simple example on how to create a connection to a Azure Analysis Service. Please note that this is only an example, and not necessarily suitable for all apps.