PowerApps – Random Numbers with Rand()

Deutsche Version: https://stefanriedel.wordpress.com/2020/02/09/powerapps-zufallszahlen-mit-rand/

In many cases the use of random numbers is relevant.

Power Apps offers a suitable function for this, which has a numerical value greater than or equal to 0 and less than 1:

Rand()

The official documentation for this can be found here: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-rand

This article shows what I need to do to generate a random number within a range of numbers [x..y].

Weiterlesen

PowerApps: Get the n-th element or a subset [n..n+x] of a Collection

Sometimes we have to access an element at a certain point in a collection. In the usual programming languages we have functions to implement access to the n-th element of an array.

Die deutsche Version findet ihr hier: https://stefanriedel.wordpress.com/?p=1030

Collections in Power Apps have an index, but it cannot be read out or used as a navigation parameter.

This blog post would not exist if there were not a way.

Power Apps has four functions that help us here: First, FirstN, Last and LastN:
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-first-last

To read the nth element of a collection, we use the following code:
Last(FirstN(NameOfTheCollection,n))

We read a range n to n + x as follows:
LastN(FirstN(NameOfTheCollection,x),x-n)

For questions and / or comments I am happy to see my Twitter handle @PapaRiedel!

Happy PowerApping!

PowerApps: Lesen des n-ten Elements einer Collection

Manchmal müssen wir auf ein Element an einer bestimmten Stelle einer Collection zugreifen.In den üblichen Programmiersprachen haben wir Funktionen um den Zugriff auf das n-te Element eines Arrays zu realisieren.

Collections in Power Apps verfügen zwar auch über einen Index, nur lässt es sich weder auslesen, noch als Navigationsparameter benutzen.

Es würde diesen Blog-Post aber nicht geben, wenn es nicht doch einen Weg gäbe.

Power Apps verfügt über vier Funktionen, die uns hier helfen: First, FirstN, Last und LastN:
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-first-last

Um also das n-te Element einer Collection zu lesen bedienen wir uns folgendem Konstrukt:
Last(FirstN(NameOfTheCollection;n))

Einen Bereich n bis n+x lesen wir wie folgt:
LastN(FirstN(NameOfTheCollection;x);x-n)

Für Rückfragen oder Anmerkungen stehe ich Euch gerne auf Twitter unter meinem Handle @PapaRiedel zur Verfügung!

Frohes PowerAppen!

Power Apps – How to shuffle data in a Collection / Table in Power Apps

Sometimes it is necessary to mix a collection of data or records. As an example, I give here questionaires or learning software that present a series of questions or answers to a question in a new order each time it is called:

Shuffle(Table)

The official documentation can be found here: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-shuffle

This article shows what I have to do to mix items in a collection.

Weiterlesen

Power Apps: Gallery Inline-Menus

In this blog post I described how I can dynamically build a data list in a gallery control: https://stefanriedel.wordpress.com/2020/03/08/dynamic-power-apps-galleriesen/

Die deutsche Version findet ihr hier: https://stefanriedel.wordpress.com/2020/03/09/power-apps-gallery-inline-menus/

Now follows a brief explanation of how I control the menu display.

the requirements

First of all, I wanted to create an elegant effect, as you know it from WordPress or the WebPart catalog from SharePoint Online:

Weiterlesen

Power Apps: Gallery Inline-Menüs

In diesem Blog-Post habe ich beschrieben, wie ich ich dynamisch eine Datenliste in einem Gallery-Control aufbauen kann: https://stefanriedel.wordpress.com/2020/03/07/dynamic-powerapps-galleries/

The english version can be found here: https://stefanriedel.wordpress.com/2020/03/10/power-apps-gallery-inline-menus-en/

Nun folgt eine kurze Erklärung, wie ich die Menü-Anzeige steuere.

Die Anforderung

Zunächst wollte ich einen eleganten Effekt erzeugen, wie man ihn aus WordPress oder dem WebPart-Katalog von SharePoint-Online kennt:

Weiterlesen

Dynamic Power Apps Galleries or: How to insert elements into a Collection?

Die deutsche Version des Artikels findet sich hier: https://stefanriedel.wordpress.com/?p=950

