Aggregazione dati collegati a campi multivalori

di il
6 risposte

Aggregazione dati collegati a campi multivalori

Buon pomeriggio a tutti,
ho un problemino che non riesco a risolvere... la questione credo sia banale, ma non sono in grado di trovare una soluzione. Vi spiego subito. Ho qualche tabella dalle quali voglio ricavare dati per mezzo di una query ma un campo multivalore non mi consente di unire i dati di un campo di un'altra tabella collegata. per spiegarmi meglio vengo al dettaglio.

Le tabelle del DB sono così organizzate:
p1.png
p1.png



Il campo ID Equipment della tabella tblMaster consente più valori.
Nella query di selezione per la generazione di un eventuale report, non riesco a raggruppare (aggregare) i dati del campo Equipment della tabella tblEquipment (associati al campo multivalore nella tblMaster):
p2.png
p2.png



Vorrei una soluzione per unire i dati di quel campo e non un semplice conteggio (che funziona), infatti non riesco a trovare nell’elenco Formula un funzione che mi permette semplicemente di elencare tutti i dati corrispondenti… il risultato è:
p3.png
p3.png



Cioè vorrei che nel campo tblEquipment.Equipmet mi visualizzasse:
KW – KLAB R700C; KW – KFCE 300; KW – KFDE 520
In corrispondenza del campo multivalore:
RD-FRI01; RD-FRI06; RD-FRI10
Nella schermata postata ottengo la replicazione dei record per ogni singolo valore del campo.
Mi auguro che qualcuno di voi riesca ad indicarmi la strada giusta.
Vi ringrazio per la pazienza...

6 Risposte

  • Re: Aggregazione dati collegati a campi multivalori

    ray_mar ha scritto:


    ... ricavare dati per mezzo di una query ma un campo multivalore non mi consente di unire i dati di un campo di un'altra tabella collegata. ...
    Non ho nemmeno letto quello che c'è dopo. Indovina perché, salvo quelli che devono per forza sostenere l'utilità di quella cosa, tutti dicono di non usare i campi multi valore? L'hai provato in prima persona.
  • Re: Aggregazione dati collegati a campi multivalori

    Quindi una funzione inutile in access... mi consigli di espandere i record con valori singoli e di aggregare poi a valle i dati che mi servono, giusto?
  • Re: Aggregazione dati collegati a campi multivalori

    ray_mar ha scritto:


    Quindi una funzione inutile in access...
    Per definire i campi multivalore una cosa inutile dovrei conoscerli molto più di quel poco che ho imparato. Sta di fatto che sono una chicca di cui molti non sentivano il bisogno.
    Per il tuo caso specifico devi "solo" (fosse poco) applicare il modello relazionale seguendo le regole della normalizzazione, cioè fare un database nel senso più classico del termine, con le relazioni 1 a molti con le apposite tabelle, non "all'interno" di un unica tabella con i campi multivalore.
  • Re: Aggregazione dati collegati a campi multivalori

    Ok grazie, il concetto è chiaro. Procederò alla normalizzazione con le relazioni adeguate. Resta però un problema "estetico" relativo al report che intendo generare: mi piacerebbe visualizzare i valori dei campi su unica riga separati da un punto e virgola invece di avere la visualizzazione classica dei campi di diversi record su righe diverse.
  • Re: Aggregazione dati collegati a campi multivalori

    ray_mar ha scritto:


    mi piacerebbe visualizzare i valori dei campi su unica riga separati da un punto e virgola invece di avere la visualizzazione classica dei campi di diversi record su righe diverse.
    Ecco cosa succede a non leggere i thread per intero: non si danno le risposte che servono.
    Funzione ConcatRelated di Allen Browne (che tra l'altro gestisce anche i campi multivalore, che però tu non userai più quindi come nemmeno ci fosse quella parte)
  • Re: Aggregazione dati collegati a campi multivalori

    Philcattivocarattere ha scritto:


    ray_mar ha scritto:


    mi piacerebbe visualizzare i valori dei campi su unica riga separati da un punto e virgola invece di avere la visualizzazione classica dei campi di diversi record su righe diverse.
    Ecco cosa succede a non leggere i thread per intero: non si danno le risposte che servono.
    Funzione ConcatRelated di Allen Browne (che tra l'altro gestisce anche i campi multivalore, che però tu non userai più quindi come nemmeno ci fosse quella parte)
    Risolto mantenedo il campo a più valori nella tblMaster.
    Ho prima creato una query per mettere in collegamento i valori del campo Equipment della tblEquipment con il campo Codice della tblMaster attraverso il campo multivalore
    p5.PNG
    p5.PNG


    ho poi creato al query che raccoglie i dati che mi servono
    p6.PNG
    p6.PNG


    e, grazie alla funzione ConcatRelated proposta, ho rappresentato i dati associati in un solo campo con gli elementi separati da virgola:
    p7.PNG
    p7.PNG

    ecco nell'ultima colonna i dati concatenati corrispondenti, uno ad uno, ai codici della colonna precedente. Quello che mi serviva!
    grazie nuovamente per i preziosi consigli
    p4.PNG
    p4.PNG


    p8.PNG
    p8.PNG

Devi accedere o registrarti per scrivere nel forum
6 risposte