relazioni tabelle

Non è propriamente un programma di BI, ma nelle sue versioni più recenti anche Excel può fare grandi cose!

Moderatore: Utilizzo_prof_Excel

Rispondi

MarcoMG
Messaggi: 9 | Topic creati
Iscritto il: gio 5 ott 2023, 10:49

relazioni tabelle

Messaggio da MarcoMG »

Buongiorno, ho delle difficoltà a creare una relazione in power pivot.

Due tabelle (TA e TB) sono correlate da un elemento "PRODOTTO" con relazione molti-uno. Entrambi hanno delle QUANTITA' (QTA e QTB) che devo CONFRONTARE PER DIFFERENZA .

Mi sono quindi creato le due misure con linguaggio DAX relative alle quantità quindi SUM(QTA) e SUM(QTB) e una MISURA DI DIFFERENZA = SUM(QTA - SUM(QTB).

A questo punto le tabelle possono essere confrontate ed in effetti il tutto funziona.

IL PROBLEMA è che a questo punto devo aggiungere un campo "SOTTOPRODOTTO" negli elementi riga della pivot. La colonna sottoprodotto sta nella TA.
Se aggiungo il campo "SOTTOPRODOTTO" però risulta non correlato alla TB.

QUESTITO: non capisco sinceramente come la relazione funziona solo parzialmente. Perché nel confronto delle quantità non ci sono problemi ma salta quando si aggiunge tra gli elementi riga della pivot il sottoprodotto.

Grazie
Marco


Avatar utente

Andrea90
Messaggi: 2255 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

relazioni tabelle

Messaggio da Andrea90 »

@MarcoMG,

Il modo con cui relazioni le tabelle influenza la capacità di alcuni campi di poter "filtrare" valori presenti in un'altra. Se la tua Tabella TA è sul lato molti della relazione con la tabella TB, il campo SOTTOPRODOTTO non sarà in grado di calcolarti correttamente il valore somma di QTB.

DAX richiede particolare attenzione a queste dinamiche, ecco perché chiediamo sempre un allegato di un file demo, basta anche solo prendere un campo da una tabella piuttosto che da un'altra e la stessa misura potrebbe non funzionare più correttamente.

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
MarcoMG
Messaggi: 9 | Topic creati
Iscritto il: gio 5 ott 2023, 10:49

relazioni tabelle

Messaggio da MarcoMG »

Si esatto. Il caso é esattamente quello descritto. 'é un modo per "aggirare questo problema?"
Avatar utente

Andrea90
Messaggi: 2255 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

relazioni tabelle

Messaggio da Andrea90 »

@MarcoMG,

Non è un problema, è il corretto modo di agire. Il tutto sta su come si struttura il modello dati per renderlo conforme all'analisi che bisogna fare.
Tieni presente che la complessità delle formule DAX e la bontà del modello sono tra loro inversamente proporzionali, più il modello è buono e ben progettato minore è la necessità di ricorrere a formule DAX complesse.

Quindi bisogna spendere del tempo nel progettare il modello. DAX e PowerBI in generale richiedono un buono studio a monte, prima di lanciarsi nella creazione di report.

Se non si agisce sul modello un modo potrebbe essere ad esempio di ricorrere ai modifiers di CALCULATE come ad esempio CROSSFILTER, oppure rendere la relazione tra le due tabelle bidirezionale (entrambe le soluzioni le lascerei a chi ha dimestichezza con lo strumento e sa riconoscere bene i pro e i contro, in particolar modo la seconda opzione, che magari non adesso, ma in futuro con l'aggiunta di ulteriori tabelle al modello potrebbe provocare problemi di ambiguity).

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
MarcoMG
Messaggi: 9 | Topic creati
Iscritto il: gio 5 ott 2023, 10:49

relazioni tabelle

Messaggio da MarcoMG »

Allego il file di esempio.

Non saprei come agire sul modello per evitare di dover ricorrere ai ai modifiers di CALCULATE

grazie
Marco
Allegati
esempio_power.pivot_2.xlsx
(217.03 KiB) Scaricato 11 volte
Avatar utente

Andrea90
Messaggi: 2255 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

relazioni tabelle

Messaggio da Andrea90 »

@MarcoMG,

Quale è il risultato che vorresti ottenere?

Perché se in una tabella hai un dato per il livello di dettaglio uguale a [Prodotto], ed un'altra tabella con livello di dettaglio [Sottoprodotto] che logica utilizzi per confrontare i due valori?

Ad esempio tu hai che il [Prodotto] = Albicocche vale 6
Poi in un'altra tabella hai 3 diverse tipologie ([Sottoprodotto]) di Albicocche, con valori 1, 1 e 2.

Quando crei una matrice che ha sulle righe i campi [Prodotto] e [Sottoprodotto] con un valore di qtà pari appunto a 1, 1 e 2, quel 6 relativo al [Prodotto] come lo consideri ?

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
MarcoMG
Messaggi: 9 | Topic creati
Iscritto il: gio 5 ott 2023, 10:49

relazioni tabelle

Messaggio da MarcoMG »

Si in effetti c'è un altro filtro che non ho messo nel modello (scusami).

Allego il file nuovo.

Il risultato che vorrei ottenere è la differenza tra il [prodotto] Tab_B e Tab_A filtrato per il [proprietario] ma con l'indicazione nelle righe anche del [sottoprodotto] .

Ad esempio: la differenza del [prodotto] albicocche se il proprietario è Marco sarà: 6 - 1 perché Marco è proprietario di una sola Albicocca. E fino a qui funziona. Ciò che non mi funziona è che io nella matrice vorrei visualizzare anche il [sottoprodotto] quindi in questo caso "albicocche gialle"

Grazie
Allegati
esempio_power.pivot_2 (1).xlsx
(243.68 KiB) Scaricato 7 volte
Avatar utente

Andrea90
Messaggi: 2255 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

relazioni tabelle

Messaggio da Andrea90 »

@MarcoMG,

La formula per la TabB:

Codice: Seleziona tutto

=
CALCULATE (
    SUM ( Tabella_B[QUANTITA'] ),
    CROSSFILTER ( Tabella_C[SOTTOPRODOTTO], Tabella_A[SOTTOPRODOTTO], BOTH ),
    CROSSFILTER ( Tabella_B[PRODOTTO], Tabella_C[PRODOTTO], BOTH )
)

Il modello:
1) Collega Tabella B con Tabella C tramite [PRODOTTO]
2) Collega Tabella C con Tabella A tramite [SOTTOPRODOTTO]

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
MarcoMG
Messaggi: 9 | Topic creati
Iscritto il: gio 5 ott 2023, 10:49

relazioni tabelle

Messaggio da MarcoMG »

Ciao Andrea. Mi rendo conto ora non ti avevo risposto. Grazie per il prezioso aiuto! Marco
Avatar utente

Andrea90
Messaggi: 2255 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

relazioni tabelle

Messaggio da Andrea90 »

@MarcoMG,

Ricordati di assegnare lo stato risolto alla discussione, se non sai come fare leggi qui: viewtopic.php?p=6576#p6576

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Rispondi