Conteggio clienti senza acquisti specifici

Il software per la BI di Microsoft, leader nel mercato
Rispondi

Ragnus68
Messaggi: 3 | Topic creati
Iscritto il: mar 24 ott 2023, 9:41

Conteggio clienti senza acquisti specifici

Messaggio da Ragnus68 »

Ho una tabella clienti con 3 colonne: id. cliente, nome cliente e relativa città, collegata con una relazione uno a molti tramite (id.cliente) ho poi una seconda tabella denominata "acquisti" in cui vengono riepilogati tutti gli acquisti dei clienti, una riga per ogni acquisto.
Nella dashboard viene visualizzata una matrice con elencati i prodotti e a fianco il numero di clienti che li hanno acquistati almeno una volta (conteggio distinct), un oggetto visivo riepiloga il totale clienti che hanno acquistato almeno una volta i prodotti.Tramite due filtri oggetti visivi posso filtrare gli acquisti per città del cliente o/e per articolo in modo tale che il conteggio dei clienti sia relativo solo ad un insieme da me definito di combinazioni città/articolo.
Il mio problema, per il quale chiedo aiuto, a questo punto è capire come potrei fare per effettuare un conteggio distinct dei clienti che NON hanno un determinato articolo in una data città, la qualcosa vorrei poterla realizzare sempre tramite filtri oggetti visivi. Allego file pbix.
Allegati
Conteggio Clienti senza acquisti specifici.pbix
(30.26 KiB) Scaricato 8 volte


Avatar utente

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

Conteggio clienti senza acquisti specifici

Messaggio da Andrea90 »

@Ragnus68,

Spero che questo sia un file demo e che pertanto tu non abbia controllato più di tanto il modello dati perché ci sono cose che sarebbero da evitare:

1) Utilizzo delle misure implicite, hai preso un campo, in questo caso dalla tabella Acquisti e l'hai semplicemente trascinato dentro ad un report su cui poi hai corretto la modalità di calcolo in "conteggio distinto", cosa da evitare. Le misure vanno scritte in codice DAX.

2) La relazione tra la tabella Clienti (lato 1) e Acquisti (lato molti) non è "valida", nel senso che hai nella tabella lato molti dei clienti che non esistono nella tabella lato 1. Questa è una cosa sbagliata, ed infatti vedi che nel filtro "Città" compare una voce "Blank" perché il cliente con id nr. 10 esiste nella tabella Acquisti, ma non nella Clienti. E se ci pensi questa è una cosa sbagliata perché è come se in un gestionale tu possa creare il record di vendita per un cliente quando il cliente non è ancora stato creato in anagrafica.

3) La tua tabella Fact ha dei campi dimensionali (in questo caso [Prodotto]) che dovrebbero stare in una tabella dedicata (una tabella di anagrafica Prodotti come hai fatto per i Clienti). E sono i campi dimensionali di questa tabella da utilizzare per creare i report altrimenti potresti incorrere in problematiche in futuro perché i campi della tabella lato molti non possono filtrare le tabelle del lato 1.

La tua richiesta la si può ottenere semplicemente contando tutti i valori distinti dei clienti (un COUNTROWS() della tabella Clienti) visto che avrai una sola riga per ciascun cliente. E sottraendo il valore dei clienti distinti che hanno acquistato la combinazione di filtri che hai selezionato. Devi crearti una misura DAX ed utilizzarla dentro un'oggetto Card come hai fatto con N. Clienti con Dotazioni (anche se qui la misura è di nuovo implicita e non esplicita).

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