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.
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".
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.
Zuerst werden die Parameter für das REST API "authenticate" gesetzt. Für unser Demo lauten sie:
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.
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".
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.
{
"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.