Lösung zu Basetabellen gesucht

hi,

habe wieder mal ne kleine Aufgabe zu realisieren...

Dabei sind aber diverse Parameter für die Tabellen leider alles
andere als linear.

Aufgabe:

Es sollen täglich stündliche Produktionsprognosen automatisiert werden.

Es sind mehrere Staubecken vorhanden, welche:

Niveau / Volumen
rein linear (Kubische Reservoir)
exponentiell (konischer Behälter)
unregelmässig (Natursee)

Dazu wird eine Tabelle benutzt, welche die Eckdaten der Becken
beinhaltet.
Ort, Becken, Max. Volumen, Max. Niveau, und eine Unter-Wertetabelle:
Niveau / Volumen

Eine zweite Tabelle gibt Auskunft über die Eckdaten der Maschinengruppen
Ort, Becken, l/s zu kW, Max. l/s (auch hier ist das Ganze nicht
linear, da der Wirkungsgrad einfliessen muss)

Mein Hauptproblem nun ist: wie kann ich die Zwischenwerte aus den Tabellen abrufen, sonst muss ich Tabellen erzeugen, die vom Dachstock bis zum Keller reichen:

zB in Tab 1 findet sich die Werte
1.00m / 36000m³
1.25m / 40000m³

das aktuelle Niveau ist 1.175m = ?

Wer hat da eine Idee, wie solches einfach zu bewerkstelligen ist?

Hallo Salvalaggio,

zB in Tab 1 findet sich die Werte
1.00m / 36000m³
1.25m / 40000m³

das aktuelle Niveau ist 1.175m = ?

Na ja, vielleicht zu einfach gedacht, aber wenn ich zwischen den beiden
Werten auf einen neuen schließen soll, dann gehe ich erst einmal von
einer Geraden aus.
36000 + ((40000-36000)/(1,25-1))*(1,175-1)

Jetzt müssten natürlich die Mathematiker ran, die aus dem zusätzlichen
Gesamtstartwert auf den Kurvenverlauf schließen: 0m / 0m³

Ist zumindest erst einmal ein Ansatz, der prinzipiell natürlich auch in
einer Datenbank per Abfrage ginge.

Gruß

Robert

... aber Du hast keine Idee für einen funktionalen Zusammenhang ?
Wie soll das dann auch nur annäherungsweise operationalisierbar sein ???

Der erste Schritt wäre doch, den technischen Zusammenhang funktional zu
modellieren, bevor die Datenbank überhaupt etwas rechnen kann.

Zunächst eher eine Frage für Geologen, nicht für
Datenbank-Spezialisten ...

hi Robert,

Robert Großkopf schrieb:

Hallo Salvalaggio,

zB in Tab 1 findet sich die Werte
1.00m / 36000m³
1.25m / 40000m³

das aktuelle Niveau ist 1.175m = ?

Na ja, vielleicht zu einfach gedacht, aber wenn ich zwischen den beiden
Werten auf einen neuen schließen soll, dann gehe ich erst einmal von
einer Geraden aus.
36000 + ((40000-36000)/(1,25-1))*(1,175-1)

Jetzt müssten natürlich die Mathematiker ran, die aus dem zusätzlichen
Gesamtstartwert auf den Kurvenverlauf schließen: 0m / 0m³

Das ganze zu berechnen ist eigentlich trivial. In der Regel legt man
dazu einfach die Proportion von Höhe zu Volumen ab. Diese Zahl wird
dann mit der aktuellen Höhe multipliziert und erhält so da aktuelle
Volumen.

Mein Problem liegt vielmehr in der Tatsache, dass ich nicht für
jeden mm einen Tabelleneintrag habe, (normalerweise begnügt man sich
damit, nur jede neu Abweichung abzulegen) da bei 10m das ja schon
10'000 Tabellenzeilen wären!

Wenn man davon ausgeht, dass die Proportion mehr oder weniger einer
Kurve folgt ist daher die Folgerung
nach obigem Beispiel:

36000/1.00 = 36m³
40000/1.25 = 32m³
(36 + 32)/2 = 34m³ > 1175 * 34 = 39950m³
ja annähernd genug...

