Relazioni attive e inattive

in questo articolo parliamo di come possono essere usate le relazioni inattive. Prendiamo ad esempio una tabella di ordini dove ho tre date: una data di ordine, una data di consegna e magari una data di incasso. L’obiettivo è poter analizzare quanti ordini mi sono entrati nel periodo, quante consegne dovrò fare nel periodo, quanti ...

Uscire dal contesto (dopo averlo capito, però)

Una delle cose più difficili da capire per chi si avvicina a DAX, magari arrivando da conoscenze di mondi “relazionali”, è il concetto di contesto. Prendiamo ad esempio una tabella pivot banale creata da un elenco di ordini dove abbiamo data, articolo, e quantità, per esempio, una cosa stile quella di seguito: Ecco, per effetto ...

Ordinamenti personalizzati nel visual matrice

Oggi tocchiamo il tema dell’ordinamento personalizzato nel visual “tabella pivot”. Succede di trovarsi per le mani delle etichette che appaiono nel visual in modo disordinato o, meglio, nell’ordine che NOI non desideriamo; per esempio se abbiamo una terna di valori Massimo/Medio/Minimo e volessimo inserirli in tabella visualizzandoli nella sequenza Medio, Massimo e poi Minimo, saremo ...

Ennesimo elemento in una stringa in T-SQL

Chi bazzica Business Central guardando dentro le tabelle del database, avrà notato che vengono spesso utilizzati dei campi “opzione”; in pratica il campo lato applicativo è rappresentato da un elenco valori, che viene salvato nel DB come un indice posizionale base zero. L’elenco dei valori è, lato ambiente di sviluppo, rappresentato da un’unica stringa dove ...

Grafici per attributo

PowerBI offre oggetti visuali accattivanti che consentono, in uno stesso grafico, di disporre di informazioni su serie molteplici. Nel caso seguente, le vendite mensili sono visualizzate con un dettaglio di colore su un asse mese: Molti degli oggetti visuali non consento la navigazione libera sul dettaglio, costringendo l’operatore a cambiare campo. Oggi vedremo come poter ...

Una tabella ordinata per le country

La norma ISO-3166 elenca le Country ufficiali e le sigle a due lettere o tre lettere utilizzate per la loro identificazione. Sebbene l’elenco sia pubblicamente distribuito in alcuni siti, qui trovate un rapido script da copiare/incollate in una nuova tabella di PowerBI con tutte le country note, con la loro denominazione ufficiale, e l’area geografica ...

L’importanza del “BLANK” in PowerBI

Riflessioni sugli oggetti grafici… Immaginiamo una coppia di tabella calendario/vendite, dove il join tra le due tabelle è il giorno. Se creo una tabella con i soli giorni, mi aspetto una sequenza ordinata di tutti i giorni del calendario: Ma appena infilo nella tabella (o nel grafico) il totale delle vendite, le righe del calendario ...

Totale alla data, ultimi N mesi (o media mobile ultimi N mesi…) in Power BI

Per calcolare il fatturato dell’ultimo periodo, rispetto a periodo corrente, si ricorre alla rettifica delle date del periodo considerato. Prendiamo il caso che io voglia calcolare i fatturato LTM (Last Twelve Months) a una certa data, il cosiddetto fatturato anno mobile… Utilizzerò per questo esempio il file “Contoso Sales”, fornito come database di test per ...

Valore cumulato sulla classifica

Questo articolo affronta il tema della costruzione della somma cumulata lungo una classificazione. Il tema è la risposta a domande del tipo “quali sono i clienti che fanno l’80% del fatturato?” oppure “quale percentuale del fatturato rappresentano i primi 10 prodotti?”. Per l’esercizio ci rifacciamo a un elenco di valori per i quali abbiamo già ...

Creazione di una classifica (Ranking)

In Power BI disponiamo di funzioni specifiche per l’attribuzione di un ranking secondo una misura aggregata. <valore> è il valore del quale cercare il rango, per esempio il nome del Cliente; è un parametro “opzionale” che può essere desunto dal contesto. Normalmente non si indica e la formula diventa la seguente: <Tabella> è l’insieme delle ...

DISTINCTCOUNT (attraverso relazioni…)

