Entdecken Sie die verbesserte Distinct-Funktion

Das Abrufen der Liste eindeutiger Datenelemente ist immer hilfreich, wenn Daten manipuliert werden. In manchen Fällen ist es wichtig, die Anzahl der Vorkommen jedes Wertes abzufragen. Die Funktion distinct einer Collection und Entity selection ermöglicht den Abruf einer Liste eindeutiger Werte. Mit 4D v20 können Sie auch die Anzahl der Vorkommen jedes einzelnen Wertes abfragen.

Und das ist noch nicht alles!

Ein Objekt in der Datenbank kann verwendet werden, um vom Benutzer eingegebene Daten zu speichern. Auf der Codeseite müssen Sie also alle möglichen Pfade zu dem Objekt kennen. Die Funktion distinctPaths wurde der Klasse Entity selection hinzugefügt.

Hier finden Sie alles, was Sie wissen müssen.

Neue Option für distinct

Die Syntax ist für beide Klassen, Collection und Entity selection, identisch. Sie müssen die Konstante  ck count values, oder dk count values an den zweiten Parameter namens Option übergeben, um eine Sammlung von Attributpaaren zu erhalten: value und count.

Wenn Sie die Option nicht übergeben, bleibt das Verhalten dasselbe. Sie erhalten eine Sammlung eindeutiger Werte.

Beispiel mit Collection

Sie möchten zum Beispiel die Liste der eindeutigen Werte einer Kategoriesammlung und die Anzahl der Vorkommen jeder Kategorie:

var $col; $category: Collection
$category :=New Collection("Familie"; "Freund"; "Arbeit"; "Familie"; "Persönlich")
$col :=$category.distinct (ck count values)

Das Ergebnis ist:

[
   {"value":"Family","count":2},
   {"value":"Friend","count":1},
   {"value":"Personal","count":1},
   {"value":"Work","count":1}
]

Beispiel mit Entity selection

Sie möchten zum Beispiel die Liste der Länder, Ihrer Kontakte und die Anzahl der Kontakte pro Land abrufen:

var $countries : Collection
$countries :=ds.Contact.all().distinct("Land";dk count values
)

Das Ergebnis ist:

[
   {"value":"France","count":2},
   {"value":"Morocco","count":10},
   {"value":"Germany","count":3}
]

Neue Funktion für unterschiedliche Pfade

Die Funktion distinctPaths der Klasse Entity selection gibt die Liste der eindeutigen Pfade zurück, die in Ihrem indizierten Objektfeld gefunden wurden. Sie müssen den Namen des indizierten Objektfeldes als Parameter übergeben. Diese Funktion ist äquivalent zum Befehl DISTINCT ATTRIBUTE PATHS.

Beispiel

Sie möchten zum Beispiel alle möglichen Pfade des Objektfeldes „Adresse“ abrufen:

var $paths : Collection
$ paths :=ds.Contact.all().distinctPaths("address")

Das Ergebnis ist:

[
   "Nummer",
   "StreetAddress",
   "ErweiterteAdresse",
   "Stadt",
   "Postleitzahl",
   "Land"
]

Weiter…

Teilen Sie uns Ihr Feedback und Ihre Ideen im 4D Forum mit, damit wir das Produkt weiter verbessern können.

Vanessa Talbot
Product Owner - Vanessa Talbot kam im Juni 2014 zum 4D Programmteam. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Seit ihrer Ankunft hat sie an der Definition der wichtigsten Funktionen in 4D gearbeitet. Sie hat an den meisten der neuen Funktionen für präemptives Multi-Threading gearbeitet und auch an einem sehr komplexen Thema: der neuen Architektur für erstellte Anwendungen. Vanessa hat einen Abschluss von der Telecom Saint-Etienne. Sie begann ihre Karriere am Criminal Research Institute als Entwicklerin für die audiovisuelle Abteilung. Sie hat auch in den Bereichen Medien und Medizin als Expertin für technischen Support, Produktion und die Dokumentation neuer Funktionen gearbeitet.