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/
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:
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
ein neuer Eintrag wechselt direkt zum EditScreen:
DetailsScreen1
EditScreen1
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:
Gallery
Filtern
Filter(Datasource;ColumnName=HomeGallery.Selected.ID)
Search
Search(Record;HomeSearch.Text;"FullName")
Variablen
In PowerApps gibt es zahlreiche Variablen, z.B.
Date:Now() für das aktuelle Datum
Navigieren
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)
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"))
Set(debugVar;"meine DebugNachricht")
{{percentage}} % positiv