Ciao a tutti,
ho provato a seguire le indicazioni dei guru di SQLBI per la creazione di una Tabella "Allocated Budget".
Con questa nuova tabella ho aumentato il numero di righe della tabella "Budget", inserendo tutti i livelli gerarchici della tabella "Products" fino alla chiave primaria "Material". In questo modo sono riuscito a creare una relazione uno-a-molti tra "Products" e "Allocated Budget".
Il mio problema a questo punto e´quello di creare una relazione tra le tabelle " Date" e "Allocated Budget".
Come potete vedere dal file allegato, sembrerebbe che questa relazione non sia possibile a causa di un riferimento circolare.
E´possibile aggirare questo problema, magari modificando appropriatamente il codice DAX?
Circular Dependency - Allocated Budget
-
- Messaggi: 11 | Topic creati
- Iscritto il: dom 23 ago 2020, 14:46
- Ringraziato: 2 volte
Circular Dependency - Allocated Budget
- Allegati
-
- File Test.pbix
- (81.88 KiB) Scaricato 28 volte
Ultima modifica di Lorenzo Manganelli il lun 15 mar 2021, 15:26, modificato 2 volte in totale.
-
- Messaggi: 2268 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 673 volte
- Contatta:
Circular Dependency - Allocated Budget
Ciao Lorenzo Manganelli,
Ho guardato al volo il tuo modello.
La circular dependency mi verrebbe da dire che avviene poiché tu hai creato la tua allocated budget sfruttando la relazione esistente tra Sales e Date (prova a togliere la relazione tra queste due e vedrai che la tua tabella calcolata non rimane in piedi).
Non so quale è la logica che vorresti utilizzare, ma direi che devi rivedere il modello dati, e la logica di creazione di quella allocated table (in modo particolare del motivo per cui carichi quella Budget Table e poi non sfrutti quella per la relazione con Date, che in quel caso funzionerebbe senza problemi).
A presto,
Andrea
Ho guardato al volo il tuo modello.
La circular dependency mi verrebbe da dire che avviene poiché tu hai creato la tua allocated budget sfruttando la relazione esistente tra Sales e Date (prova a togliere la relazione tra queste due e vedrai che la tua tabella calcolata non rimane in piedi).
Non so quale è la logica che vorresti utilizzare, ma direi che devi rivedere il modello dati, e la logica di creazione di quella allocated table (in modo particolare del motivo per cui carichi quella Budget Table e poi non sfrutti quella per la relazione con Date, che in quel caso funzionerebbe senza problemi).
A presto,
Andrea
-
- Messaggi: 890 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:03
- Luogo: San Giovanni in Persiceto (BO)
- Ringraziato: 325 volte
- Contatta:
Circular Dependency - Allocated Budget
Confermo quanto detto da Andrea. E' possibile che la tua tabella Allocated Budget possa essere creata in ETL con Power Query, e in tal caso non ti darebbe problemi di dipendenze circolari. Difficile però fare delle prove senza i file sorgente, vedi tu se con questi suggerimenti riesci ad andare avanti
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
-
Autore del topic - Messaggi: 11 | Topic creati
- Iscritto il: dom 23 ago 2020, 14:46
- Ringraziato: 2 volte
Circular Dependency - Allocated Budget
Ciao Andrea,
la tabella "Budget" contiene i valori stimati dal sales manager. Questa tabella pero´non va oltre la categoria prodotto "PRH4".
Con la seconda tabella budget "Allocated Budget" ho voluto estendere le informazioni fino alla categoria PRH5 e fino al "Material" (Product Key), utilizzando percentuali di ripartizione stimate sulla base delle vendite dell´anno passato. In questo modo l´end user ha la possibilita´di effettuare un´analisi approfondita degli scostamenti actual/budget.
Il risultato finale che vorrei e´quello di relazionare uno-a-molti "Date" con "Facts" e "Date" con "Allocated Budget" e "Product" con "Facts" e "Product" con "Allocated Budget".
Come e´ possibile togliere la relazione tra le tabelle "Date" e "Facts" all´interno della tabella "Allocated Budget", per superare il problema del riferimento circolare?
la tabella "Budget" contiene i valori stimati dal sales manager. Questa tabella pero´non va oltre la categoria prodotto "PRH4".
Con la seconda tabella budget "Allocated Budget" ho voluto estendere le informazioni fino alla categoria PRH5 e fino al "Material" (Product Key), utilizzando percentuali di ripartizione stimate sulla base delle vendite dell´anno passato. In questo modo l´end user ha la possibilita´di effettuare un´analisi approfondita degli scostamenti actual/budget.
Il risultato finale che vorrei e´quello di relazionare uno-a-molti "Date" con "Facts" e "Date" con "Allocated Budget" e "Product" con "Facts" e "Product" con "Allocated Budget".
Come e´ possibile togliere la relazione tra le tabelle "Date" e "Facts" all´interno della tabella "Allocated Budget", per superare il problema del riferimento circolare?
-
Autore del topic - Messaggi: 11 | Topic creati
- Iscritto il: dom 23 ago 2020, 14:46
- Ringraziato: 2 volte
Circular Dependency - Allocated Budget
Ciao Enrico,
ho provato con Power Query e funziona perfettamente. L´unico problema e´ che il file e´passato da 4 a 8 MB.
Il mio obiettivo era pero´di risolvere questo problema utilizzando DAX, per potermi esercitare con questo codice e avere sempre una soluzione alternativa rispetto a Power Query.
ho provato con Power Query e funziona perfettamente. L´unico problema e´ che il file e´passato da 4 a 8 MB.
Il mio obiettivo era pero´di risolvere questo problema utilizzando DAX, per potermi esercitare con questo codice e avere sempre una soluzione alternativa rispetto a Power Query.
-
- Messaggi: 890 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:03
- Luogo: San Giovanni in Persiceto (BO)
- Ringraziato: 325 volte
- Contatta:
Circular Dependency - Allocated Budget
Non sempre i due strumenti sono intercambiabili, e quasi mai lo sono a costo zero. Quindi il tuo esercizio con DAX andava benissimo, ma ti sei reso conto che nella fattispecie non poteva risolvere il tuo problemaLorenzo Manganelli ha scritto: ↑mar 16 mar 2021, 14:37 Il mio obiettivo era pero´di risolvere questo problema utilizzando DAX, per potermi esercitare con questo codice e avere sempre una soluzione alternativa rispetto a Power Query.
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
-
Autore del topic - Messaggi: 11 | Topic creati
- Iscritto il: dom 23 ago 2020, 14:46
- Ringraziato: 2 volte
Circular Dependency - Allocated Budget
Ciao,
sono riuscito alla fine a risolvere il problema del riferimento circolare sostituendo la misura originaria:
Sum Sales AC 2020 = CALCULATE(
SUMX('Facts Sales',
'Facts Sales'[Net Sales]
),
Date','Date'[Year]=2020
)
con questa nuova misura:
Sum Sales AC 2020 = CALCULATE(
SUMX('Facts Sales',
'Facts Sales'[Net Sales]
),
FILTER(
ALLNOBLANKROWS(
'Date'[Year]),'Date'[Year]=2020)
)
Con questa soluzione spero di aver potuto ricambiare gli ottimi consigli che mi avete dato fino ad oggi.
sono riuscito alla fine a risolvere il problema del riferimento circolare sostituendo la misura originaria:
Sum Sales AC 2020 = CALCULATE(
SUMX('Facts Sales',
'Facts Sales'[Net Sales]
),
Date','Date'[Year]=2020
)
con questa nuova misura:
Sum Sales AC 2020 = CALCULATE(
SUMX('Facts Sales',
'Facts Sales'[Net Sales]
),
FILTER(
ALLNOBLANKROWS(
'Date'[Year]),'Date'[Year]=2020)
)
Con questa soluzione spero di aver potuto ricambiare gli ottimi consigli che mi avete dato fino ad oggi.