0

dynamisches Auswahlfeld - Werte filtern

kann man bei der dynamischen Auswahl die "auswählbaren" Werte filtern? Also z.B.

unique((select Automodelle).Hubraum)

? Ich würde gerne die Werte nur einmal anzeigen lassen, sollten sie doppelt vorhanden sein.

LG

Johannes

11 Antworten

null
    • mirko3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Johannes. Wenn Du das folgende Script in Dynamic values einträgst, müßte es gehen. Dir wird dann jeweils der erste Datensatz bei gleichen Werten im Feld Hubraum angezeigt. Die vielen Schleifen könnten aber Performanceprobleme bei großen Datensatzmengen machen. Gruß Mirko
    *
    let uniqueTab := unique((select Automodelle).Hubraum);
    let minNr := for i in uniqueTab do
    min(for x in (select Automodelle)[Hubraum = i] do
    x.number(Nr)
    end)
    end;
    for y in minNr do
    record(Automodelle,y)
    end
    *

    • john_eans
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Sehr cool! Vielen Dank!
    Funktioniert wie gewünscht. Von der Performance her geht es eigentlich auch ganz gut. Zumindest merke ich kein Unterschied zu dem dynamischen Auswahlfeld mit "allen" Werten.

     

    Ich hab das noch nicht so verinnerlicht, dass "for ... in ... do" genau so wie select ein Array wiedergibt...ich glaub die Lösung hilft mir bei ein paar anderen Datenbanken ebenfalls weiter. 👍

    • Tristan_Fuchs
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Wie würde diese Formel lauten, wenn noch ein zweiter Wert davon abhängig wäre? Ich greife einfachmal ins blaue uns sage dass wenn sich die Zylinderanzahl unterscheidet ich einen Eintrag für den gleichen Hubraum aber für verschiedene Zylinder haben möchte. Vielen Dank aber schonmal für die bereits gegebene Antwort!

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Das geht auch. Heute würde ich es so machen. Mirko

    let uniqueName := unique((select Automobile).(text(Hubraum) + "#" + text(Zylinder)));
    for i in uniqueName do
        first((select Automobile)[text(Hubraum) + "#" + text(Zylinder) = i])
    end
    
      • Rafael_Sanchis
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Mirko Hi Mirko this script can use in ?

      • mirko3
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Rafael Sanchis In this case, it is used to filter a dynamic choice field or a dynamic multiple choice field

      • Rafael_Sanchis
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Mirko Thank for your answer, there are some db example.

      • mirko3
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Rafael Sanchis You'll have to ask Tristan. I only wrote the script without this database.

    • Tristan_Fuchs
    • vor 1 Jahr
    • Gemeldet - anzeigen

    vielen vielen Dank das funktioniert wunderbar!

      • Rafael_Sanchis
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Tristan Fuchs Hi Tristan, sorry, have you some example DB, look too interisting.

      appreciate.

      • Tristan_Fuchs
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Rafael Sanchis I don't but check your DM and I'll try to help you understand the code