One problem that really bothered me was the challenge of inserting an item into a collection at a specific position.

First of all: The requirement is not actually that an element has to be inserted at a certain point, but rather that it is DISPLAYED at a certain point in the collection.

Since there is no function in the sense of an Insert, AddAt or InsertAt due to the lack of indexing the elements of a collection, a little mental exercise is necessary here.

Here is the link to the official documentary for the collections: https://docs.microsoft.com/de-de/powerapps/maker/canvas-apps/functions/function-clear-collect-clearcollect

Again the task:

I have a Power App with a gallery that shows data from a collection. Now I give the user the option of data maintenance and allow him to expand the collection by adding / inserting more data.

Please note: In German environments, parameters within a function call are separated with a „;“. In English environments, a „,“ can be found here. The code of this example contains a „;“ due to a German-speaking environment!

First of all, like a collection with one element:

ClearCollect(MyCollection;{Titel:"start"})

In the case of adding data to a collection, we make it easy for ourselves:

Collect(MyCollection;{Titel:"end"})

So this:

becomes that:

If I now bind the Collection MyCollection to the Items property of my Gallery, I am actually done.

But if I want to insert an element in between, it gets a little trickier.

If you think about it a little, the solution is obvious, because what forces our new element in the middle between start and end is only an order relationship in the end.

To make this work, we add another field „sortOrder“ to our data records. Based on the example of the first two screenshots, the following code results for the construction of our collection:

ClearCollect(myCollection; {title:"start",sortOrder:0});;
Collect(myCollection;{title:"end";sortorder:1})

Now we don’t bind our collection directly to the Items property of our gallery. We use the SortByColumns function:

SortByColumns(myCollection;"sortOrder")

Now we come to the Insert:

In order to ensure that our next element „up“ is sorted between start and end, it has to get the same sortOrder of the element, which is located where the new element is to be inserted. In our case „up“ gets the place of „end“ so the sortOrder of „up“ is „1“. All subsequent elements now only have to be assigned a sortOrder increased by 1, and everything is OK. Here’s how:

Step one: Customize the SortOrder for all of the following items:
For this we use the UpdateIf function, which updates all elements of a collection for which a certain requirement applies.

https://docs.microsoft.com/de-de/powerapps/maker/canvas-apps/functions/function-update-updateif

UpdateIf(myCollection; sortOrder > 1; {sortOrder: sortOrder + 1})

Step two: Insert new element.

Collect(myCollection;{title:"up";sortorder:1})

In principle, that’s about it. Now this example is a little hard coded, because I explicitly insert an element here at position 1, but you should also think a little bit so that something like this is possible:

For questions and / or comments I am happy to see my Twitter handle @PapaRiedel!

Happy PowerApping! 🙂



Dynamic Power Apps Galleries oder: Wie füge ich ein Element in eine Collection ein?

Ein Problem, welches mich umtrieb, war die Herausforderung ein Element in eine Collection an eine bestimmte Position einzufügen.

Vorab: Die Anforderung ist es eigentlich nicht, dass ein Element an einer bestimmten Stelle eingefügt werden muss, sondern, dass es an einer bestimmten Stelle der Collection ANGEZEIGT wird.

Da an einer Collection keine Funktion im Sinne eines Insert, AddAt oder InsertAt verfügbar ist, ist hier ein kleiner Denksport notwendig.

Hier erstmal der Link zur Offiziellen Doku für die Collections: https://docs.microsoft.com/de-de/powerapps/maker/canvas-apps/functions/function-clear-collect-clearcollect

Nochmal die Aufgabe:
Ich habe eine Power App mit einer Gallery, die Daten aus einer Collection anzeigt. Nun gebe ich dem Benutzer die Möglichkeit der Datenpflege an die Hand und erlaube ihm die Erweiterung des Datenbestands durch das Hinzufügen von weiteren Daten.

Bitte beachte: In deutschen Umgebungen werden Parameter innerhalb eines Funktionsaufrufs durch ein „;“ getrennt. In englischen Umgebungen ist hier ein „,“ zu finden. Der Code dieses Beispiels enthält auf Grund einer deutsch-sprachigen Umgebung ein „;“.

Zunächst mal brauchen wie eine Collecion mit einem Element:

