0

Kreisdiagramme und Summenbildung

Guten Tag, ich habe folgendes Problem:

 

Ich versuche derzeit meine Spielesammlung zu inventarisieren und habe dort unter anderem zwei Ja/Nein-Felder: Digital: Ja/Nein und Retail: Ja/Nein in der Switch-Darstellung. Wie kann ich nun ein Kreisdiagramm erstellen, welches mir anzeigt, wie hoch der Anteil digitaler und Retailspiele ist?

8 Antworten

null
    • CGR
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Das gibt dann aber zwei Kreisdiagramme, oder? Du kannst zwei voneinander unabhängige Eigenschaften ja nicht in einem Kreisdiagramm darstellen.

    • CGR
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Oder Du hast vier Eigenschaften:  Digital, Retail, beides, nichts

    Das kannst Du dann so darstellen, schau mal diese Datenbank https://www.dropbox.com/s/exjm6t0qu4h6p2z/Beispiel.ninox?dl=0

    • tiagoalbrinck
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Ich verstehe... habe mir gerade das Beispiel angesehen. So ganz ohne Vorwissen vom Code war das zwar nicht ganz einfach, aber ich habe es in etwa nachvollziehen können.

     

    Das nutzt jetzt mehrere Ja/Nein-Felder und ein Funktionsfeld... da erscheint mir rückblickend so ein Mehrfachselektionsfeld sinnvoller, aber wie ziehe ich daraus dann das gewünschte Ergebnis? Habe mehrmals mit der Wenn-dann-Funktion versucht ein Ergebnis zu ermitteln, aber leider erfolglos...

    • CGR
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Eine Mehrfachauswahl ist natürlich einfacher. Der Trick ist immer die Zählfunktion in der Auswertungstabelle. Wenn das Mehrfachfeld, nennen wir es "Typ", direkt ausgewertet werden kann, dann lautet die Funktion im Feld "Anzahl":

    let t := Text;
    count(select Tab where Text(Typ) = t)

    • CGR
    • vor 6 Jahren
    • Gemeldet - anzeigen

    zum besseren Verständnis:

    let t:= Text 

    weist den Inhalt der Spalte "Text" in der Auswertungstabelle der Variable "t" zu. So können wir das im nächsten Schritt verwenden, obwohl es da um die Tabelle "Tab" geht und nicht mehr um "Auswertung".

    select Tab where Text(Typ) = t

    wählt alle Zeilen aus der Tabelle "Tab", in der das Auswahlfeld "Typ" entsprechend gesetzt ist. Allerdings muss noch die Funktion Text() darumherum packen, weil "Typ" sonst einfach eine "1" liefert für die erste Auswahlmöglichkeit, eine "2" für die zweite usw.

    count(...) zählt dann die Anzahl der ausgewählten Zeilen

    • tiagoalbrinck
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Irgendwas scheint da bei mir nicht hinzukommen...

     

    Also meine Tabelle heißt Videospiele und in dieser befindet sich ein Mehrfachauswahl-Feld namens Typ mit den beiden Punkten Digital und Retail zur Auswahl.

     

    In einer zweiten Tabelle namens Auswertung habe ich jetzt die beiden Spalten Format (in denen dann "Digital" und "Retail" zB. steht) und Berechnung.

    In Berechnung habe ich diesen Code jetzt hinterlegt:

    let t := Format;
    count(select Videospiele where Text(Typ) = t)

    Und das scheint irgendwie nicht zu funktionieren. Der erkennt den Eintrag aus der Mehrfachauswahl nicht als Text...? Bzw. erkennt den gesuchten Text dort scheinbar nicht wieder.

    • CGR
    • vor 6 Jahren
    • Gemeldet - anzeigen

    sorry, mein Beispiel ging nur für Einzelauswahl, also retail ODER digital.

    Für Mehrfachauswahl wird es wieder komplizierter:

    let t := Text;
    if t then
    count(select Videospiele where text(Typ) = t)
    else
    count(select Videospiele where Typ = void)
    end

    wobei du die vier Auswertungszeilen füllen musst mit "retail", "digital", "digital, retail" und "" (leeres Feld)

    • tiagoalbrinck
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für die Hilfe und die ausführliche Erklärung! :)

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 8Antworten
  • 2636Ansichten