In PowerBI il pattern “tradizionale” per il conteggio delle occorenze di un certo valore prevede l’utilizzo della funzione DISTINCTCOUNT. La funzione è molto semplice: ConteggioValoriDistinti = DISTICTCOUNT(NomeDelCampo) La funzione è perfetta… Immaginiamo per esempio di avere la seguente tabella di vendite, con una tabella articoli correlata e una tabella categorie correlata agli articoli; in pratica ...

PowerBI: informazioni “Alla Data” (YTD, QTD, MTD)

Che bello avere una montante alla data… quante volte, quante difficoltà… Oggi ci esercitiamo con PowerBI per avere una visione di una giacenza datata, ma concettualmente l’esercizio è applicabile a portafoglio ordini, situazioni contabili, ecc. Per l’esercizio abbiamo bisogno di una tabella di movimenti di magazzino che abbiano un saldo di apertura più tutti i ...

Modifica della gerarchia data

Una delle cose che mi lasciano sempre un po’ perplesso è la gestione della gerarchia delle date su PowerBI. Se da un lato squisitamente tecnico è perfettamente realizzata, dal punto di vista di utilizzo lo è un po’ meno. Innanzi tutto durante i drill-down da anno a quarter, poi a mese si perde l’informazione dell’anno, ...

Calendario automatico su PowerBI

Oggi parliamo di calendario e asse dei tempi. La quasi totalità delle volte, operando con la business intelligence, è necessario disporre di un calendario come asse dei tempi. La strada più frequente e usata è quella di importare una tabella calendario estesa quel che basta per soddisfare le esigenze del momento. All’interno di PowerBI, tuttavia, ...

AL Business Central come app

E’ la fine del classic e dell’RTC Client… sigh… Dal dicembre 2019, signora Microsoft ha rimosso entrambi dalla distribuzione di Business Central. La seconda ondata di distribuzione (nome in codice “Wave 2”) ha come unico strumento di sviluppo Visual Basic Code e come unica modalità di fruizione un normale browser (Web Client). Se da un ...

Iniziali maiuscole

Ecco come trasformare una frase con “Iniziali maiuscole” in SQL Server (T-SQL): Per prima cosa è opportuno creare una funziona che fa allo scopo; per fare questo usiamo lo stack XML: CREATE FUNCTION CapitalLetter ( @TheSentence NVARCHAR(MAX) ) RETURNS NVARCHAR(MAX) AS BEGIN DECLARE @Result NVARCHAR(MAX); SET @Result = stuff(( select \' \'+upper(left(T3.V, 1))+lower(stuff(T3.V, 1, 1, ...

sp_who2, the life of a lock…

Locks are a incredible resource in a RDMS, but a nightmare where concurrency is high and lock retention is time consuming. SQL Server let sysdba exploring locks using sp_who2 stored procedure. EXEC sp_who2 return the list of active sessions and some information related to them, e.g. the related locks (who blocks and who is blocked). ...

But… is antivirus safe or unsafe?

Today a big surprise early in the morning: some virtual servers in our farm had a fault. All of them were implied in “loop without end” very similar to a malware infection. Windows Machines… updated… with antivirus updated… with antiexploit installed… with firewall on… but unusable. Symptoms: full use of RAM, both on poor amount ...

Come identificare gli indici candidati alla cancellazione

La creazione di indici inutili porta a due spiacevoli conseguenze: maggiore tempo necessario per l’esecuzione di istruzioni di insert/update/delete, inutile spreco di spazio su disco. Come fare per identificare gli indici del database candidati a una bella operazione di drop? Ci si rifa a una serie di viste di sistema che SQL Server ci mette ...

Eventi aggiuntivi in Business Central (vers. 140)

Oggi ho scoperto che una CU che dovrei agganciare in AL non ha alcun evento da sottoscrivere in AL. Ho provveduto ad aggiungerlo dal classic client com [Business Event], ma, anche dopo aver riavviato l’istanza e riscaricato i simboli dalla stessa, il compilatore mi restitusce comunque questo errore: Per risolvere il problema è necessario eseguire ...

Creare una tabella (e popolarla…) in DAX

Accade spesso di avere la necessità di avere nel modello dati una tabella “al volo”. Delle volte serve per convertire codici, per esempio codici di paesi ISO nei loro nomi per utilizzare la georeferenziazione, altre volte per altri usi, altre volte ancora in una formula che richiede espressamente una tabella quando si ha per le ...