ClearCollect(MyCollection;{Titel:"start"})

Im Falle des Anfügens von Daten an eine Collection machen wir es uns einfach:

Collect(MyCollection;{Titel:"end"})

Das heißt aus dem:

wird das:

Binde ich die Collection MyCollection nun an die Items-Eigenschaft meiner Gallery, so bin ich eigentlich schon fertig.

Möchte ich aber dazwischen ein Element einfügen wird es ein wenig kniffeliger.

Denkt man ein wenig drüber nach, liegt die Lösung aber auf der Hand, denn das, was unser neues Element in die Mitte zwischen start und end zwingt ist am Ende nur eine Reihenfolge-Beziehung.

Damit das funktioniert erweitern wir unsere Datensätze um ein weiteres Feld „sortOrder“. Basierend auf dem Beispiel der ersten beiden Screenshots ergibt sich folgender Code zum aufbau unserer Collection:

ClearCollect(myCollection; {title:"start",sortOrder:0});;
Collect(myCollection;{title:"end";sortorder:1})

Nun binden wir unsere Collection nicht direkt an die Items-Eigenschaft unserer Gallery sondern nutzen die SortByColumns-Funktion:

SortByColumns(myCollection;"sortOrder")

Kommen wir nun zum Einfügen:

Um dafür zu sorgen, dass unser nächstes Element „up“ zwischen start und end einsortiert wird muss es die sortOrder des Elements annehmen, welches sich an der Stelle befindet, wo das neue Element eingefügt werden soll. In unserem Fall also „1“. Allen nachfolgenden Elementen muss nun nur noch eine um 1 erhöhte sortOrder zugewiesen werden, und alles ist in Ordnung. Das geht wie folgt:

Schritt eins: Anpassen der SortOrder für alle nachfolgenden Elemente:
Hierfür bedienen wir uns der Funktion UpdateIf, die alle Elemente einer Collection aktualisiert, für die eine bestimmte Voraussetzung gilt.

https://docs.microsoft.com/de-de/powerapps/maker/canvas-apps/functions/function-update-updateif

UpdateIf(myCollection; sortOrder > 1; {sortOrder: sortOrder + 1})

Schritt zwei: Einfügen des neuen Elements:

Collect(myCollection;{title:"up";sortorder:1})

Und das war es im Prinzip auch schon. Nun ist dieses Beispiel ein wenig hard coded, da ich hier ein Element explizit an der Stelle 1 einfüge, aber ein bissl nachdenken sollt ihr ja auch noch, damit so was möglich wird:

Für Fragen und / oder Anmerkungen stehe ich sehe gerne unter meinem Twitter-Handle @PapaRiedel zur Verfügung!

Happy PowerApping! 🙂



HTML-Snippets der OneNote Elemente

(English content is comming soon)

Diese Seite liefert die HTML-Repräsentation von OneNote-Elementen, wie er für die automatisierte Erstellung von OneNote-Seiten, z.B. durch Power Automate, benötigt wird.

Wie dieser HTML-Code in Power Automate verwendet werden kann zeigt der vorherige Post über die Erstellung von Seiten in OneNote.

Der Inhalt wird Stück für Stück ergänzt, sollte aber so schon hilfreich sein.

Umlaute

ü
ä
ö

Tags

<p lang="de-DE" data-tag="to-do:completed" style="margin-top:0pt;margin-bottom:0pt"><span lang="en-US">Aufgabe</span></p>
Weiterlesen

Power Apps – Mischen einer Collection / Table

(English content is comming soon!)

Manchmal ist es notwendig eine Sammlung von Daten oder Datensätzen zu mischen. Als Beispiel nenne ich hier Questionaires oder Lernsoftware, die eine Reihe von Fragen oder Antworten zu einer Fragen bei jedem Aufruf in einer neuen Reihenfolge präsentieren:

Power Apps bietet hierfür eine passende Funktion:

Shuffle(Table)

Die offizielle Dokumentation dazu findet sich hier: https://docs.microsoft.com/de-de/powerapps/maker/canvas-apps/functions/function-shuffle

Dieser Artikel zeigt, was ich tun muss um eine Datenliste (Collection) zu mischen.

Weiterlesen