Estrarre % di record per una variabile

di Anonimizzato20592 il
26 risposte
Ciao a tutti, avrei la necessità di estrarre una percentuale di record di una tabella così strutturata.
Codice contratto | Codice venditore | Nome venditore

Dovrei estrarre il 10% di contratti di ogni venditore.

Come posso fare? Ho provato in tutti i modi ma sono alla frutta....

Grazie

26 Risposte

  • morpheo996 ha scritto:


    Codice contratto | Codice venditore | Nome venditore
    Come si chiama questa tabella? Siamo sicuri che è normalizzata?
  • La tabella si chiama "Scarico verificabile". Dovrei impostare dei controlli a campione (appunto il 10%).
  • Una tabella "Scarico verificabile" (solo il nome lascia molti dubbi) quanto di "normale"/"normalizzato" avrebbe in un contesto da DATABASE?
  • Mi servirebbe solo conoscere come introdurre all'interno di un database più strutturato una formula anche su sql che mi permetta di estrarmi questa stramaledetta percentuale. MI serve solo per un'analisi... Grazie per la vostra comprensione
  • Si può fare, ma ti consiglio vivamente di fare prima un passo indietro: normalizzare il tuo contesto tabelle. Non pensi che servirebbe prima avere almeno 2 tabelle Venditori uno-a-molti Contratti?
  • Ok, messe in relazione le due tabelle. Grazie
  • ...più che altro mi servirebbe su sql una formula che superasse i militi di un "Select top 10 percent" che mi estrae il 10% di tutti i record della mia tabella ma non il 10% di ogni venditore.
    Forse è banale ma ho esaurito ogni mia idea...
  • Premetto che non sono il mio forte le formule di calcolo in Access. Penso tuttavia che si può procedere per più piccoli passi e un po' di ragionamento. Secondo me per ottenere quel "n" di cui si parla negli altri thread devi andarti a prendere il valore DCount della TabellaX. Da questo valore fai *10 e poi /100. Quindi ottieni n.
  • Ciao OsvaldoLaviosa, sposo la tua teoria dei piccoli passi. Trovato quell'"n" posso inserirla in una formula di select?

    Codice contratto | Codice venditore | Nome venditore | N

    Ecco come apparirebbe la mia tabella
  • Scrivo senza testare nulla, ma a naso direi proprio di sì. Potresti creare una query (anche in visualizzazione struttura) e aggiungere tutti i campi di calcolo che vuoi (anche a catena per piccolissimi passi) fino a raggiungere il tuo "n".

    Mi sorge però un dubbio. A te serve ottenere UN SOLO N o MOLTI N? Nel primo caso forse è meglio lavorare con un codice VBA...nel secondo forse occorrono dei raggruppamenti...aiuto...adesso mi perdo anche io però...
  • Una domanda: ma in sql sarebbe possibile un select top "N" percent [Contratti] ? mi sa che non andrebbe a differenziare i venditori. Ogni venditore avrà una quantità di contratti diversa.
  • morpheo996 ha scritto:


    Una domanda: ma in sql sarebbe possibile un select top "N" percent [Contratti] ? mi sa che non andrebbe a differenziare i venditori. Ogni venditore avrà una quantità di contratti diversa.
    Non credo esista una "formula"/"funzione" così fatta. Devi per forza calcolare "all'antica" (*10/100).
  • Ok, capito. Ma dato il valore N (quello riesco ad estrarmelo) su una tabella così formata:

    Codice contratto | Codice venditore | Nome venditore | N
    11115 | 1516126 ! marco | 10
Devi accedere o registrarti per scrivere nel forum
26 risposte