Statistische Ermittlungen [ERLEDIGT]
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Statistische Ermittlungen [ERLEDIGT]
Moin,
ich will statistische Zahlen erzeugen. Ich weiß es gibt eine Methode das was ich machen muß zu optimieren, aber ich finde keinen vernünftigen Anfang. Vor allen Dingen überlege ich, wie ich mein Problem hier so darstelle, dass es keine Missverständnisse gibt.
1) Ich muß bei jedem Datensatz unterscheiden
a) steht ein Verkaufspreis drin ja/nein
b) ist es verkauft ja/nein
c) ist es Schrott ja/nein
d) ist es Lagerware, oder wird es im Verkaufsraum aufbewahrt
2) zu jedem Buchstaben ( 1) a-d ) muß ich folgendes unterscheiden
a) mehrwertsteuerpflichtig ja/nein
b) es muß dann die gesamte Stückzahl aufaddiert werden
und es muß die jeweilige Stückzahl der einzelnen Optionen aufsummiert werden, also z.B.
Gesamtstückzahl Schrott
Stückzahl Schrott Mwst
Stückzahl Schrott ohne Mwst
Gesamtstückzahl Verkauf
Stückzahl Verkauf mit Mwst
Stückzahl Verkauf ohne Mwst
usw.
grob gesehen, geht natürlich noch feiner runter.
Wenn es verkauft ist, kann es kein Schrott sein.
Wenn kein Preis drinsteht, kann es nicht verkauft sein, aber Schrott, aber auch kein Lagerbestand.
Ich kann jetzt natürlich für alles eine If Endif Abfrage machen, aber es wäre schon schön, wenn man auf der höchsten Ebene anfängt, mit der Option die für die Mehrheit gilt und dann nach und nach innerhalb der Abfrage sich runterarbeitet.
Ich denke Mal, es ist so wie die Zusammenfassung einer Formel a² + 2ab + b² = (a+b)²
Aber ich finde keinen Anfang. Für Mathematiker und Logiker sicherlich einfach, aber mir brummt im Moment der Kopf.
Ich hoffe ich trete hier mal wieder einen Glaubenskrieg los....
ich will statistische Zahlen erzeugen. Ich weiß es gibt eine Methode das was ich machen muß zu optimieren, aber ich finde keinen vernünftigen Anfang. Vor allen Dingen überlege ich, wie ich mein Problem hier so darstelle, dass es keine Missverständnisse gibt.
1) Ich muß bei jedem Datensatz unterscheiden
a) steht ein Verkaufspreis drin ja/nein
b) ist es verkauft ja/nein
c) ist es Schrott ja/nein
d) ist es Lagerware, oder wird es im Verkaufsraum aufbewahrt
2) zu jedem Buchstaben ( 1) a-d ) muß ich folgendes unterscheiden
a) mehrwertsteuerpflichtig ja/nein
b) es muß dann die gesamte Stückzahl aufaddiert werden
und es muß die jeweilige Stückzahl der einzelnen Optionen aufsummiert werden, also z.B.
Gesamtstückzahl Schrott
Stückzahl Schrott Mwst
Stückzahl Schrott ohne Mwst
Gesamtstückzahl Verkauf
Stückzahl Verkauf mit Mwst
Stückzahl Verkauf ohne Mwst
usw.
grob gesehen, geht natürlich noch feiner runter.
Wenn es verkauft ist, kann es kein Schrott sein.
Wenn kein Preis drinsteht, kann es nicht verkauft sein, aber Schrott, aber auch kein Lagerbestand.
Ich kann jetzt natürlich für alles eine If Endif Abfrage machen, aber es wäre schon schön, wenn man auf der höchsten Ebene anfängt, mit der Option die für die Mehrheit gilt und dann nach und nach innerhalb der Abfrage sich runterarbeitet.
Ich denke Mal, es ist so wie die Zusammenfassung einer Formel a² + 2ab + b² = (a+b)²
Aber ich finde keinen Anfang. Für Mathematiker und Logiker sicherlich einfach, aber mir brummt im Moment der Kopf.
Ich hoffe ich trete hier mal wieder einen Glaubenskrieg los....
Zuletzt geändert von Manfred am Di, 25. Nov 2008 11:16, insgesamt 1-mal geändert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Martin Altmann
- Foren-Administrator
- Beiträge: 16586
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Statistische Ermittlungen
Hmm,
meine Antwort kennst Du ja: Alles in ein Array und entsprechend aufsummieren
Du hast ja vier Oberkategorien, die in zwei Arten aufsummiert werden sollen (mit bzw. ohne MwSt).
Also nimmst Du einfach 8 Spalten und fertig.
Willst Du (weil Du ja das "für jeden Datensatz" so betonst) das ganze jedoch nicht komplett aufsummieren, sondern nur innerhalb eines Artikels (oder einer Artikelgruppe, oder was auch immer), so nimmst Du einfach noch eine neunte Spalte dazu und schreibst dort den Schlüsel rein, innerhalb dessen Du aufaddierst (also immer in Deinem Array nach dem Schlüssel suchen, wenn gefunden, die Werte in die entsprechend passenden Spalten addieren, sonst einen neuen Eintrag anfügen).
Viele Grüße,
Martin
meine Antwort kennst Du ja: Alles in ein Array und entsprechend aufsummieren
Du hast ja vier Oberkategorien, die in zwei Arten aufsummiert werden sollen (mit bzw. ohne MwSt).
Also nimmst Du einfach 8 Spalten und fertig.
Willst Du (weil Du ja das "für jeden Datensatz" so betonst) das ganze jedoch nicht komplett aufsummieren, sondern nur innerhalb eines Artikels (oder einer Artikelgruppe, oder was auch immer), so nimmst Du einfach noch eine neunte Spalte dazu und schreibst dort den Schlüsel rein, innerhalb dessen Du aufaddierst (also immer in Deinem Array nach dem Schlüssel suchen, wenn gefunden, die Werte in die entsprechend passenden Spalten addieren, sonst einen neuen Eintrag anfügen).
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15710
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 73 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Statistische Ermittlungen
Hi Manfred,
vielleicht habe ich dich ja falsch verstanden, aber ich sehe hier kein statistisches Problem, sondern nur Merkmale einer normalen Lagerhaltung. Bei jedem Artikel sollte im Datensatz der Preis ohne Mwst, der Mwst-Satz, die Artikel-Anzahl, der Artikel-Lagerort etc. enthalten sein.
Wenn deine Lagerhaltung auf einzelne Artikel (z.B. über Seriennummer) eingeht, kann man auch ein
Ein Feld "zerstört", "Schrott", "abgelaufen" etc. vorsehen.
Bei der Ausgabe würde ich nachfragen wie man das bisher auf Papier dargestellt hat und dieses - eventuell optimiert - nachbilden. Dann kann der Anwender das Ergebnis auch leichter nachvollziehen.
vielleicht habe ich dich ja falsch verstanden, aber ich sehe hier kein statistisches Problem, sondern nur Merkmale einer normalen Lagerhaltung. Bei jedem Artikel sollte im Datensatz der Preis ohne Mwst, der Mwst-Satz, die Artikel-Anzahl, der Artikel-Lagerort etc. enthalten sein.
Wenn deine Lagerhaltung auf einzelne Artikel (z.B. über Seriennummer) eingeht, kann man auch ein
Ein Feld "zerstört", "Schrott", "abgelaufen" etc. vorsehen.
Bei der Ausgabe würde ich nachfragen wie man das bisher auf Papier dargestellt hat und dieses - eventuell optimiert - nachbilden. Dann kann der Anwender das Ergebnis auch leichter nachvollziehen.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Statistische Ermittlungen
OK,
so kommen wir weiter. Ich habe mal wieder den 1.Durchgang frei nach Schnauze erklärt und stelle jetzt bei euren Antworten fest, dass ich es anders angehen muß.
Also es sieht folgendermaßen aus. Ich habe 2 Datenbanken-> 1x Vo und 1x Schrott. Beide sind identisch und werden über ein entsprechendes Objekt verwaltet. Die Objekte unterscheiden sich eigentlich nur darin, dass sie den jeweiligen Namen der entsprechenden DB wissen.
Wenn ich jetzt die Ermittlung der Stückzahlen aufrufe, dann geschieht das über eine Methode, der es total egal ist, welche Db jetzt dahinter steckt von den beiden, weil die Feldbezeichnungen und alles rundherum identisch sind. Sie unterscheiden sich nur darin, dass die Feldinhalte anders aussehen können.
Es dreht sich hier auch nur jedesmal um 1 Datensatz, der die Daten liefert. Es ist kein Lauf, der eine DB komplett oder in Teilen durchläuft. Ich finde einen Satz und prüfe dann die Bedingungen. Es kann aber eben sein, dass es einmal Schrott ist, Lagerbestand, verkauft, nicht verkauft usw. Es soll nur bei jedem Vorgang der richtige Zähler erhöht werden.
Also so z.B.
Diese Abfrage muß jedesmal getätigt werden, weil es ja sein kann, dass es Schrott ist
auch das müßte immer geprüft werden
das oben würde z.B. nicht bei Schrott gelten, weil es beide Zustände nie erreichen kann/darf.
Wobei das jetzt nur grob gezeigt wird. Es muß dann die Alternative (else) zu if auch gleich berücksichtigt und gezählt werden.
Also, wenn preisist = 0 ist, dann geht es in eine andere Variable rein.
Theoretisch müßte man alle Varianten mit If und Enidf abfragen und dann zusammenfassen, was mehrmals vorkommt, oder sehe ich dann falsch. Aber gibt es da nicht ein Verfahren, mit dem man direkt am Anfang sowas machen kann? Oder soll ich es lieber lassen und den langen leidigen Weg gehen?
so kommen wir weiter. Ich habe mal wieder den 1.Durchgang frei nach Schnauze erklärt und stelle jetzt bei euren Antworten fest, dass ich es anders angehen muß.
Also es sieht folgendermaßen aus. Ich habe 2 Datenbanken-> 1x Vo und 1x Schrott. Beide sind identisch und werden über ein entsprechendes Objekt verwaltet. Die Objekte unterscheiden sich eigentlich nur darin, dass sie den jeweiligen Namen der entsprechenden DB wissen.
Wenn ich jetzt die Ermittlung der Stückzahlen aufrufe, dann geschieht das über eine Methode, der es total egal ist, welche Db jetzt dahinter steckt von den beiden, weil die Feldbezeichnungen und alles rundherum identisch sind. Sie unterscheiden sich nur darin, dass die Feldinhalte anders aussehen können.
Es dreht sich hier auch nur jedesmal um 1 Datensatz, der die Daten liefert. Es ist kein Lauf, der eine DB komplett oder in Teilen durchläuft. Ich finde einen Satz und prüfe dann die Bedingungen. Es kann aber eben sein, dass es einmal Schrott ist, Lagerbestand, verkauft, nicht verkauft usw. Es soll nur bei jedem Vorgang der richtige Zähler erhöht werden.
Also so z.B.
Code: Alles auswählen
if db->schrott
schrott++
if mwst
schrottneu++
else
schrottgbr++
endif
endif
Code: Alles auswählen
if db->preisist > 0
vomitpreis++
if mwst
vomitpreisneu++
else
vomitpreisgbr++
endif
endif
Code: Alles auswählen
if db->verkauft
vogesamtverkauft++
if mwst
voverkauftneu++
else
voverkauftgbr++
endif
endif
Wobei das jetzt nur grob gezeigt wird. Es muß dann die Alternative (else) zu if auch gleich berücksichtigt und gezählt werden.
Also, wenn preisist = 0 ist, dann geht es in eine andere Variable rein.
Theoretisch müßte man alle Varianten mit If und Enidf abfragen und dann zusammenfassen, was mehrmals vorkommt, oder sehe ich dann falsch. Aber gibt es da nicht ein Verfahren, mit dem man direkt am Anfang sowas machen kann? Oder soll ich es lieber lassen und den langen leidigen Weg gehen?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15710
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 73 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Statistische Ermittlungen
Hi Manfred,
wenn sich einzelne Möglichkeiten gegenseitig aussschließen, nehme ich gerne do case (if elseif else - geht auch). Das spart beim Durchlauf nicht nur unnötige Abfragen, sondern gibt auch die Gewissheit, dass unerlaubte andere Teile nicht durchlaufen werden.
Aber wenn du halt x-Bedingungen hast, die geprüft werden müssen, musst du die halt prüfen !
wenn sich einzelne Möglichkeiten gegenseitig aussschließen, nehme ich gerne do case (if elseif else - geht auch). Das spart beim Durchlauf nicht nur unnötige Abfragen, sondern gibt auch die Gewissheit, dass unerlaubte andere Teile nicht durchlaufen werden.
Aber wenn du halt x-Bedingungen hast, die geprüft werden müssen, musst du die halt prüfen !
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Statistische Ermittlungen
Hi Hubert,
verflixt, Deine Case Endcase Abfrage, die vergesse ich immer wieder, obwohl ich die schon einsetze in solchen Problemen. Das könnte mir schon weiterhelfen, bzw. es wesentlich übersichtlicher machen. Aber ich denke einmal Du hast Recht, ich werde den harten Weg gehen müssen und dann mal sehen, ob irgendwas zusammengefasst werden kann.
Danke erstmal bis hierhin.
verflixt, Deine Case Endcase Abfrage, die vergesse ich immer wieder, obwohl ich die schon einsetze in solchen Problemen. Das könnte mir schon weiterhelfen, bzw. es wesentlich übersichtlicher machen. Aber ich denke einmal Du hast Recht, ich werde den harten Weg gehen müssen und dann mal sehen, ob irgendwas zusammengefasst werden kann.
Danke erstmal bis hierhin.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!