Zum Hauptinhalt springen

Verwenden Sie Microsoft Power Automate zur Steuerung Ihrer Nooxl Apps

Innerhalb der Nooxl Apps können die Arbeitsprozesse für Spreadsheet-Modelle einfach automatisiert werden, wie z.B. das Importieren, Exportieren oder Kopieren von Daten, das Berechnen von Spreadsheet-Modellen oder kompletter Nooxl Apps sowie das Aufbereiten von Cube-Daten. Für die Steuerung der Automatisierungsprozesse von außerhalb bietet Nooxl Apps eine REST-API an, die es ermöglicht, Nooxl Apps von anderen Anwendungen aus zu steuern. Eine dieser Anwendungen ist Microsoft Power Automate.

Was ist Microsoft Power Automate?

Mit Microsoft Power Automate können Benutzer Automatisierungsregeln erstellen, die sogenannten "Flows", ohne Code schreiben zu müssen, um repetitive Aufgaben zu automatisieren, wie E-Mail-Benachrichtigungen, Datensynchronisation zwischen Anwendungen oder komplexe Geschäftsprozesse. Microsoft Power Automate ist ein Teil der Microsoft Power Platform, die auch Power BI, Power Apps und Power Virtual Agents umfasst.

Power Flow Demo für Nooxl

Für die Automatiserung eines Nooxl Spreadsheet Modells wurde diese Beispiellösung Nooxl Power Automate Solution ZIP erstellt. Die ZIP-Datei kann in die Microsoft Power Automate Cloud-Umgebung als Solution importiert (1) und gestest werden.

Flow Solution Import

Verwendung des Nooxl REST-API in Power Flows

Die der Power Flow setzten die nötigen Parameter und rufen dann das Nooxl REST-API auf. Die Parameter werden durch das verwendente Demo-Modell bestimmt. Weitere Details finden Sie im REST API "model calculate".

Nooxl Demo Modell

In unserem Beispiel-Flow gibt es zwei Bereiche. Im ersten Bereich erfolgt eine API-Authentifizierung mit Rückgabe eines AccessTokens und im zweiten Bereiche dann der Aufruf eines Demo-Spreadsheet-Models.

Authentifizierung

Für die Authentifizierung wird das REST API "authenticate" verwendet.

power flow auth

Zuerst werden die Parameter für das REST API "authenticate" gesetzt. Für unser Demo lauten sie:

Flow 'authenticate' - Demo-Parameter
    nooxlApiHostName: https://ncs-demo.nooxl.com
nooxlApiLogin: API-Tester
nooxlApiPassword: ivtP@t>UN>KF9

Nach dem Aufruf des REST API "authenticate" wird die Rückantwort in ein JSON-Objekt umgewandelt, von der dann im nächsten Schritt das Token als JWT 'Bearer'-Token zur Authorisierung verwendet wird.

Modell-Kalkulation

Für die Modell-Kalkulation über das REST API "model calculate" werden weitere Parameter gesetzt.

power flow calculate

Die Parameter dienen der Auswahl des Spreadsheet-Modells modelName, des Datenstatzes modelSelections, geben Eingabewerte dataInputs für im Modell benannte Bereiche vor und legen die Ausgabebereiche dataOutputMarkupNames fest. Eine detaillierte Beschreibung der Parameter finden Sie beim REST API "model calculate".

Flow 'model calculate' - Demo-Parameter
    nooxlAppNuid: tJel71R1YEGFu80GinVMCw

request body:
{
"modelName":"Cash flow",
"modelSelections":[
{"dataLabelName":"2024-01"},
{"dataLabelName":"Asset A"}
],
"dataInputs":[
{"markupName":"Usage Inputs","
cellValues":[
["810","16","","20.00","4%"],
["245","4","","25.75","4%"],
["140","1","","14.80","4%"],
["950","15","","14.30","1%"]
]
},
{"markupName":"Rent Inputs",
"cellValues":[
["20.11","3.00%"],["21.00","2.00%"],["34.70","1.50%"],["15.40","5.00%"]
]
},
{"markupName":"Parameter Inputs",
"cellValues":[
["1.84%"],["7.79%"],["7.53%"],["466.81"],["1.00%"],["35.00"],["2.00%"],
["3.15"],["18.75%"],["2.00%"],["3.73%"],["4.29%"],["1.49%"],["0.00%"],
["2.50"],["1.50%"],["5.00"]
]
}
],
"dataOutputMarkupNames":[
"Total annual revenue Outputs",
"Total annual expense Outputs"
],
"modelOptions":{
"saveModel":false
}
}

Mit der Option saveModel wird bei ausreichender Berechtigung ein Speichern des Modells durchgeführt. Im Modell vorhandenen Aktionen werden dabei angestoßen, wie z.B. das Anlegen einer neuen Version mit einem Kopieren von Daten.

Als Ergebnis gibt es die Werte aus den Ouput-Bereichen zurück.

REST-API 'model calculate' Demo Ergebnis JSON
{
"dataOutputs":[
{
"markupName":"Total annual revenue Outputs",
"cellValues":[
["477,715.82","493,584.47","502,651.10","512,028.82","521,734.43","531,788.61","542,213.04","553,030.50","564,264.85","575,941.13"]
]
},
{
"markupName":"Total annual expense Outputs",
"cellValues":[
["221,563.00","223,969.94","226,453.86","228,968.19","231,513.78","234,091.03","236,700.40","239,342.33","242,017.28","244,725.71"]
]
}
],
"errorCodes":[]
}

Das Ergebnis wird in Power Flow in ein JSON-Objekt. Anschließend können einzelne Werte gezielt weiter verwendet werden.