Die Frage geht also dahin, dass ich aus den mm-Eingaben den, bez.
die richtigen Tabelleneinträge finden soll.

Marino

hallo Tom,

Tom schrieb:

hi,

habe wieder mal ne kleine Aufgabe zu realisieren...

Dabei sind aber diverse Parameter für die Tabellen leider alles
andere als linear.

Aufgabe:

Es sollen täglich stündliche Produktionsprognosen automatisiert werden.

Es sind mehrere Staubecken vorhanden, welche:

Niveau / Volumen
rein linear (Kubische Reservoir)
exponentiell (konischer Behälter)
unregelmässig (Natursee)

Dazu wird eine Tabelle benutzt, welche die Eckdaten der Becken
beinhaltet.
Ort, Becken, Max. Volumen, Max. Niveau, und eine Unter-Wertetabelle:
Niveau / Volumen

Eine zweite Tabelle gibt Auskunft über die Eckdaten der Maschinengruppen
Ort, Becken, l/s zu kW, Max. l/s (auch hier ist das Ganze nicht
linear, da der Wirkungsgrad einfliessen muss)

Mein Hauptproblem nun ist: wie kann ich die Zwischenwerte aus den
Tabellen abrufen, sonst muss ich Tabellen erzeugen, die vom Dachstock
bis zum Keller reichen:

zB in Tab 1 findet sich die Werte
1.00m / 36000m³
1.25m / 40000m³

das aktuelle Niveau ist 1.175m = ?

... aber Du hast keine Idee für einen funktionalen Zusammenhang ?
Wie soll das dann auch nur annäherungsweise operationalisierbar sein ???

Der erste Schritt wäre doch, den technischen Zusammenhang funktional zu
modellieren, bevor die Datenbank überhaupt etwas rechnen kann.

Die abzuleitenden Funktionen sind mir sehr klar, arbeite ja damit schon seit 12Jahren. Nur haben wir das bisher immer händisch für eine Woche gemacht, was sehr viel Zeit in Anspruch nimmt und Fehlerbehaftet ist.

Durch die neue Struktur im Energiehandel (freier Markt) müssen wir jetzt aber täglich Produktionsprognosen weitergeben was unsere bisherigen Möglich einfach überfordert.

Zunächst eher eine Frage für Geologen, nicht für
Datenbank-Spezialisten ...

Die Geologie der natürlichen Becken sind sehr genau bekannt und wurden erst vor drei Jahren erneut aufgenommen. Hier liegt das Problem sicherlich nicht...

Marino

Hi Marino,

falls ich richtig ahne, dass dein Vorname - und wir reden uns hier ja höflich mit Vorname an - Marino ist, dann ist die richtige Namensschreibweise:
Marino Salvalaggio oder
Salvalaggio, Marino.
Damit mal kleine Missverständnisse geklärt wären.

Mein Problem liegt vielmehr in der Tatsache, dass ich nicht für
jeden mm einen Tabelleneintrag habe, (normalerweise begnügt man sich
damit, nur jede neu Abweichung abzulegen) da bei 10m das ja schon
10'000 Tabellenzeilen wären!

ich persönlich checke dein Problem überhaupt nicht.
Auf dieser Liste sind LO-Anwender "zu Hause", die sich mit dem Programm auskennen.
Erwarte keine Mathematiker, keine Geologen und keine Wahrsager, obwohl natürlich welche darunter sein könnten :wink:

Du musst dein Problem für den Laien schildern.
Du kannst im SQL-Modus eine große Zahl Rechenoperationen ausführen und in deine Abfragen einbauen, das wäre der erste Ansatz.
Wenn du stündliche Werte hast, kannst du die als CSV-Datei auswerfen?
Ich mache z. B. meine Kontobewegungen mit Calc. Die Bankdaten werfe ich als CSV-Datei aus mit immer gleichem Dateinamen. Diese Datei ist in Calc als Verknüpfung eingefügt und ich kann in einem weiteren Tabellenblatt auf die Werte zugreifen.
Mal als Beispiel was möglich wäre, weil mir - wie gesagt - dein Problem einfach nicht klar ist.

habe mir überlegt, dass es vielleicht solche gibt, die wissen möchten was ich mit der Datenbank erreichen will.

Dazu einmal grundsätzlich:

Der Obersee.
Dieser wird von zwei Bergbächen gespeist, welche zur Winterzeit durch Fassungen in ein Zufluss -Leitung mit Durchflussmessung direkt in den See geleitet wird.

Das Seewasser wird zu der Turbine MG1 im Zwischenwerk geleitet.
Maximale Abflussmenge 900l/s = 3240m³/h

Um zur Winterzeit, wo der Zufluss bis <75l/s abnehmen kann, muss eine durchgängige Bewirtschaftung erfolgen. Als Faustregel wollen 30mm/Tag Absenkung als Ziel erreicht werden.
Das bedeutet, dass:
aktuelles Volumen - Zielvolumen + Zufluss(l/s*3.6*24)-natürlicher Verlust(je nach Pegel 25..250l/s) = der Tagesnutzen in m³.

Am Wochenende wird eine Aufstauung von ca. 50..70mm gewünscht.
(mehr darf nicht angehoben werden, da sonst das Wasser auf die Eisfläche dringt und die Eisdecke dadurch weiter aufgebaut würde...)

Das Stauwerk Stutz
Dieser wird von einem Bergbach gespeist. Der Zufluss variiert von 25..>500l/s. Das Stauvolumen von Max. 6650m³ wird zu der Turbine MG2 im Zwischenwerk geleitet.
Maximale Abflussmenge 385l/s = 1386m³/h

Bei Niedrigwasser wird diese Anlage nur 12Std/Tag betrieben bez. aufgestaut.

Ausgleichsbecken.
Die Abflüsse der beiden Anlagen sowie ein Quell- und ein Bach-Zufluss
werden zugeleitet. Das Stauvolumen beträgt max. 3990m³ und wird zwei Turbinen MG3 + MG4 im Tal zugeleitet.
Maximale Abflussmenge 1450l/s = 5220m³/h

Da der Energiebedarf im Netz sehr unterschiedlich ist, müssen die Anlagen nach einem definierten Programm Produzieren. Dadurch erfolgt insbesondere im Ausgleichsbecken ein mehrmaliges Absenken und Aufstauen.

Dieses Programm festzulegen ist Aufgabe des Operateurs und die Prognose wird durch einen Beauftragten dem Handel weitergeleitet.

Um dieses Programm stimmig zum Wasserhaushalt umsetzen zu können benötigen wir die Eckdaten der zur Verfügung stehenden Wassermengen.

Dazu bin ich dabei eine Datenbank zu erstellen, welche die notwendigen Eckdaten liefert.

Wer noch mehr Details wissen möchte darf mich auch kontaktieren

Gruss Marino

Edgar Kuchelmeister schrieb:

Hi Marino,

falls ich richtig ahne, dass dein Vorname - und wir reden uns hier ja
höflich mit Vorname an - Marino ist, dann ist die richtige
Namensschreibweise:
Marino Salvalaggio oder
Salvalaggio, Marino.
Damit mal kleine Missverständnisse geklärt wären.

Du hast erfasst!
Ich stell ja in der Regel meinen Vornamen ans Ende der Mail..

Mein Problem liegt vielmehr in der Tatsache, dass ich nicht für
jeden mm einen Tabelleneintrag habe, (normalerweise begnügt man sich
damit, nur jede neu Abweichung abzulegen) da bei 10m das ja schon
10'000 Tabellenzeilen wären!

ich persönlich checke dein Problem überhaupt nicht.
Auf dieser Liste sind LO-Anwender "zu Hause", die sich mit dem Programm
auskennen.
Erwarte keine Mathematiker, keine Geologen und keine Wahrsager, obwohl
natürlich welche darunter sein könnten :wink:

Solche suche ich ja auch nicht. Ich bin mir nur nicht im klaren, wie ich eine Abfrage bilden kann, welche als Grundlage Eckdaten aus nichtlinearen Parametern hat und somit nicht auf explizite Niveaus beruht. Wenn ich zu jedem Niveau-mm einen Eintrag habe, kann ich ja den entsprechenden Umrechnungsfaktor finden. Nur wird dann die Tabelle endlos lange.
Wenn ich aber:
von 10...25 gilt 0.771
von 25...30 gilt 0.773
von 30...44 gilt 0.776 u.s.w.

habe, wie frage ich dann ab?

Gruss Marino

die beiden Werte gesuchten Werte bekommst Du mit folgenden Abfragen:

Volumen1 = V1, Niveau1 = N1 aus:

SELECT V.* FROM
  (select max(N.Niveau) as N_temp from Tab1 where Niveau <= 1.175) as N
  join
  (select Niveau as N1, Volumen as V1 from Tab1) as V
on
  (N.N_temp=V.N1)

... [Ergibt V1=36000, N1 = 1.00]

Volumen2 = V2, Niveau2 = N2 aus:

SELECT V.* FROM
  (select min(N.Niveau) as N_temp from Tab1 where Niveau >= 1.175) as N
  join
  (select Niveau as N2, Volumen as V2 from Tab1) as V
on
  (N.N_temp=V.N2)

... [Ergibt V2=40000, N2 = 1.25]

Anteil = (Niveau_Aktuell - N1)/ (N2-N1)
Volumen_aktuell = V1 + ( Anteil*(V2-V1) )

... ohne Makros wird das aber nicht abgehen.

lg

hi LuFle

LuFle schrieb:

Dabei sind aber diverse Parameter für die Tabellen leider alles
andere als linear.

Aufgabe:

Mein Hauptproblem nun ist: wie kann ich die Zwischenwerte aus den
Tabellen abrufen, sonst muss ich Tabellen erzeugen, die vom Dachstock
bis zum Keller reichen:

zB in Tab 1 findet sich die Werte
1.00m / 36000m³
1.25m / 40000m³

das aktuelle Niveau ist 1.175m = ?

Wer hat da eine Idee, wie solches einfach zu bewerkstelligen ist?

die beiden Werte gesuchten Werte bekommst Du mit folgenden Abfragen:

Um die Funktion zu vereinfachen werde ich eine Tabelle nutzen, welche:
Niveau in m (0.000)
Volumen in m³ (0.0)
Proportion (0.00000)

das ergibt den Vorteil, dass ich sowohl vom Niveau als auch vom Volumen aus den Umrechnungsfaktor aufrufen kann.
Der Faktor muss hernach nur noch mit dem Niveau multipliziert bez.
als Quotiend des Volumens genutzt werden.
Die Eckdaten sind ja immer "ab" zu verstehen, also immer der identische oder nächst kleinere Wert ist gültig!

so müsste die Abfrage nur einen Wert liefern.

Wenn ich Deine Formel betrachte kann ich also den Teil 2 und die umrechnung so ganz weglassen.

Volumen1 = V1, Niveau1 = N1 aus:

SELECT V.* FROM
  (select max(N.Niveau) as N_temp from Tab1 where Niveau <= 1.175) as N
  join
  (select Niveau as N1, Volumen as V1 from Tab1) as V
on
  (N.N_temp=V.N1)

... [Ergibt V1=36000, N1 = 1.00]

Volumen2 = V2, Niveau2 = N2 aus:

SELECT V.* FROM
  (select min(N.Niveau) as N_temp from Tab1 where Niveau >= 1.175) as N
  join
  (select Niveau as N2, Volumen as V2 from Tab1) as V
on
  (N.N_temp=V.N2)

... [Ergibt V2=40000, N2 = 1.25]

Anteil = (Niveau_Aktuell - N1)/ (N2-N1)
Volumen_aktuell = V1 + ( Anteil*(V2-V1) )

... ohne Makros wird das aber nicht abgehen.

lg

Ja, das Weiterverarbeiten ist dann noch eine Sache für sich, die mir noch manchen Frust bescheren wird...

Marino

