Finally I create some data sets to get the desired result in just one row:
Basically it was
q_A = load "datos";
q_A1 = filter q_A by date('Fecha__c_Year', 'Fecha__c_Month', 'Fecha__c_Day') in ["current month - 3 month".."current month - 3 month"];
result1 = group q_A1 by ('Field1');
result1 = foreach result1 generate q_A1.'Field1' as 'Field1', coalesce(sum(q_A1.'Amount'),0) as 'Amount1';
result1 = order result1 by 'Field1' asc;
result1 = limit result1 2000;
q_A2 = filter q_A by date('Fecha__c_Year', 'Fecha__c_Month', 'Fecha__c_Day') in ["current month - 2 month".."current month - 2 month"];
result2 = group q_A2 by ('Field1');
result2 = foreach result2 generate q_A2.'Field1' as 'Field1', coalesce(sum(q_A2.'Amount'),0) as 'Amount2';
result2 = order result2 by 'Field1' asc;
result2 = limit result2 2000;
q_A3 = filter q_A by date('Fecha__c_Year', 'Fecha__c_Month', 'Fecha__c_Day') in ["current month - 1 month".."current month - 1 month"];
result3 = group q_A3 by ('Field1');
result3 = foreach result1 generate q_A3.'Field1' as 'Field1', coalesce(sum(q_A3.'Amount'),0) as 'Amount3';
result3 = order result3 by 'Field1' asc;
result3 = limit result3 2000;
Then I make a union
result = union result1, result2, result3;
result = group result by ('Field1');
result = foreach result1 generate result.'Field1' as 'Field1',
coalesce(sum(result.'Amount1'),0) as 'Amount1',
coalesce(sum(result.'Amount2'),0) as 'Amount2',
coalesce(sum(result.'Amount3'),0) as 'Amount3',
coalesce(sum(result.'Amount1')+ sum(result.'Amount2')+
sum(result.'Amount3'),0) / 3 as 'AVG';
result = order result3 by 'Field1' asc;
result = limit result3 2000;