IALweb Homepage
Forum Home Forum Home > MS Office > Microsoft Office > Microsoft Access
  New Posts New Posts RSS Feed - [RISOLTO] Calcolo ABC
  FAQ FAQ  Forum Search   Events   Register Register  Login Login


REGISTRATEVI su IALWeb forum!

[RISOLTO] Calcolo ABC

 Post Reply Post Reply Page  123 4>
Author
Message
nrenzell View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 02/Apr/2007
Location: Italy
Status: Offline
Points: 181
Post Options Post Options   Thanks (0) Thanks(0)   Quote nrenzell Quote  Post ReplyReply Direct Link To This Post Topic: [RISOLTO] Calcolo ABC
    Posted: 21/Ott/2011 at 12:21
Buongiorno a tutti.
Sono alla ricerca di un metodo per automatizzare il calcolo dell'ABC.
In pratica tramite query ottengo l'elenco dei vari articoli a stock, con la relativa giacenza ed il valore in percentuale della giacenza sul totale.

Esempio:
ARTICOLO  QTY   %SuTot
001.22        28       40,00%
001.54        12       17,14%
001.63        10       14,29%
001.75        10       14,29%
001.68          8       11,43%
001.24          2        2,85%

Per effettuare il calolo dell'ABC devo assegnare una delle 3 lettere (A,B o C) ad ogni articolo, in funzione della somma di %SuTot.
In pratica dovrei ottenere un 4° campo che somma %SuTot con quello della riga precedente ... da qui poi con un IIF stabilisco quale lettera assegnare ad ogni articolo.

Esempio di quello che vorrei:
ARTICOLO  QTY   %SuTot   Somma%
001.22        28       40,00%     40,00%
001.54        12       17,14%     57,14%
001.63        10       14,29%     71,43%
001.75        10       14,29%     85,72%
001.68          8       11,43%     97,15%
001.24          2        2,85%     100,00%

Ringrazio tutti in anticipo per il Vs. aiuto :)

Nicola


Edited by nrenzell
Back to Top
Sponsored Links


Back to Top
gregorio View Drop Down
Utente Onorario
Utente Onorario
Avatar
Utente Onorario

Joined: 28/Apr/2008
Location: Italy
Status: Offline
Points: 2243
Post Options Post Options   Thanks (0) Thanks(0)   Quote gregorio Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 12:38
Ciao,
scusa ma nell'esempio del risultato che vuoi ottenere manca la colonna con le lettere.
Infogreg
Back to Top
nrenzell View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 02/Apr/2007
Location: Italy
Status: Offline
Points: 181
Post Options Post Options   Thanks (0) Thanks(0)   Quote nrenzell Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 12:44
Hai ragione ...  l'ho omessa perchè è la parte + semplice da realizzare (tramite IIF), il mio problema è come ottenere il campo Somma%.

Comunque sarebbe +o- così:

ARTICOLO  QTY   %SuTot   Somma%   ABC
001.22        28       40,00%     40,00%     A
001.54        12       17,14%     57,14%     A
001.63        10       14,29%     71,43%     A
001.75        10       14,29%     85,72%     B
001.68          8       11,43%     97,15%    C
001.24          2        2,85%     100,00%   C

Grazie ancora
Nicola
Back to Top
65.franco View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 19/Apr/2009
Location: Italy
Status: Offline
Points: 4108
Post Options Post Options   Thanks (0) Thanks(0)   Quote 65.franco Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 13:06
Se vuoi fare tutto da query penso che puoi trovare la soluzione con la query a campi incrociati...  hai già provato ?

Ciaooo ...
Franco...
Back to Top
nrenzell View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 02/Apr/2007
Location: Italy
Status: Offline
Points: 181
Post Options Post Options   Thanks (0) Thanks(0)   Quote nrenzell Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 13:18
Ciao Franco,
scopro solo oggi le query a campi incrociati ... in pratica se ho ben capito sarebbe tipo la tabella Pivot, giusto?

Grazie
Nicola
Back to Top
Luciano View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 05/Giu/2010
Location: Italy
Status: Offline
Points: 2121
Post Options Post Options   Thanks (0) Thanks(0)   Quote Luciano Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 13:29

Comunque con quale criterio assegni le lettere?

Vero che vuoi ottenere la somma con il precedente, ma sembra che poi sia in funzione dell'assegnamento delle lettere.

Ciao

