Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


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

Am 23.01.2013 10:39, schrieb Salvalaggio Marino:
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



--
Informationen zum Abmelden: E-Mail an users+help@de.libreoffice.org
Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.