Hallo Marino,
ich könnte Dir eine Teillösung in 2 Schritten anbieten:

  - so wie ich es verstehe, habt ihr von den beiden Speicherbecken "reale" Wertepaare mit Füllhöhe und Volumen. Die könntest du mir schicken (auch außerhalb der Gruppe) und ich füttere damit ein (gutes) Mathematikprogramm, welches wir in der Firma benutzen, um hiermit eine Gleichung (mit hohen Korrelationsfaktor) zu erstellen...

  - wenn wir die haben, können wir (du) überlegen, ob es wirklich sinnvoll ist, für diese Berechnungen ein Datenbankprogramm zu benutzen. Sollte es dabei bleiben, kann vielleicht "Jemand" helfen, die Gleichung in Base umzusetzen... Dann sollte hoffentlich Vieles einfacher sein...

Nur so als Angebot...

Was dann noch bleibt, ist die Einrechnung von Zufluss und Abfluss, das ist zwar schwankend, aber linear...

Gruß
Karsten

Hallo,
ich gehe in Fällen wie hier, wo es um (voneinander abhängige) Zeitreihen geht (Speicherfüllung zum Zeitpunkt t bedingt Abfluss zum Zeitpunkt t, woraus sich dann wieder Speicherfüllung zum Zeitpunkt t+1 ergibt) immer auf Calc. Da kann man ohne große Zaubertricks die Werte des vorherigen Zeitschrittes abrufen. Datenbanken sind zwar oftmals solider als Tabellenkalkulation, aber nicht in diesem Fall

Ralf

Hall Freunde

eigentlich wollte ich diese Diskussion nicht erneut führen...
Ich bin zur Einsicht gelangt das das ein ziemlich hoffnungsloses Unterfangen ist.

Ich weiss sehr wohl, dass viele sich gar nicht im klaren sind, wie sich Datenbanken von Kalkulationstabellen unterscheiden.

Grundsätzlich gilt aber:

Alles was Datenhaltung fordert gehört in eine systematische Datenbank!
Alles was über Datenverknüpfungen aus unabhängigen Tabellen erreicht wird gehört in eine Datenbank.

Alles Andere ist Murx!

Ob die Grundlagenberechnungen an sich unter Kalkulationen ausgeführt werden ist einerlei. Diese werden dann einfach in die Datenbank eingebunden.

Wer z.B. eine Buchhaltung nur unter Calc bedient ist sich offensichtlich nicht bewusst, dass dadurch Manipulationen Tür und Tor geöffnet sind.
Als seriöse Geschäftsbuchhaltung ist eine solche Lösung schlicht ungeeignet!

Salvalaggio Marino schrieb:

hi,

habe wieder mal ne kleine Aufgabe zu realisieren...

Dabei sind aber diverse Parameter für die Tabellen leider alles
andere als linear.

Aufgabe:

Es sollen täglich stündliche Produktionsprognosen automatisiert werden.

Wer da mit gelesen hat, sollte eigentlich verstanden haben, dass die Aufgabe für eine Datenbank prädestiniert ist!

Warum so viele immer wieder das ganze in Calc realisiert sehen wollen, kann ich nun wirklich nicht nachvollziehen.

1. sind die Tabellen über Füllmengen und Wirkungsgrade schon längst vorhanden und wollen nicht neu berechnet werden. Nur sind diese heute nur mit Eckdaten vorliegend, die für die händische Auswertung ausreichten.

2. die Verknüpfungen der einzelnen Tabellen entstehen durch reine lineare Abfragen. Die Werte als solche dürfen nie angetastet werden, da die Stauwerke und die Generatoren sich ja nicht verändern...

Mein Problem war ja, aus abweichenden Vorgaben(die nicht direkt zu den Tabelleneinträgen passen)den richtigen Datensatz zu finden. "LuFle" hat das auch richtig erkannt und mir den Lösungsweg aufgezeigt.

Gruss Marino

Hallo Marino,

Ich weiss sehr wohl, dass viele sich gar nicht im klaren sind, wie
sich Datenbanken von Kalkulationstabellen unterscheiden.

