Calcolo elasticità del prezzo L’argomento è risolto

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

paolo_mastrojanni
Messaggi: 5 | Topic creati
Iscritto il: mer 3 mag 2023, 23:49

Calcolo elasticità del prezzo

Messaggio da paolo_mastrojanni »

Ciao a tutti, appena arrivato e già speranzoso di trovare supporto. Premetto che sono un neofita della BI, perciò mi scuso in anticipo per eventuali domande sciocche.
Il mio obiettivo è misurare il variare dei volumi al variare del prezzo al pubblico.
La mia Fact Table, riporta per ogni riga le vendite effettuate nei vari negozi, il prezzo di vendita dello stesso prodotto nello periodo è il medesimo in ogni negozio.
Questa la composizione delle principali colonne della mia tabella, che penso debbano essere prese in considerazione:
(Fatturato[Data]) = giorno in cui è stato venduto il prodotto
(Fatturato[RRP]) = prezzo al pubblico unitario
('Fatturato'[Q.tà Fatturata]) = numero di unità vendute di un determinato prodotto
('Fatturato'[Descrizione]) = nome del prodotto venduto

La strada che ho intrapreso è di creare una nuova tabella, che andasse a lavorare sulla combinazione DATA/Prodotto, orbinasse le righe in ordine crescente ed ad ogni variazione del Prezzo, facesse la somma delle quantità vendute nelle righe precedenti.
Questo il codice "migliore" che sono riuscito a creare:

Tabella Variazioni Prezzo =
ADDCOLUMNS (
SUMMARIZE (
Fatturato, // Tabella di origine
Fatturato[Descrizione], // Colonna per il raggruppamento
Fatturato[Data], // Colonna per il raggruppamento
// Utilizziamo la funzione MIN per restituire il prezzo minimo per ogni prodotto in ogni data
"Prezzo", MIN( Fatturato[RRP] )
),
"Quantità venduta",
// Utilizziamo la funzione CALCULATE per calcolare la quantità venduta per ogni prodotto in ogni data, ma solo per le date in cui il prezzo era lo stesso di quello presente nella riga corrente
CALCULATE (
SUM ( Fatturato[Q.tà Fatturata] ), // Sommiamo la quantità venduta
// Filtro sulla descrizione del prodotto e sulla data, in modo da avere solo le date precedenti o uguali alla data corrente
FILTER (
ALL ( Fatturato ),
Fatturato[Descrizione] = EARLIER ( Fatturato[Descrizione] ) &&
Fatturato[Data] <= EARLIER ( Fatturato[Data] ) &&
Fatturato[RRP] = EARLIER ( [Prezzo] ) // Aggiungo il filtro per la data di inizio del prezzo
)
),
"Descrizione ordinata", Fatturato[Descrizione]
)

Purtroppo non funziona :cry:

Ogni suggerimento è prezioso.
Grazie
Paolo


Avatar utente

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

Calcolo elasticità del prezzo

Messaggio da Andrea90 »

paolo_mastrojanni,

Il codice va inserito negli appositi tag code, se non sai come fare leggi qui: viewtopic.php?t=13

Allega un file demo con qualche riga di dato utile ed il tuo tentativo fatto.

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
paolo_mastrojanni
Messaggi: 5 | Topic creati
Iscritto il: mer 3 mag 2023, 23:49

Calcolo elasticità del prezzo

Messaggio da paolo_mastrojanni »

Grazie Andrea, per la segnalazione.
Vi allego alcune righe della tabella vendite, relative ad un solo prodotto che ha avuto un unica variazione di prezzo.
esempio_MondoBi.xlsx
(10.24 KiB) Scaricato 11 volte
Come detto, ho provato a risolvere il mio problema generando una nuova tabella (ma non so se sia la scelta corretta), questo il codice che ho scritto per generarla:

Codice: Seleziona tutto

Tabella Variazioni Prezzo = 
    ADDCOLUMNS (
        SUMMARIZE (
            Fatturato, // Tabella di origine
            Fatturato[Descrizione], // Colonna per il raggruppamento
            Fatturato[Data], // Colonna per il raggruppamento
            // Utilizziamo la funzione MIN per restituire il prezzo minimo per ogni prodotto in ogni data
            "Prezzo", MIN( Fatturato[RRP] )
        ),
        "Quantità venduta",
        // Utilizziamo la funzione CALCULATE per calcolare la quantità venduta per ogni prodotto in ogni data, ma solo per le date in cui il prezzo era lo stesso di quello presente nella riga corrente
        CALCULATE (
            SUM ( Fatturato[Q.tà Fatturata] ), // Sommiamo la quantità venduta
            // Filtro sulla descrizione del prodotto e sulla data, in modo da avere solo le date precedenti o uguali alla data corrente
            FILTER (
                ALL ( Fatturato ),
                Fatturato[Descrizione] = EARLIER ( Fatturato[Descrizione] ) &&
                Fatturato[Data] <= EARLIER ( Fatturato[Data] ) &&
                Fatturato[RRP] = EARLIER ( [Prezzo] ) // Aggiungiamo il filtro per la data di inizio del prezzo
            )
        ),
        "Descrizione ordinata", Fatturato[Descrizione]
    ) 
