Auswahlfeld auslesen /auswerten
Hallo zusammen,
ich möchte aus deiner Tabelle "Kunden" ein Auswahlfeld "Kategorie" auslesen/ auswerten.
Die Auswertung soll in einer anderen Tabelle "Quote" angezeigt werden. d.h. Art der Kategorie nächste Spalte Anzahl und dann das ganze im Verhältnis zu den gesamten Datensätzen in der Tabelle "Kunde" prozentual berechnen.
Vielleicht hat jemand eine Idee. Ich würde mich sehr freuen...
Viele Grüße Burghard
20 Antworten
-
Ich möchte meine Frage noch einmal präziser stellen.
In meiner Tabelle "Kunden" kann man in einem Auswahlfeld "Kategorie" auswählen, ob der Kunde mich durch Empfehlung, Google, Flyer, Homepage etc. gefunden hat bzw. aufmerksam wurde.
Nun möchte ich genau das auswerten. Ich möchte wisse, wie der prozentuale Anteil der Empfehlungen, Google, Homepage etc. von allen Kunden in der Tabelle ist. Wenn Prozent nicht funzt, dann eben die Anzahl der einzelnen Kategorien auf einem Blick.
Ob das nun in einer anderen Tabelle angezeigt wird oder als PDF erzeugt wird, spielt dabei keine Rolle.
Vielleicht hilft das ja um Ideen zu bekommen...
Viele Grüße Burghard
-
Man könnte es über einen Button auslösen. Vielleicht in einer Tabelle, die neu anzulegen wäre. Nennen wir die Tabelle mal "Quote" . Wie müsste diese Tabelle verknüpft werden?
Viele Grüße Burghard
-
Ich habe den Code schon mal probiert. Bei Auswahl fehlte einmal das "h", hab ich schon berichtigt, aber es funzt noch nicht... ich habe es mal rot geschrieben
let vAnzahl := cnt(Kunden);
let vAuswahl1 := 0;
let vAuswahlx := 0;
for i in Kunden doswitch i.number(Kategorie) do
case 1:
vAuswahl1 := vAuswahl1+1
case x:
vAuswahlx:= vAuswahlx*1
end;
Auswertung1 := text(number(vAnzahl)/number(vAuswahl1))+“%“;
Auswertung x := text(number(vAnzahl)/number(vAuswahlx))+“%“
-
Sorry, aber ich habe das Script auf dem Handy unterwegs auf der Zugfahrt getippt, deshalb manchen Schreibfehler.
Ich kenne deinen DB-Aufbau nicht und habe deshalb nur eine Möglichkeit eingegeben, wie das Script aussehen könnte.
Wenn du eine Dummy-DB reinstellst, kann man das Script speziell auf die DB anpassen oder du passt es selbst an.
case x: und alle anderen Definitionen mit x sollen als Platzhalter für die Auswahlmöglichkeiten stehen. Da weist du selbst besser, wie deine DB aussieht.
In der Tabelle Quote müssen die entsprechenden Felder vorhanden sein, für die Eintragungen der Auswertung.
Man könnte es nach der Schleife wie folgt schreiben:let new := create Quote;
new.'Datum Auswertung vom' := today();
new.AnzahlDatensätze := vAnzahl;
new.'NAME Auswahl1' := vAuswahl1;
.
.
new.'NAME Auswahl' := vAuswahlx
Wie gesagt, ich kenne deinen DB-Aufbau nicht und das Script ist nur eine Möglichkeit wie man es umsetzen könnte und dient nur zur Anschauung und wird ohne Anpassung nicht 1:1 Funktionieren. -
Vielen Dank erst einmal für Deine Mühe!!!
Schau mal die Beispiel-Tabelle. In der Datenbank sind nur zwei Felder "Name" und "Kategorie" (jetzt nur zur Veranschaulichung).
Ich möchte einfach den prozentualen Anteil von Banner oder Flyer etc. des Feldes "Kategorie" aller Datensätze in dieser Tabelle... irgendwo angezeigt bekommen. Wo auch immer.
Es könnte eben auch eine weitere Tabelle z.B. "Quote" sein in der beim klicken des Buttons:die Felder: Zeitstempel, Kategorie, Anzahl, Prozent ausgefüllt werden.
-
Die DB von Tacho beinhaltet alles was du benötigst und du kannst sie auf deine Bedürfnisse anpassen.
Ich habe trotzdem noch eine weitere Möglichkeit der Auswertung gebaut.
Dabei wird die Kategorie über ein dyn. Auswahlfeld gewählt.
Das hat den Vorteil, dass man die Kategorien variabel erweitern kann.
Dazu habe ich in der Tabelle 'Auswertung' ein Dashboard gebaut, welches per Button eine Auswertung fährt. Selbst wenn du um weitere Kategorien erweiterst, wird ohne weitere Änderung des Scripts oder des Anzuzeigenden Formulars die Auswertung inkl. der erweiterten Kategorie erstellt.
Wahrscheinlich ist diese Form schon zu überkandidelt für Dich, ich wollte nur mal die Möglichkeit zeigen, mit der man Ninox nutzen kann. -
Kleiner Nachtrag:
Um die Auswertung mit zunehmender Anzahl der auszuwertenden Records zu beschleunigen solltest du das Script, welches beim Button hinterlegt ist in do as server packen.
Bsp.:do as server
script
end -
In meiner Version kann das einfache Auswahlfeld 'Kategorie' gelöscht werden und das dyn. Auswahlfeld von 'Kategorie2' nach 'Kategorie' umbenannt werden. Ich hatte das Feld in deiner DB einfach so belassen. Es hat aber keinerlei Auswirkung für die Auswertung. Einzig das dyn. Auswahlfeld ist maßgebend.
-
delete select TABELLENNAME
Content aside
- vor 2 JahrenZuletzt aktiv
- 20Antworten
- 208Ansichten
-
3
Folge bereits