Ich hatte es dir schon mal geschrieben:
Wenn du deine Probleme nicht konkretisierst kannst du nicht erwarten Lösungen zu bekommen.
Dein Userbashing in diesem Post halte ich für IMHO unverschämt.
Eine ganze Reihe Leute versuchen dir zu helfen und deine Aussage ist, die kennen den Unterschied zwischen einer Datenbank und einer Tabellenkalkulation nicht.

Datenbanken sammeln Daten und halten diese vor, richtig!
Datenbanken selektieren und geben Datenauszüge wieder, richtig!
Aber Datenbanken sind nicht dafür gedacht komplizierte Berechnungen auszuwerfen!

Du hast dein Problem aber genauso dargestellt, bzw. ich und andere haben es so verstanden.
Also wäre ein korrekter Lösungsweg Datenauszüge erstellen und diese in einer Tabellenkalkulation rechnerisch aufbereiten, basta!

Wenn dein Problem sich so nicht darstellt, dann packe dich an der eigenen Nase und nicht diejenigen, die sich hier um deine Probleme bemüht haben!

Also Edgar,

ganz so dreist wie Du mein Posting interpretierst war es sicherlich nicht gemeint. Ich will niemandem etwas am Zeug flicken. Jeder muss selber entscheiden, wie er seine Aufgaben lösen will.

Die Anderen aber sollten auch respektieren, dass ein user durchaus Gründe hat eine anderen Weg, als den von mir bevorzugten(als einzig Richtigen) anzuwenden.

Edgar Kuchelmeister schrieb:

Hallo Marino,

Ich weiss sehr wohl, dass viele sich gar nicht im klaren sind, wie
sich Datenbanken von Kalkulationstabellen unterscheiden.

Ich hatte es dir schon mal geschrieben:
Wenn du deine Probleme nicht konkretisierst kannst du nicht erwarten
Lösungen zu bekommen.
Dein Userbashing in diesem Post halte ich für IMHO unverschämt.
Eine ganze Reihe Leute versuchen dir zu helfen -

ich habe auch jedem anständig geantwortet und darauf verwiesen um was es mir bei der Frage geht.

und deine Aussage ist,
die kennen den Unterschied zwischen einer Datenbank und einer
Tabellenkalkulation nicht.

Datenbanken sammeln Daten und halten diese vor, richtig!
Datenbanken selektieren und geben Datenauszüge wieder, richtig!
Aber Datenbanken sind nicht dafür gedacht komplizierte Berechnungen
auszuwerfen!

Wer spricht den hier von komplizierten Berechnungen?...

Von Geologie und weiss der Geier was noch alle haben andere gesprochen. Das diese Dinge eine Relevanz haben weiss ich selber - war aber bei meine Anfrage nie das Thema!

>> Mein Hauptproblem nun ist: wie kann ich die Zwischenwerte aus den
>> Tabellen abrufen, sonst muss ich Tabellen erzeugen, die vom
>> Dachstock bis zum Keller reichen:
>>
>> zB in Tab 1 findet sich die Werte
>> 1.00m / 36000m³
>> 1.25m / 40000m³

>> das aktuelle Niveau ist 1.175m = ?

Das war meine Anfrage! Nachdem ich gemerkt hatte, dass nicht erkannt wurde was ich genau meinte, habe ich folgendes nachgeschoben.

>> Wenn man davon ausgeht, dass die Proportion mehr oder weniger einer
>> Kurve folgt ist daher die Folgerung
>> nach obigem Beispiel:
>>
>> 36000/1.00 = 36m³
>> 40000/1.25 = 32m³
>> (36 + 32)/2 = 34m³ > 1175 * 34 = 39950m³
>> ja annähernd genug...

also alles andere als komplizierte Mathematik

und

>> Ich bin mir nur nicht im klaren, wie ich eine Abfrage bilden kann, >> welche als Grundlage Eckdaten aus nichtlinearen Parametern hat und >> somit nicht auf explizite Niveaus beruht. Wenn ich zu jedem
>> Niveau-mm einen Eintrag habe, kann ich ja den entsprechenden
>> Umrechnungsfaktor finden. Nur wird dann die Tabelle endlos lange.
>> Wenn ich aber:
>> von 10...25 gilt 0.771
>> von 25...30 gilt 0.773
>> von 30...44 gilt 0.776 u.s.w.
>>
>> habe, wie frage ich dann ab?

