Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Construa uma classe com um método estático que retorne um map com os ids das contas (mães) das oportunidades (filhas) e também retorne as médias dos montantes(Amount) dessas oportunidades dessas contas, a partir da entrada de dois parâmetros para o métodos, sendo estes o range desejado dos valores dessas médias, ou seja, o primeiro parâmetro deverá ser o valor mínimo do range das médias e o segundo parâmetro deverá ser o valor máximo do rage das médias.
- Utilize a busca agregada, sumarizada pela média, utilizando operador lógico para o estabelecimento do range na query que será utilizada.
- No Anonymous, desejamos que sejam exibidos os nomes das contas e a média de cada uma, no system.debug(), com uma frase do tipo: A média dos amounts das oportunidades da conta XXXXX é de R$YYYY.
- */
- public with sharing class ClasseSumarizada {
- public static Map<Id, Decimal> retornaMediaRange(Decimal min, Decimal max){
- List<AggregateResult> listAggr = [SELECT AccountId, AVG(Amount) FROM Opportunity o GROUP BY
- AccountId HAVING AVG(Amount) >= :min AND AVG(Amount) <= :max];
- Map<Id, Decimal> mapa = new Map<Id, Decimal>();
- for(AggregateResult agr:listAggr){
- mapa.put((Id)agr.get('AccountId'), (Decimal)agr.get('expr0'));
- }
- return mapa;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement