Thank you for these ideas.
The data are pushed in the report as a dataset, and there are a lot of clients (not only one as showned in my sample). There is only one table in CR (the differents tables of the database are joined in the database, before the data are pushed in the report) and there are about 30 fields to summarize as described.
So, the report is more complex.
I am not sure that the crosstab does the right summarize.
At level Group2, the summary is Maximum(Price, Invoice), but
At level Group1, the summary is Sum(Maximum(Price, Invoice), Client)
Please, what do you mean by "create a SQL expression" ? Is it : create a new table in the CR report, joined with the main first table (named A in your sample) ?