Wenn das nicht konkret genug war, tut es mir leid...

Du hast dein Problem aber genauso dargestellt, bzw. ich und andere haben
es so verstanden.
Also wäre ein korrekter Lösungsweg Datenauszüge erstellen und diese in
einer Tabellenkalkulation rechnerisch aufbereiten, basta!

Sagst Du solches auch einem der eine Lohnbuchhaltung entwerfen will?

Dann hast Du aber bestimmt schon davon gehört, dass keine kommerzielle Buchhaltung auf Tabellenkalkulation beruht, sondern immer auf Datenbanken ausgeführt wird!

Rest gelöscht

Marino

Hallo Marino,

mein letztes Statement hierzu:

Also Edgar,

ganz so dreist wie Du mein Posting interpretierst war es sicherlich
nicht gemeint.

Immerhin meintest du die Leute schulmeistern zu müssen, die versucht sich mit deinem Problem auseinander gesetzt haben.

von 10...25 gilt 0.771
von 25...30 gilt 0.773
von 30...44 gilt 0.776 u.s.w.

habe, wie frage ich dann ab?

Wenn das nicht konkret genug war, tut es mir leid...

Und du hast hierfür auch konkrete Hinweise bekommen, wie so eine Abfrage aussehen kann.
Das Stichwort heißt SQL-Befehle.

Sagst Du solches auch einem der eine Lohnbuchhaltung entwerfen will?

Was soll jetzt diese Frage?
Total am Thema vorbei 6, setzen!

Wenn man vom Thema keine Ahnung hat sollte man nicht darüber reden.
Wird mit LibreOffice eine Lohnbuchhaltung gemacht?
Wir haben hier ein WWS welches natürlich auf einer SQL-Datenbank aufsetzt, aber auf einer richtigen.
Die GUI wird natürlich mit C oder einer anderen Sprache programmiert, die dann per SQL auf die Datenbank zugreift. Das ist ein professionelles System.

Dann hast Du aber bestimmt schon davon gehört, dass keine
kommerzielle Buchhaltung auf Tabellenkalkulation beruht, sondern
immer auf Datenbanken ausgeführt wird!

Echt, du hast Nerven, blubberst mich hier mit dem Quatsch voll. Hab ich jemals irgendetwas in der Richtung behauptet.
BTW gibt es Lösungen für Selbstständige die E/A-Überschussrechnung zur Verfügung stellt mit LO oder OOo. Aber für das Finanzamt zählen nur Ausdrucke. Sobald du eine Finanzbuchhaltung einsetzt, welche Daten direkt für das Finanzamt bereitstellt, muss dieses zugelassen sein.

Ich bediene Computer und Programme schon sein 30 Jahren bei mir brauchst du nicht Klugscheißern.
Ich werde dich auch zukünftig mit Antworten nicht mehr belästigen. *PLONK* und ab ins Killfile

Hallo Salvalaggio,

Mein Problem liegt vielmehr in der Tatsache, dass ich nicht für
jeden mm einen Tabelleneintrag habe, (normalerweise begnügt man sich
damit, nur jede neu Abweichung abzulegen) da bei 10m das ja schon
10'000 Tabellenzeilen wären!

Du hast also mit den beiden angezeigten Werten nur zwei der vielen Werte
genannt?
Ich bin davon ausgegangen, dass das die beiden Werte sind, die letzlich
in der Datenbanktabelle stehen sollen.
Dann müsstest Du natürlich entsprechende Wertepaare für jeden See in
einer separaten Tabelle aufbewahren und danach die jeweiligen möglichen
Werte, die mäglichst nahe an Deinem Iststand liegen, ermitteln.

Beispiel
See Tiefe[m] Volumen[m³]
1 1 36000
1 1,25 40000
1 1,5 45000
1 1,7 50000

So ähnlich sehen Deine Tabellen aus?

Für eine Berechnung (die ich nach Deinen Ausführungen leider nicht
verstehe) musst Du jetzt also erst die Wertepaare ermitteln.

