Calcolo percentuale con query o altra funzione.

Anonimo
2022-06-15T07:22:16+00:00

Buon giorno a tutti.

Chiedo il vostro aiuto poichè non so come fare.

Ho un elenco 65000 dipendenti che risiedono in comuni diversi e alcuni di essi sono pendolari.

La tabella chiamata tblAnagrafica ha i seguenti campi:

ID_Anagrafica: contatore

Matricola : testo

Cognome: testo

Nome: testo

la tabella tblResidenza contiene i seguenti campi:

ID_Residenza:contatore

ID_Anagrafica:numerico

Indirizzo: testo

città: testo:

provincia: testo ( lunghezza campo 2; es BA;LE e così via)

Sono in relazione tra loro tramite il campo ID_Anagarafica.

Il mio datore di lavoro mi ha chiesto di conoscere questi dati:

1)la percentuale dei dipendenti che risiedono nelle varie province d'Italia;

2)la percentuale di dipendenti divisi per città di residenza e altri dati semper in forma percentuale.

Mi aiutate a capire come iniziare a tirare fuori questi dati in forma percentuale.

Ringrazio in anticipo chi mi aiuta in questo.

Ciao, Nicola.

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
domenico laurenza 9,900 Punti di reputazione Moderatore volontario
2022-06-16T13:19:28+00:00

Riassumendo, la prima query qry_001_NumDipTotali calcola il numero di dipendenti totali

SELECT Count( * ) AS NumDip

FROM TblAnagrafica

WHERE (((TblAnagrafica.In_Forza)=True));

Qundi la query qry_003_NumDipComuneBari, che ti ho postata i precedenza,

SELECT Left([Citta],4) AS CittaBari, Count(TblResidenza.ID_Anagrafica) AS NumDipBari

FROM TblAnagrafica INNER JOIN TblResidenza ON TblAnagrafica.ID_Anagrafica = TblResidenza.ID_Anagrafica

WHERE (((TblAnagrafica.In_Forza)=True))

GROUP BY Left([Citta],4)

HAVING (((Left([Citta],4))="Bari"))

ORDER BY Left([Citta],4);

La successiva query per il calcolo della percentuale per il Comune di Bari è la seguente qry_004_PercDipComuneBari

SELECT qry_003_NumDipComuneBari.CittaBari, [NumDipBari]/[NumDip] AS Perc

FROM qry_003_NumDipComuneBari, qry_001_NumDipTotali;

In una form o in una report puoi impostare come origine dati del controllo

=DLookUp("Perc";"qry_004_PercDipComuneBari")

quindi per il formato del controllo imposta Percentuale e con decimali 2 o se preferisci 0.

Mimmo

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

13 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2022-06-15T13:21:49+00:00

    Ciao Mimmo, sto seguendo i tuoi consigli e sono riuscito fare questo:

    Contare i record di tutti i dipendenti in forza con questa query:

    SELECT COUNT( * )

    FROM TblAnagrafica

    HAVING (((TblAnagrafica.In_Forza)=True));

    Con quest'altra ottengo i dipendenti che vivono in città diverse da Bari;

    SELECT TblAnagrafica.Matricola, TblAnagrafica.Grado, TblAnagrafica.Cognome, TblAnagrafica.Nome, Count(*) AS Espr1, TblAnagrafica.In_Forza, TblArrivo_Partenza.Gruppo_Assegnazione, TblArrivo_Partenza.Articolazione_Assegnazione, TblResidenza.Cap, TblResidenza.Provincia, TblResidenza.Cap

    FROM (TblAnagrafica INNER JOIN TblArrivo_Partenza ON TblAnagrafica.ID_Anagrafica = TblArrivo_Partenza.ID_Anagrafica) INNER JOIN TblResidenza ON TblAnagrafica.ID_Anagrafica = TblResidenza.ID_Anagrafica

    GROUP BY TblAnagrafica.Matricola, TblAnagrafica.Grado, TblAnagrafica.Cognome, TblAnagrafica.Nome, TblAnagrafica.In_Forza, TblArrivo_Partenza.Gruppo_Assegnazione, TblArrivo_Partenza.Articolazione_Assegnazione, TblResidenza.Provincia, TblResidenza.Cap, TblResidenza.Cap

    HAVING (((TblAnagrafica.In_Forza)=True) AND ((TblResidenza.Provincia)<>"BA"));

    Ho capito come ottenere i dipendenti di altre città intervenendo su questo parametro:

    HAVING (((TblAnagrafica.In_Forza)=True) AND ((TblResidenza.Provincia)<>"BA"));

    Mimmo, non so come integrare il tutto ed ottenere le percentuali.

    Mi aiuti in questo per favore.

    Ciao, Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2022-06-15T11:22:27+00:00

    Proviamo con una prima quey che conta il totale dei dipendenti.

    Con una query raggruppa per provincia contando i recods e dividendo il risultato per il totale della prima query.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2022-06-15T10:13:56+00:00

    Ciao Mimmo, buon giorno grazie infinite come sempre per il tuo gentile riscontro.

    Vorrei ottenere le percentuali con una query ( oppure più query ) per poi creare un report su di esse.

    E' possibile farlo?

    Ciao, Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2022-06-15T08:23:41+00:00

    Ciao Nico,

    puoi ottenere la percentuale con il rapporto tra numero dip. di una provincia e num. Totale dei dipendenti.

    Ora bisogna capire se vuoi ottenere un valore alla volta, cioè data la provincia calcola la percentuale quindi una funzione oppure vuoi ottenere una tabella di tutte le province quindi una query.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento