anonymous Log in
Search
Recents:
v3.0
testandmonitoring
BUSCAR VALOR MAXIMO Y MINIMO
05/29/07 05:21 PM

Danyela Vargas Villa

Replies:  2


Estimados, hay alguna forma en Genexus (aparte del order (atributo) y order atributo y aparte, ademas, de formulas) para sacar el valor maximo y minimo de un grupo de datos????

Espero que haya otra forma ya que mi performance baja cuando aplico esta condicion en un for each

Atte.:


Danyela Paola Vargas Villaseca
Analista de Sistemas
Departamento de Informática
BanchileVida Seguros de Vida S.A.
' 56 (02 )7573895
+ dvargas@banchilevida.cl

CONFIDENCIALIDAD: La información contenida en este mensaje y/o en los archivos adjuntos es de carácter confidencial o privilegiada y está destinada al uso exclusivo del emisor y/o de la persona o entidad a quien va dirigida. Si usted no es el destinatario, cualquier almacenamiento, divulgación, distribución o copia de esta información está estrictamente prohibido y sancionado por la ley. Si recibió este mensaje por error, por favor infórmenos inmediatamente respondiendo este mismo mensaje y borre éste y todos los archivos adjuntos. Gracias.
CONFIDENTIAL NOTE: The information transmitted in this message and/or attachments is confidential and/or privileged and is intented only for use of the person or entity to whom it is addressed. If you are not the intended recipient, any retention,dissemination, distribution or copy of this information is strictly prohibited and sanctioned by law. If you received this messagge in error, please reply us this same message and delete this message and all attachments. Thank you.
Replies

Fernando

05/29/07 10:33 PM

Fijate si esto te sirve: son las fomulas MAX y MIN
http://www.gxtechnical.com/gxdlsp/pub/home.htm?genexus 8.0 help system/formulas/aggregate select formulas.htm
Max Aggregate/Select Formula Scope
*Objects:* Procedures, Reports, Transactions, Web Panels, Work Panels
*Languages:* .NET, C/SQL, Cobol, Java, RPG, Visual Basic, Visual FoxPro
*Interfaces:* Web, Win
Purpose
Selects the maximum value of any attribute of the model that matches a
condition
Syntax
*Max(**Att*, *Cond*, *Def*, *Ret**)*
* **Type Returned:*
Same as argument attribute
*Where:*
*Att*
Attribute to be maximized
* *
*Cond*
Condition to be evaluated
* **Def*
Default value to be returned when the search is unsuccessful
* **Ret*
Attribute to be returned when the maximum value is found.
Description
The maximum value of the attribute, Att, will be selected from the set of
records that match the condition, Cond. If no condition is specified, all
records will be processed.
If no *Ret* attribute is specified Att will be returned.
If no *Def* value is specified, a null value of the same type of the return
attribute *Ret* will be returned.
Example
In a given Invoice system, product prices are set by quantity. Let us see
how to do this.
*Transactions:*
* *
Products Invoices
PrdNbr* InvNbr*
PrdDsc InvDte
(OrdQty* CliId
PrdPrice) CliNam
(PrdNbr*
InvQty
InvPrdPrice)
In this case product price depends on the quantity sold (given by InvQty).
Then the price must be selected from one of the PrdPrice attribute values,
taking into account that OrdQty must be the maximum value that matches the
condition:
OrdQty <= InvQty
InvPrdPrice must be defined as follows:
InvPrdPrice = MAX(OrdQty, OrdQty<=InvQty, 0, PrdPrice)
This function means: Find the maximum value of OrdQty that is less than or
equal to InvQty, and for this OrdQty, return the value of its corresponding
PrdPrice (the price is a function of the amount purchased).
El día 29/05/07, Danyela Vargas <dvargas@banchilevida.cl>

Ing. Pablo Barrios

05/30/07 09:22 AM

Danyela:
La solucion mas sencilla que encontre basandome en el viejo BubbleSort fue
la siguiente:
Hacer un for each por la clave primaria y realizar las comparaciones por
cada registro, ya que de esta manera no tenes que crear nuevos indices, que
en el caso de importes por ejemplo, el mantenimiento seria una importante de
la performance.
Este es el ejemplo:
&Maximo = 0
For Each where [Key Attr] = [Var]
&Maximo = iif( [Attr a Comparar] > &Maximo , [Attr a Comparar] ,
&Maximo)
EndFor
Espero te sirva.
Saludos
On 5/29/07, Danyela Vargas <dvargas@banchilevida.cl>


Back to testandmonitoring