Mifido ha scritto:
Pensavo fosse più semplice.
Prima di ricorrere alle query, avevo usato le funzioni di calcolo disponibili nelle impostazioni dei report, ma senza ottenere molta soddisfazione.
Leggendo un po' in giro (compresa la guida in linea) e guardando alcuni video tutorial, mi pareva che la scelta corretta fosse proprio il ricorso alle query.
Crea una query vuota, passa direttamente in visualizzazione SQL e incolla questo
SELECT query1.tuttiutenti As Tutti, nz(query2.contautenti, "0") As NrUtenti, (nz(query2.contautenti, "0") / tuttiutenti)*100 As PercUtenti, query2.aussl As NrAUSSL
FROM
(select count(Utente.AUSSL) As TuttiUtenti from Utente WHERE [Data comunicazione avvio procedimento] Between #9/13/2013# And #9/15/2014#) AS query1,
AUSSL LEFT JOIN (select Utente.AUSSL, COUNT(utente.[Cognome e nome]) AS contautenti from Utente WHERE [Data comunicazione avvio procedimento] Between #9/13/2013# And #9/15/2014# group by Utente.AUSSL) As query2 ON AUSSL.id = query2.AUSSL
Dovrei aver inserito il nome delle tabelle giuste, in base a quello che avevo visto nelle varie query che avevi pubblicato, altrimenti prova a correggere. Dimmi se il risultato che mostra è accettabile. Se invece dell'id dell'AUSSL vuoi la "descrizione" (che da quanto ho capito è in AUSSL.AUSSL), il primo pezzo di codice dovrebbe essere
SELECT query1.tuttiutenti As Tutti, nz(query2.contautenti, "0") As NrUtenti, (nz(query2.contautenti, "0") / tuttiutenti)*100 As PercUtenti, AUSSL.AUSSL As NomeAUSLL
FROM
(select...
Fammi sapere che son curioso. Se funziona poi ti spiego il ragionamento.