Aggiungo anche un immagine, che spero aiuti a capire il mio obbiettivo:
Immagine

Spero di aver inserito tutto correttamente.
Grazie
Paolo
Avatar utente

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

Calcolo elasticità del prezzo

Messaggio da Andrea90 »

paolo_mastrojanni,

Sinceramente non capisco quale sia il tuo output desiderato. Cercate di mettervi nei nostri panni, noi non sappiamo praticamente nulla di quello che fate ne dell'obiettivo che avete in mente di raggiungere.
Dunque allegare un file excel con una tabella di dati, senza indicare manualmente il risultato desiderato scritto a mano, rende a noi complesso il lavoro perché dobbiamo metterci nei panni vostri e cercare di indovinare che cosa volete raggiungere.

Dici che di DAX sei alle prime armi, e poi incolli quel codice di complessità media.. l'hai fatto tu? O hai semplicemente scritto a chatgpt di farlo al tuo posto e tu l'hai semplicemente copiato ed incollato?

Dico questo per due motivi:
1) Inutile utilizzare chatgpt se non conosci il linguaggio DAX e le teorie poste alla base. Lui ti sfornerà comunque del codice che tu non comprenderai e ti limiterai a copiarlo/incollarlo senza capirne le logiche e pertanto non riuscirai a validarlo. Nulla in contrario a chatgpt, ma devi essere tu a tirare le redini, non limitarti ad un ruolo "passivo".

2) Ci sono alcuni errori in quel codice che hai incollato e pertanto mi verrebbe da chiedere se conosci almeno le basi del linguaggio DAX, perché senza di queste, anche fornendoti noi del codice non saresti in grado di comprenderlo ed essere autonomo nell'implementarlo all'interno del tuo caso reale.

3) Hai incollato l'immagine di un grafico scrivendo:
paolo_mastrojanni ha scritto: ven 5 mag 2023, 0:03 Aggiungo anche un immagine, che spero aiuti a capire il mio obbiettivo:
Cosa intendi con "aiuti a capire il mio obiettivo"?

Per concludere, se vuoi proseguire cerca di spendere del tempo spiegando quale dovrebbe essere il risultato desiderato sulla base di quelle righe di dati presenti nel file excel. E nel mentre ti consiglio vivamente di leggere la sezione dei tutorial per comprendere almeno le basi del linguaggio, partendo dal contesto riga e dal contesto filtro.

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
paolo_mastrojanni
Messaggi: 5 | Topic creati
Iscritto il: mer 3 mag 2023, 23:49

Calcolo elasticità del prezzo

Messaggio da paolo_mastrojanni »

Ciao Andrea, come ho anche scritto sono alle prime armi, sto cercando di seguire ogni tutorial che trovo per apprendere le basi, ho provato ad usare ChatGpt, ma confermo che non è di grande utilità senza una conoscenza del Dax (che sto cercando di apprendere).
Venendo al mio "problema", provo ad esporlo per punti.
La tabella "vendite" (di cui ho allegato un esempio) contiene il sell out dei nostri punti vendita.
Vorrei determinare, quanto cambiano i volumi di vendita, al cambiare del prezzo.
Esempio: "prodotto XXX", dal 1 al 15 marzo prezzo al pubblico 249,99, venduti 78 pezzi. Dal 16 al 30 marzo, prezzo al pubblico 229,99, venduti 123 pezzi.
Il prezzo di vendita è uguale per tutti i negozi e non varia durante la stessa giornata, perciò è impossibile avere lo stesso prodotto, venduto lo stesso giorno a due prezzi differenti.
La logica che sto provando a seguire è quella di:
- ordinare i dati, combinando prodotto e data (in modo da avere una combinazione univoca)
- verificare ogni volte che il prezzo è variato rispetto alla data precedente
- calcolare la percentuale di variazione tra i due prezzi
- Calcolare la quantità di prodotti venduti nel periodo in cui il prezzo non era variato

Spero di essere stato abbastanza chiaro nello spiegare il mio obbiettivo e che gli allegati possano aiutarvi a aiutarmi.
Grazie
Paolo
Avatar utente

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

Calcolo elasticità del prezzo

Messaggio da Andrea90 »

paolo_mastrojanni,

Allego un file demo con i dati presi dal tuo file excel a cui ho aggiunto una tabella calendario.

Da qui si può eventualmente partire per aggiustare quanto fatto fino ad ora con il tuo desiderato.

Andrea
Allegati
Demo_Elasticità_Prezzo.pbix
(37.06 KiB) Scaricato 19 volte
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
paolo_mastrojanni
Messaggi: 5 | Topic creati
Iscritto il: mer 3 mag 2023, 23:49

Calcolo elasticità del prezzo

Messaggio da paolo_mastrojanni »

Grazie infinite, il tuo aiuto è stato prezioso, passero il weekend a studiare....
Rispondi