Einzelnen Beitrag anzeigen

Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#8

Re: Eigene Datensätze zusammenstellen in Stored Function - W

  Alt 12. Aug 2009, 18:20
Was möchte ich eigentlich machen?

Die Datengrundlage wird in einer Ansicht zusammengestellt, und besteht aus einer Spalte Double-Werte. Die Werte sind zeitlich sortiert, der neueste Wert steht oben. Derzeit arbeiten alle Funkionen fest mit dieser Ansicht. (Die Datenquelle zu parametrisieren soll später noch kommen.)

Nun gibt es z.B. eine Funktion Standardabweichung(Idx Int, Cnt Int), welche die Standardabweichung für Cnt Werte ab dem (Idx+1)ten Wert berechnet.

In einer anderen Funktion brauche ich die Standardabweichungen von GrpCnt Gruppen mit je GrpSize Werten. D.h., die Werte in der Ansicht werden gedanklich zu Gruppen zusammengefasst, z.B. die 1. 5 Werte, dann die 2. 5 Werte, die 3. 5 Werte usw., oder die 1. 6 Werte, dann die 2. 6 Werte, die 3. 6 Werte uswusf...

Ich brauche also eine Funktion F(Idx Int, GrpCnt Int, GrpSize Int), die mir (u.a.) die Standardabweichungen für GrpCnt Gruppen mit je GrpSize Werten und mit der ersten Gruppe beginnend ab dem (Idx+1)ten Wert zusammenstellt.

Zur Verdeutlichung:
SQL-Code:
delimiter $$
drop function if exists F$$
create function F (Idx Int, GrpCnt Int, GrpSize Int) returns ???
begin
  declare Result ???;
  declare I Int;
  declare Stabw Double;

  -- Für jede Gruppe...
  set I = 0;
  while I < GrpCnt do
    set Stabw = Standardabweichung(Idx + I * GrpSize, GrpSize);
    -- Und wo nun die Standardabweichung zwischenspeichern?
    set I = I + 1;
  end while;

  return Result;
end$$
delimiter ;
Die Frage ist also: Wie kann ich ein "Array" zurückgeben? Und der Vollständigkeit halber: Wie kann ich die Datenquelle parametrisieren? Wie kann ich einer Funktion sagen, dass sie die Werte aus dieser oder jener Ansicht oder Tabelle nehmen soll?

Das ist es was ich machen will. Bin für jede Hilfe dankbar. Und, vielen Dank soweit.
"Es gibt keine schlimmere Lüge als die Wahrheit, die von denen, die sie hören, missverstanden wird."
  Mit Zitat antworten Zitat