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

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)

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!

Veröffentlichung: 02.04.2020 von Bernhard 🔔


Top-Artikel in diesem Bereich


MS-SQL Joins erklÀrt: Inner-, Outer-, Left-, Right- Join; Union
Mit Hilfe von Joins können Daten in SQL von einer oder mehrer Tabellen zusammengefĂŒgt werden. Joins werden in der Praxis oft mit anderen Abfragen (Queries) kombiniert: Zum Beispiel werden meist fĂŒr die Auswahl von Daten nicht, wie hier verwendet, ein "select * from", sondern die jeweiligen Spalten ausgewĂ€hlt: "select spalte1,spalte2 from", bzw. können die Joins natĂŒrlich mit "where" oder anderen Queries kombiniert oder verschachtelt werden,  siehe SQL Quer...


msi-Pakete erstellen Freeware MakeMsi How To
schnell mal ein msi-Paket selbst gebaut: in diesem Beispiel zeigen wir anhand von makemsi und einem sehr einfachen Beispiel, wie schnell und ohne Vorkenntnisse ein msi Paket erstellt werden kann.

Fragen / Kommentare