PowerApps Limitationen - das "mit Daten beginnen" Beispiel

 

PowerApps ist eine Microsoft O365-Online-Lösung um schnell und einfach Apps zu erstellen.  Um mit den Microsoft PowerApps einen schnellen Erfolg zu erzielen, stellt Microsoft fertige Beispiele für eine Standard-App zur Verfügung. 

Als Datenquelle kann eine beliebige Tabelle oder Liste aus Excel Online oder Sharepoint verwendet werden. Das Beispiel funktioniert zwar ziemlich schnell, ist aber meiner Meinung nach auf den ersten Blick nicht unbedingt selbsterklärend.

"mit Daten beginnen" Beispiel (CRUD):

(CRUD: Create, Read, Update, Delete; also neue Einträge erstellen, lesen, updaten und löschen)

 

Quick-Start: https://make.powerapps.com/

powerapps-1.jpg?cache=2020-03-1913-49-11500293

Das Beispiel erstellt auf Basis einer Tabelle oder Sharepoint-Online-Liste eine App, mit deren Hilfe die Daten der Tabelle angezeigt, neue Daten angelegt und bestehende Daten bearbeitet werden können.

Die Funktion der Standard-App im Detail: 

Das Beispiel zu "Mit Daten beginnen" erzeugt 3 verschiedene Ansichten:

powerapps-3.jpg?cache=2020-03-1914-12-07286251

der BrowseScreen besteht aus einer Gallery. Eine Gallery zeigt bestehende Einträge einer Tabelle / Liste an. Die Einträge können gefiltert werden und dienen im Standard-Beispiel als Auswahl für die Anzeige im BrowseScreen.

Der BrowseScreen wird für die Anzeige eines einzelnen Eintrages (einzelne Zeile der Tabelle oder Liste) verwendet.

 

BrowseScreen1

powerapps-5.jpg?cache=2020-03-1914-14-56281212powerapps-10.jpg?cache=2020-03-1914-20-06321178powerapps-4.jpg?cache=2020-03-1914-14-24325473

ein neuer Eintrag wechselt direkt zum EditScreen:

powerapps-13.jpg?cache=2020-03-1914-22-24468460

DetailsScreen1

powerapps-6.jpg?cache=2020-03-1914-16-1930468powerapps-11.jpg?cache=2020-03-1914-20-20337177powerapps-7.jpg?cache=2020-03-1914-16-36318318

EditScreen1

powerapps-8.jpg?cache=2020-03-1914-17-0829579powerapps-12.jpg?cache=2020-03-1914-20-36333175powerapps-9.jpg?cache=2020-03-1914-18-55247500

Limitationen:

1) die Auflösung der Standard-App kann nicht für ein Tablett angepasst werden, dazu muss die App komplett neu erstellt werden. Sollte theoretisch durch einen "Export", "Import" möglich sein, habe ich aber noch nicht verucht.

2) Für die Auswahl der Anzeige werden die IDs der Gallery verwendet, entsprechend ist es nicht möglich nach dem Speichern einen einfachen Zusammenfassungs-Schirm anzuzeigen .. docs.microsoft.com

3) Ich habe keine Möglichkeit gefunden, zentrale Funktionen zu hinterlegen: die Logik muss ähnlich wie in Excel mit Formeln umgesetzt werden, was möglicherweise bei anspruchsvolleren Apps schnell mal kompliziert werden kann.

eigene neue App erstellen:

https://make.powerapps.com/

powerapps-2.jpg?cache=2020-03-1913-50-15320264

Filtern

Filter(Datasource;ColumnName=HomeGallery.Selected.ID)
Search(Record;HomeSearch.Text;"FullName")

Variablen

In PowerApps gibt es zahlreiche Variablen, z.B. 

Date:Now() für das aktuelle Datum

in eine andere Ansicht wechseln: 

Navigate(Landing_Screen; ScreenTransition.Fade)

neue Zeile in eine Tabelle / Liste eintragen:

Patch(ExcelSammlung;Defaults(ExcelSammlung);{Text:"test"})
Patch(ExcelSammlung;Defaults(ExcelSammlung);{Vorname:InputVorname.Text})
Patch(ExcelSammlung;Defaults(ExcelSammlung);{"SplateImExcel":InputVorname.Text})

PivotTabelle

EditForm: 

OnSelect: SubmitForm(EditForm1)

powerapps-14.jpg?cache=2020-03-1916-05-03320255

 

 

Collection befüllen:

Collect(Collection; {Title:"FromCollection"})

Eintragen in Pivot-Tabelle, hier wird die ID vom Submit verwendet: 

ForAll(Collection;Patch(DatenQuelle;Defaults(DatenQuelle);{Title:'Title';otherTables_ID:EditForm1.LastSubmit.ID }))

Der Speichervorgang Datenquelle, inkl. Pivottabelle kann dann auf einen Button "OnSelect" gebunden werden:

SubmitForm(EditForm1);; ForAll(Collection;Patch(DatenQuelle;Defaults(DatenQuelle);{Title:'Title';otherTables_ID:EditForm1.LastSubmit.ID }))

SharepointList in eine Collection speichern

ClearCollect(myCollection;ConnectedSharepointList)

Prüfen ob ein Eintrag in einer Liste vorkommt und hinzufügen zu einer Collection:

If(CountRows(Filter(TabellezumNachsehen;Text(Spalte) = Text(Input.Text))) > 0;Collect(myCollection; {Text: Input.Text});;Set(debugVar;"adding");Set(debugVar;"does not exist"))
Variable setzen:
Set(debugVar;"meine DebugNachricht")
die Variable kann dann z.B. in einer Beschriftung angezeigt werden
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Fragen / Kommentare