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
- Re: [de-users] Lösung zu Basetabellen gesucht (continued)
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.