Nach Bedingung Zählen
Grüße,
stehe gerade auf dem Schlauch. Find mein Fehler nicht bzw. verstehe ich nicht warum es nicht klappt.
Die Ansicht zeigt mir die richtigen Ergebnisse mit dem Aufruf
let aa := Istdatum;
let cc := 'zurückdatum';
(select 'Aufträge')[Kalenderdatum = aa or 'zurückwoche' = cc or 'zurückwoche' < cc]
Wenn ich mir die Aufträge sortiert ( gezählt nach Auftragsstatusart ) ausgeben lassen will zeigt es mir Zahlen die hinten und vorne nicht stimmen. Ist doch aber nur die Statusabfrage hinzugekommen.
let aa := Istdatum;
let cc := 'zurückdatum';
let dd := cnt(select 'Aufträge' where Kalenderdatum = aa or 'zurückwoche' = cc or 'zurückwoche' < cc and Auftragsstatus = 1);
let gg := cnt(select 'Aufträge' where Kalenderdatum = aa or 'zurückwoche' = cc or 'zurückwoche' < cc and Auftragsstatus = 2);
let ff := first((select 'Aufträge').'Lagerbestand m3');
dd + " Neuaufträge < und > " + gg + " Reklamationen zu verplanen" + " /// " + ff
17 Antworten
-
-
Scheinbar soll die Erste Bedingung Auftragsstatus sein und alle anderen Bedingungen nachrangig.
Das ist jetzt etwas schwer ohne dein Datenmodell genau zu kennen und zu wissen, was eigentlich als Ergebnis erwartet wird.
Manchmal hilft eine DummyDB um das nachzuvollziehen.
Ich probiere es trotzdem mal.
Das ist manchmal kompliziert mit der Reihenfolge von and/or
Ich würde es umsortieren.
let P: select 'Aufträge';
let aa := IstDatum;
let cc := 'Zurückdatum';
let dd := cnt(P[Auftragsstatus=1 and Kalenderdatum = aa or 'Zurückwoche' <= cc]);
let gg := cnt(P[Auftragsstatus=2 and Kalenderdatum = aa or 'Zurückwoche' <= cc]);
let ff := first(P).'Lagerbestand m3';
und der Rest deines Codes. -
Welcher Feldtyp ist Status?
Vielleicht dann so number(Auftragsstatus)=1 -
Welche DB und wo muss ich hin (Tabelle)
-
Kannst mich wieder rausschmeißen.
Habe es in der Restore gelöst:
Code:
let P := (select 'Aufträge');
let aa := Istdatum;
let cc := 'zurückdatum';
let dd := cnt(P[Auftragsstatus = 1 and Kalenderdatum = aa or Auftragsstatus = 1 and 'zurückwoche' <= cc]);
let gg := cnt(P[Auftragsstatus = 2 and Kalenderdatum = aa or Auftragsstatus = 2 and 'zurückwoche' <= cc]);
let ff := first((select 'Aufträge').'Lagerbestand m3');
dd + " Neuaufträge < und > " + gg + " Reklamationen zu verplanen" + " /// " + ff -
Sorry wegen des hin und her.
Aber es fällt mit leichter, wenn ich mir die DB direkt ansehen kann.
Da bewundre ich Axel, Mirko und Torsten, die es theoretisieren können.
Manchmal verstehe ich überhaupt nicht was gemeint ist, wenn ich es nicht direkt sehen und nachvollziehen kann.
Nicht vergessen mich aus dem Team zu löschen und die Restore_DB wieder zu löschen wegen der Speichergröße. -
Hier noch ein abgewandeltes Script:
let P := (select 'Aufträge');
let aa := Istdatum;
let cc := 'zurückdatum';
let dd := cnt(P[Auftragsstatus = 1] [Kalenderdatum = aa or 'zurückwoche' <= cc]);
let gg := cnt(P[Auftragsstatus = 2] [Kalenderdatum = aa or 'zurückwoche' <= cc]);
let ff := first((select 'Aufträge').'Lagerbestand m3');
dd + " Neuaufträge < und > " + gg + " Reklamationen zu verplanen" + " /// " + ff
Content aside
- vor 2 JahrenZuletzt aktiv
- 17Antworten
- 60Ansichten
-
2
Folge bereits