Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Werte aus DB auf 100% umrechnen? (https://www.delphipraxis.net/96076-werte-aus-db-auf-100-umrechnen.html)

divBy0 18. Jul 2007 13:11

Re: Werte aus DB auf 100% umrechnen?
 
Also, die Tabelle hat 10 Spalten und von jeder Spalte brauch' ich ein Maximum.

mkinzler 18. Jul 2007 13:16

Re: Werte aus DB auf 100% umrechnen?
 
das wäre dann eine Abfrage mit 10 Aggegats-Subselects. da müsste man schauen, wie das ganze performencetechnisch auswirkt.

marabu 18. Jul 2007 13:29

Re: Werte aus DB auf 100% umrechnen?
 
Hallo,

auch bei zehn Spalten sollte es funktionieren:

SQL-Code:
select
  druck * 100 / (select max(druck) from prozesswerte),
  durchfluss * 100 / (select max(durchfluss) from prozesswerte)
from prozesswerte
Freundliche Grüße

alex517 18. Jul 2007 14:22

Re: Werte aus DB auf 100% umrechnen?
 
Hi,

Zitat:

Zitat von marabu
Hallo,

auch bei zehn Spalten sollte es funktionieren:

SQL-Code:
select
  druck * 100 / (select max(druck) from prozesswerte),
  durchfluss * 100 / (select max(durchfluss) from prozesswerte)
from prozesswerte

Ich kenne MySQL nicht, aber in Firebird würde je Ergebnismengen-Datensatz jedes Subselect
einmal aufgerufen werden.
Wenn du z.B. in diesem Fall 10000 Datensätze zurückbekommst, so wird
10000 Mal (select max(druck) ..) und 10000 Mal (select max(durchfluss) ..) ausgeführt.
Ich würde auf jeden Fall die Performence überprüfen und ggf. die Abfrage über eine SP realisieren.
In der SP kann man als Erstes alle Max/Min-Werte über eine Abfrage holen, in Variablen speichern
und danach in der eigentlichen Abfrage verwenden.

alex

divBy0 18. Jul 2007 14:37

Re: Werte aus DB auf 100% umrechnen?
 
Danke euch allen!!

Mit der Methode vom Marabu :-D funktioniert es. Performance wird sich im Praxiseinsatz zeigen, noch sind zu wenige Daten in der Tabelle.

oldmax 19. Jul 2007 05:40

Re: Werte aus DB auf 100% umrechnen?
 
Hi
DivBy0 schrieb
Zitat:

Bei deinem Beispiel wäre der Anlaufstrom von 100A dann auch ein Wert von 100%, wenn der Motor dann mal seine Drehzahl erreicht hat und unter normalen Bedingungen läuft, liegt der Durchschnittswert von 35A ja auch bei 35% und so soll es ja letztendlich auch mal sein.
Sorry, ich wollte lediglich darauf hinweisen, das 100 % die Nennlast, der Nennstrom, die Nennleistung etc. ist. Werte, die drüber oder drunter liegen sind eben auch oberhalb oder unterhalb von den Nennangaben. Sich auf den höchsten Wert in einer Datenbank zu beziehen ohne die Nennangaben zu prüfen ist falsch, da es durchaus sein kann, dass der Wert nie die Nennangabe erreicht oder kurzzeitig weit überschritten wird. Also keine zuverlässige Aussage über die reale Auslastung. Im Beispiel des Motors wird dies deutlich, das sein Anlaufstrom bei 350 % vom Nennstrom sein kann. Wenn du diesen auf 100 % bewertest, wird jeder sagen, da ist ja noch mehr rauszuholen, der läuft ja noch nicht mal mit 30 % und schon hat du nach kurzer Zeit Schrott...
Wenn du einen Durchfluß mißt, ist am Geber die 100% festgelegt, sei es durch den el. Meßwert
(oft 0-20 mA), den max. Durchfluß oder was auch immer. Darauf kannst du dann deine Angaben bewerten. Dasselbe gilt für den Druck. Auch hier ist angegeben, welche Werte der Meßwert max. annehmen kann. Es ist daher auch möglich, wenn die Sensorik falsch bemessen ist, und der Wert permanent an dem max. Wert hängt, das du durchaus Werte erhalten würdest, die über 100 % liegen, wenn es die Signalhöhe zuließe..
Also Norm 0 bis 20 mA, Signal bei 25 mA wäre eine Überschreitung von 25 %. Allerdings wird die Sensorik nur 20 mA liefern und du liegst fest....

Gruß oldmax

divBy0 19. Jul 2007 22:25

Re: Werte aus DB auf 100% umrechnen?
 
Hi Oldmax,

das stimmt zwar alles, bei einem Nennwert von irgendwas Ampere oder was auch immer, ist aber das Bereichsende des Sensors noch nicht erreicht.
Die 100% Maximalwert entsprechen dann den 20mA, 0% entsprechen 4mA.

Dabei ist das ganz egal, ob es ein Druck, Strom, Spannung, Durchfluss oder ne Katze ist... spielt einfach keine Rolle 100% = 20mA.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:00 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz