Cnt
Hallo Zusammen,
mit folgender Formel:
let myAk := this;
cnt(Aktionen[Aktion = 4], Aktionen.Akteure.Name = myAk)
möchte ich Aktionen, bestimmter Personen auszählen. Leide zählt mein Script immer 1 mehr als tatsächlich vorhanden.
Habe jetzt am Ende des Scripts -1 angefügt :-).
Jemand eine Idee warum das so ist?
Gruß
Thomas
18 Antworten
-
-
Ich glaube aber, es ist noch einfacher. kannst du bitte das Datenmodell posten?
-
Hallo Leo!
mit deinem script ist das Ergebnis 0
Gruß
Thomas
-
Wie ich schon sagte, brauche ich das Datenmodell. Was ist die 4? ist das DatensatzID bei der Tabelle Aktionen?
Wurden die Verknüpfungen umbenannt? Am besten Foto vom Datenmodell und Verknüpfungen.
LEo
-
Hallo Leo,
hier das Datenmodell
-
Sheint eine 1:n Beziehung zu sein. Und Aktion sollte dann ein Auswahlfeld in der Tabelle Aktionen sein. Dann soolte die Formel so sein:
---
cnt(Aktionen[Aktion = 4])
---
Leo
-
Danke Leo, das war die Lösung.
Gruß
Thomas
-
Hallo Leo,
darf ich dein Wissen nochmals in Anspruch nehmen?
Habe das DB Modell leicht modifiziert und komme einfach nicht weiter.Ich würde gerne eine Punktprämie, wenn einige Kriterien erfüllt sind, automatisch auslesen lassen.
Tabelle Spieltage (verknüpft mit Tabelle Punktprämie z.B Saison 2020 / 2021)
Bedingung: Art Spiel (Auswahlfeld) =1 (Pflichtspiel) und Spielausgang =1 (Sieg) und Tabelle Startelf das Merfachauswahlfeld Einsatz = Startelf dann soll aus der Tabelle Punktprämie die entsprechende Saison (derzeit 2020 / 2021) der Wert aus dem Zahlenfeld "Startelf Sieg" ausgewählt und in das Zahlenfeld in der Tabelle Startelf eingefügt werden.
dann mit "else" und anderen Parameter weitergehen.
Hier nochmals das Datenmodell
Mit einem Hinweis, wie ich am Besten anfangen soll, wäre schon super.
Ach ja, das Ganze soll wenn möglich als Trigger in der Verknüpfung Saison mit Punktprämie.... nach Änderungen passieren
Gruß
Thomas
-
Hallo Thomas,
die Tabelle Startelf ist eine Untertabelle zu Spieltage. Das bedeuted, dass es mehrere Datensätze von Startelf in einem Datensatz von Spieltage zu sehen sind. Du schreibst: " Tabelle Startelf das Merfachauswahlfeld Einsatz = Startelf". Welcher Datensatz muss man für einen Vergleich nehmen?
Leo
-
Hallo Leo,
in Startelf wähle ich meine Spieler aus, die an diesem Tag im Kader sind (Kader wäre wahrscheinlich auch die bessere Bezeichnung anstatt Startelf) und in Einsatz wird definiert ob Der Spieler in der "Startelf steht (höhere Prämie) oder nur als Ersatzspieler eingesetzt wird.
Gruß
Thomas
-
Hallo Leo,
derzeit mache ich das über ein Berechnungsfeld mit folgendem Kode:
let mySaison := text(Spieltage.'Punktprämie');
if Spieltage.Spielausgang = "Sieg" and contains(text(chosen(Einsatz)), "Startelf") and Spieltage.Heim = 1 and Spieltage.'Art Spiel' = 1 then
50
else
if Spieltage.Spielausgang = "Sieg" and contains(text(chosen(Einsatz)), "Ersatzspieler") and Spieltage.Heim = 1 and Spieltage.'Art Spiel' = 1 then
20
else
if Spieltage.Spielausgang = "Unentschieden" and contains(text(chosen(Einsatz)), "Startelf") and Spieltage.Heim = 1 and Spieltage.'Art Spiel' = 1 then
20
else
if Spieltage.Spielausgang = "Unentschieden" and contains(text(chosen(Einsatz)), "Ersatzspieler") and Spieltage.Heim = 1 and Spieltage.'Art Spiel' = 1 then
10
else
0
end
end
end
endgeht auch, aber hier sind die entsprechenden Prämien fest eingefügt und Sobald sich diese ändern der Code abgeändert werden
Gruß
Thomas
-
Hallo Leo,
sorry für die Nachfrage, aber habe ich mit meinen Antworten deine Frage beantwortet?
Gruß
Thomas
-
Hallo Thomas,
leider verstehe ich immer noch nicht wie du die Punkte anlegst. Ich habe auch von Fußball keine Ahnung. Wie genau sind die Punkte (50,20,10...) in deiner Tabelle Punkteprämie festgelegt?
Leo
-
Hallo Leo,
also die Punktprämie werden bei uns am Anfang der Saison intern festgesetzt. Sie ist abhängig von der jeweiligen Spielklasse der Mannschaft. Die 50,20,10 sind hier lediglich fiktive Zahlen, um zu sehen ob das Script richtig rechnet.
Letztendlich ist die Tabelle Punktprämie als eine Art "Peisliste" die sich jährlich ändert,zu sehen. Das Jahr spiegelt die Saison wieder (z.B 2020 / 2021) ist die aktuelle Saison die im September 2020 anfängt und im März 2021 endet.
Gruß
Thomas
-
Tut mir leid, aber ich weiß immer noch nicht wo Ninox jetzt greifen soll wenn die Bedingungen erfüllt sind. Welche Felder gibt es in deiner "PreisListe"?
du muss auch für 50,20, 10 irgendwelche Felder haben oder sich anders überlegt wie die Punkte entstehen.
-
Hallo Leo,
hier die Felder der Tabelle " Punktprämie "
Wichtig dabei ist...in welcher Saison das Spiel stattfand, ob gewonnen oder verloren und ob der Spieler in der Startelf, Ersatzspieler etc war.
Gruß Thomas
-
Hallo Thomas,
noch eine Frage. Die Tabelle Punktprämie ist doch mit Spieltage verknüpft. Das in jedem Spieltag ist eine Verknüpfung zu dem richtigen Datensatz aus der Prämientabelle. dann wäre die Formel:
---
if Spieltage.Spielausgang = "Sieg" and chosen(Einsatz, "Startelf") and Spieltage.Heim = 1 and Spieltage.'Art Spiel' = 1 then
Spieltage.'Punktprämie'.'Startelf Sieg'
.....
.....
---
Leo
-
Hallo Leo,
vielen Dank.....passt
Gruß
Thomas
Content aside
- vor 4 JahrenZuletzt aktiv
- 18Antworten
- 1342Ansichten