Dio è Amore e Pace
Catalogo funzioni
Back to Top
nrenzell View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 02/Apr/2007
Location: Italy
Status: Offline
Points: 181
Post Options Post Options   Thanks (0) Thanks(0)   Quote nrenzell Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 13:39
no, l'assegnamento dipende dalla somma
ma npn è quello il problema ... cmq il ragionamento per assegnare le lettere è +o- "se somma è compreso tra 0 e 85,00 = A, somma compresa tra 85,01 e 95,00 = B, ecc..."
Back to Top
Luciano View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 05/Giu/2010
Location: Italy
Status: Offline
Points: 2121
Post Options Post Options   Thanks (0) Thanks(0)   Quote Luciano Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 13:45
Se estrai l'intero recordset ordinato per %SuTot desc in lettura
poni una variabile Sommatoria = sommatoria + %SuTot
all'interno del ciclo while not rst.EOF 
apri un'altro recordset della stessa tabella per scrivere il valore di sommatoria nel campo Somma%
Se ci informi sul criterio di assegnazione ABC si potrebbe inserire direttamente la lettera nella procedura.
Ciao
Dio è Amore e Pace
Catalogo funzioni
Back to Top
65.franco View Drop Down
Utente Onorario
Utente Onorario
Avatar

Joined: 19/Apr/2009
Location: Italy
Status: Offline
Points: 4108
Post Options Post Options   Thanks (0) Thanks(0)   Quote 65.franco Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 14:06

Normalmente per gli ABC si ha bisogno di alcune informazioni di base per fare i calcoli:

- Totale Generale dei Valori
- Totale Parziale dei Valori
- Variabile classe ABC 

Di norma si usa il 33% per assegnare la classe ABC voluta... ma questa non è una regola fissa... Un ABC puo' anche essere ottenuto in tanti modi diversi secondo i propri criteri di classificazione. Per esempio si puo' decidere di mettere in clsse A i primi 10 in classe B i sendi 20 e in classe C i restanti.
esempio:
A = il 10% dei valori più alti
B = il 20% dei valori più alti e minori dei primi 10%
C = il 70% dei valori più bassi
oppure:
A = 33% più alti
B = 33% più alti meno i primi 33% alti
C = 33% più bassi

Ma il calcolo non rappresenta il problema ... il problema è avere a disposizione :
- Totale Generale dei Valori
- Totale Parziale dei Valori
- Variabile classe ABC 

Prova ad ottenerli con la query a campi incrociati e vedrai che dovresti ottenere il risultato voluto.

Ciaooo ...

Franco...
Back to Top
nrenzell View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 02/Apr/2007
Location: Italy
Status: Offline
Points: 181
Post Options Post Options   Thanks (0) Thanks(0)   Quote nrenzell Quote  Post ReplyReply Direct Link To This Post Posted: 21/Ott/2011 at 14:28
Grazie x le risposte...

Franco:
ti ringrazio nuovamente ma nel mio caso io so già calcolare l'ABC (nel mio caso ritocco la regola standard assegnando all'85% dei valori la lettera A, dall'85% al 95% la lettera B e dal 95% al 100% la lettera C).
Attualmente copio in excel il risultato della query così come riportato nel 1° esempio e manualmente inserisco la formula per ottenere la sommatoria su la 1^ colonna libera.
Successivamente assegno le lettere ABC.

Per automatizzare l'assegnazione mi basterebbe avere una query come la mia con una 4^ colonna contenente la sommatoria ed una 5^ con le lettere ABC.
I primi e campi non sono un problema, così come il 5° campo in cui basta inserire un IIF per assegnare il valore.
Il mio quesito è come creare la 4^ colonna, quella con le somme (= valore della 3^ colonna + valore della 4^ colonna ma della riga precedente).


Per Luciano:
ringrazio anche te ovviamente ... potresti spiegarmi meglio per favore cosa intendi quando parli di recordset e ciclo while? Il risultato finale sarà memorizzato in una tabella?

Se ho ben capito dovrei creare un ciclo in VBA dove memorizzo in una variabile A il valore di %SuTot e poi inserire all'interno del ciclo A=A+%SuTot, ma non ho capito dove e come usare il codice.

grazie 1000
Nicola

Back to Top
 Post Reply Post Reply Page  123 4>
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.17
Copyright ©2001-2013 Web Wiz Ltd.

This page was generated in 0,078 seconds.