Power BI Desktop – Auf den internen SSAS zugreifen

Im Hintergrund des Power BI Desktop werkelt ein SQL Server Analysis Service (SSAS) Tabular um die Daten zu liefern. Man kann dies leicht im Windows Task Manger erkennen.

Doch kann man auch außerhalb des Power BI Desktop auf diesen SSAS zugreifen? Die Antwort lautet Ja. Doch ist dieser Zugriff nur so lange verfügbar, wie Power BI Desktop geöffnet ist. Aber besser als nichts. Um die Verbindung herzustellen, benötigt man die Portnummer auf dem der SSAS läuft. Ich will hier drei Möglichkeiten vorstellen, wie man an diese Information kommt.

Die interaktive Variante

Zuerst die einfachste Methode: Man kann mittels des Ressourcemonitors an die Information kommen, welcher Port verwendet wird. Zuerst öffnet man den Ressourcemonitor über Windows Startmenü und die Eingabe von resmon. Anschließend wechselt man auf die Registerkarte „Netzwerk“. Dort lassen sich unter dem Balken „Überwachungsports“ die Ports ermitteln, die für ein bestimmtes Programm benutzt werden.

Die Kommandozeilen-Variante

Die zweite Methode verwendet ein Kommandozeilen-Fenster, um an die Port-Information zu kommen. Über den Befehl

tasklist | findstr msmdsrv

kommt man an die Prozess-ID des SSAS. Anschließend kann man mit dem Befehl

netstat -ano|findstr xxx

die Portnummer ermitteln. Für die xxx muss man die Prozess-ID aus dem vorigen Befehl eintragen.

Die Powershell-Variante

Möchte man die Ermittlung des Ports mit Powershell automatisieren, kann man folgende Befehle nutzen:

$processes = (gwmi win32_process -filter 'name="msmdsrv.exe"'|where {$_.Path -ne $null}|select Handle,Name,Path)
foreach ($process in $processes) {Get-NetTCPConnection -OwningProcess $process.Handle | select LocalPort, OwningProcess, @{N=’Path’; E={$process.Path}} -Unique}

Zugriff

Hat man nun den Port ermittelt, kann man mit SQL Server Management Studio (SSMS) (oder dem Tool seiner Wahl) zugreifen. Als Servertyp wählt man dort „Analysis Services“ und verbindet sich mit

<Servername>:<Portnummer>

Anschließend kann man seine DAX-Befehle im SSMS erstellen und ausführen.