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