Wenn Das das Problem sein sollte, dann melde Dich noch einmal.

Wenn man davon ausgeht, dass die Proportion mehr oder weniger einer
Kurve folgt ist daher die Folgerung
nach obigem Beispiel:

36000/1.00 = 36m³
40000/1.25 = 32m³
(36 + 32)/2 = 34m³ > 1175 * 34 = 39950m³
ja annähernd genug...

.. und erkläre vielleicht noch, wie Du bei 36000m³/1,00m zu 36m³ kommst
- oder rechnest Du stattdessen m³ pro mm Seeanstieg?

Gruß

Robert

Ich lege noch etwas nach:
Ich habe jetzt so ein Beispiel zusammengestellt. Basiert auf einer
Tabelle, in der neben dem Primärschlüssel für alle Seen eine Nummer
existiert und verschiedene Wertepaare mit der Füllhöhe und dem Volumen.
In dem Beispiel wird dann ermittelt, welches Wertepaar die Untergrenze
und welches die Obergrenze ist. Diese Grenzen kannst Du dann für
Rechnungen nutzen. Du musst beim Öffnen der Abfrage lediglich angeben,
für welche Füllhöhe die Abfrage durchgeführt werden soll. Das kann
natürlich auch durch Eingaben in ein Formular erfolgen:

SELECT DISTINCT "Tabelle"."SeeID",
"Untergrenze"."Tiefe_Untergrenze",
"Untergrenze"."Volumen_Untergrenze",
"Obergrenze"."Tiefe_Obergrenze",
"Obergrenze"."Volumen_Obergrenze"
FROM
"Tabelle",
(SELECT "SeeID", MAX( "Tiefe" ) AS "Tiefe_Untergrenze", MAX( "Volumen" )
AS "Volumen_Untergrenze" FROM "Tabelle" WHERE "Tiefe" <= :Tiefe GROUP BY
"SeeID") AS "Untergrenze",
(SELECT "SeeID", MIN( "Tiefe" ) AS "Tiefe_Obergrenze", MIN( "Volumen" )
AS "Volumen_Obergrenze" FROM "Tabelle" WHERE "Tiefe" >= :Tiefe GROUP BY
"SeeID") AS "Obergrenze"
WHERE "Tabelle"."SeeID" = "Untergrenze"."SeeID" AND "Tabelle"."SeeID" =
"Obergrenze"."SeeID"

Das Beispiel liegt hier:
http://robert.familiegrosskopf.de/lo_hb/Min_Max.odb

Gruß

Robert

Hallo Robert,

vielen Dank für Deine Bemühungen.

ich werde Dir mal meine Tabellen übermitteln, damit Du siehst wie das zu verstehen ist.

Robert Großkopf schrieb:
  Das kann

natürlich auch durch Eingaben in ein Formular erfolgen:

SELECT DISTINCT "Tabelle"."SeeID",
"Untergrenze"."Tiefe_Untergrenze",
"Untergrenze"."Volumen_Untergrenze",
"Obergrenze"."Tiefe_Obergrenze",
"Obergrenze"."Volumen_Obergrenze"
FROM
"Tabelle",
(SELECT "SeeID", MAX( "Tiefe" ) AS "Tiefe_Untergrenze", MAX( "Volumen" )
AS "Volumen_Untergrenze" FROM "Tabelle" WHERE "Tiefe" <= :Tiefe GROUP BY
"SeeID") AS "Untergrenze",
(SELECT "SeeID", MIN( "Tiefe" ) AS "Tiefe_Obergrenze", MIN( "Volumen" )
AS "Volumen_Obergrenze" FROM "Tabelle" WHERE "Tiefe" >= :Tiefe GROUP BY
"SeeID") AS "Obergrenze"
WHERE "Tabelle"."SeeID" = "Untergrenze"."SeeID" AND "Tabelle"."SeeID" =
"Obergrenze"."SeeID"

Das Beispiel liegt hier:
http://robert.familiegrosskopf.de/lo_hb/Min_Max.odb

Gruß

Robert

Gruss Marino