Tabella virtuale di LuckyTemplates | 5 suggerimenti e trucchi per il debug

Tabella virtuale di LuckyTemplates | 5 suggerimenti e trucchi per il debug

La tabella virtuale di LuckyTemplates è il mio argomento DAX preferito. Sono la chiave per sbloccare tutta la potenza di DAX. Le tabelle virtuali sono l'unico tipo di tabelle all'interno di LuckyTemplates che sono completamente dinamiche e ci sono problemi che possono essere risolti solo applicando tecniche di tabelle virtuali all'interno delle misure. Puoi guardare il video completo di questo tutorial in fondo a questo blog.

In questo tutorial, condividerò i miei 5 migliori suggerimenti e trucchi che ho accumulato nel corso degli anni che mi hanno davvero aiutato a capire ed eseguire il debug di ciò che accade all'interno delle tabelle virtuali di Power Bi.

L'esempio che esaminerò oggi è tratto dal e proviene da un membro di nome Dave C, che lavora nel campo della sicurezza industriale. Dave aveva una serie di punteggi di sicurezza e voleva normalizzarli in modo che il punteggio massimo fosse 10, e poi trovare dinamicamente l'ennesimo in quella lista.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Inizialmente, abbiamo pensato di farlo attraverso una semplice misura , ma in seguito ci siamo resi conto che molti dei suoi valori normalizzati hanno legami. Ad esempio, se vuoi il settimo elemento nell'elenco, non ci sarà un numero sette in un RANKX. Non esiste un modo semplice per estrarlo da una condizione di filtro. Quindi abbiamo deciso una misura basata su in modo che contasse sempre l'ennesimo numero.

Questo è simile a quando estrai la settima carta da un mazzo, conti sette carte e poi giri quella pila di sette, e la carta in fondo è quella che vuoi. Faremo l'equivalente di quello in una misura TOPN.

Sommario

Suggerimento n. 1: utilizzare uno strumento esterno per visualizzare la tabella virtuale di LuckyTemplates

È possibile usare DAX Studio o l'editor tabulare. In questo esempio, utilizzo Tabular Editor 3 (TE3). È tecnicamente possibile farlo utilizzando la scheda Modellazione - Nuova tabella, ma creerà tabelle fisiche all'interno del modello di dati. Dovrai passare manualmente da quello all'editor ed è solo un modo lento e difficile per farlo.

Quando vedi il modo dinamico in cui può essere fatto attraverso uno strumento esterno, vedrai il vantaggio.

Quindi, all'interno del TE3, creiamo una nuova query DAX. Possiamo prendere la nostra misura iniziale e copiarla nella nostra query DAX.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Se ricordi, le query DAX iniziano sempre con EVALUATE . Inizialmente verrà visualizzato un errore perché le query DAX restituiscono tables . Questa era una misura con le ultime due variabili che sono scalari. Quello che possiamo fare qui è cambiare il valore restituito , che è il mio prossimo consiglio.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Suggerimento n. 2: eseguire il debug della tabella virtuale di LuckyTemplates in parti utilizzando le variabili

Puoi eseguire il debug delle tabelle virtuali più o meno allo stesso modo delle misure, pezzo per pezzo, modificando il valore restituito. Iniziamo con la prima tabella virtuale, la vEvalTable . Sostituiamo semplicemente il valore RETURN (Finale) con la nostra prima variabile (VAR). E puoi vedere che l'errore scompare perché la query DAX sta ora ottenendo una tabella.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Nella vEvalTable, prendiamo i dati originali, che sono i punteggi di sicurezza, e li stiamo normalizzando e aggiungendo la colonna Valore normalizzato alla tabella virtuale. Abbiamo l'indice, il valore della regione e il valore normalizzato. Possiamo ordinare questi valori verso l'alto o verso il basso e filtrare anche i valori.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Questo ci sta dando esattamente quello che ci aspettavamo. Restituisce 50 righe, ovvero il set di dati completo. Sta andando tutto bene, quindi scendiamo ed esploriamo la tabella successiva, che è vTableTopN . In questa tabella, prendiamo TOPN utilizzando l'ennesimo valore del dispositivo di scorrimento dell'elemento. In questo esempio, abbiamo quel settimo valore della tabella virtuale sopra (vEvalTable) e stiamo prendendo quel TOPN in base al valore normalizzato in ordine decrescente.

Quindi, quando cambiamo la nostra funzione RETURN in quella, cade e non otteniamo nulla. Diamo un'occhiata al motivo perché questo è un concetto davvero importante per il debug e la comprensione delle tabelle virtuali.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Se guardiamo la formula, abbiamo l'Nth Item Slider Value come il principale sospettato qui. Tornando a LuckyTemplates, possiamo vedere che in pratica si tratta solo di raccogliere il numero sette. Tieni presente che i dispositivi di scorrimento esistono all'interno del contesto di una pagina .

E così, in questo caso, quando stiamo cercando di eseguire il debug di quella tabella fuori contesto, quel valore selezionato non ha contesto attorno ad esso . Non ha nulla in termini di capacità di estrarre quel numero. Stavamo ottenendo un TOPN, ma non sappiamo quale sia la N in TOPN perché quel valore selezionato restituisce uno spazio vuoto.

Come lo gestiamo? Diamo un'occhiata alla misura del valore selezionato. La maggior parte delle volte, prestiamo sempre attenzione al primo parametro in , ma c'è un secondo parametro, che è un'alternativa. Questo ci porta al mio terzo suggerimento.

Suggerimento n. 3: utilizzare il parametro alternativo in SELECTEDVALUE

Quello che è successo qui è che ha tirato il vuoto come supplente. Ma quello che vogliamo fare (a scopo di debug) è che vogliamo inserire un valore reale qui . Quindi, mettiamo il numero 7 e lo salviamo.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Ora abbiamo alcuni valori. Restituisce sette righe, che è esattamente quello che dovrebbe a causa di quel valore TOPN di sette.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Continuiamo lungo la linea fino alla tabella virtuale successiva, che è vTableNthItem . Abbiamo quel mazzo di sette carte, e questo tavolo lo sta praticamente girando. Eravamo in ordine decrescente nella tabella precedente e ora siamo in ordine crescente.

Se prendiamo e copiamo questo nella sezione RETURN, otteniamo i risultati. È interessante che non restituisca una riga. Sta restituendo tre righe perché queste tre sono in parità. Questo è esattamente il motivo per cui usiamo TOPN piuttosto che RANKX, in questo caso.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Ora andiamo a Risultato . Se copiamo il risultato VAR nella sezione RETURN, questo arriva al mio quarto consiglio.

Suggerimento n. 4: usa { } per trasformare gli scalari in tabelle

All'interno della formula, prendiamo il massimo ( ) di quel vTableNthItem e restituiamo il valore normalizzato. Questo potrebbe essere , potrebbe essere , potrebbe essere . È solo un aggregatore che restituisce quel valore in quella tabella. E quindi, se lo copiamo, ci darà un errore perché ora è uno scalare.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Ma questo è il mio quarto suggerimento, che è nel contesto del debug. Quello che puoi fare è semplicemente aggiungere le parentesi graffe . In questo modo, trasforma quello scalare in una tabella.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

E poi, quello che abbiamo qui è solo un controllo finale degli errori, ovvero se si scopre che la tabella di valutazione è più piccola del numero di righe, restituirà dati insufficienti. Ma in questo caso sappiamo che il nostro set di dati è abbastanza grande. Tuttavia, possiamo semplicemente testarlo digitando Final . Di nuovo, dato che è uno scaler, abbiamo bisogno anche delle parentesi graffe, e qui otteniamo lo stesso valore.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Abbiamo approfondito ed eseguito il debug di questa tabella virtuale e abbiamo utilizzato il valore alternativo in SELECTEDVALUE per evitare che cada fuori contesto. Ora voglio solo mostrarti un consiglio in più che ho trovato davvero utile.

Suggerimento n. 5: utilizzare CONCATENATEX/UNICHAR per trasformare una tabella in uno scalare

Nel contesto dell'esecuzione del debug, vorrai vedere in LuckyTemplates come appare quella tabella. La regola generale è che una misura può restituire solo uno scalare, non una tabella. Ma c'è un trucco che ti mostrerò che gli consente di restituire quasi un tavolo.

Diamo un'occhiata a questa misura, che è Visualized Virtual Table , e abbiamo qui tutte le tabelle virtuali che avevamo inizialmente. Ad esempio, vogliamo visualizzare, diciamo nella prima pagina del report, il vTableTopN.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Puoi usare questa funzione . Puoi effettivamente prendere quel nome di tabella virtuale (vTableTopN) e prendere i valori in quella tabella e concatenarli. Puoi creare qualcosa che sostanzialmente assomigli a un tavolo virtuale.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

Se prendiamo questa misura, dobbiamo tornare a LuckyTemplates e inserirla in una misura della carta. In genere, la tabella restituisce un errore, ma tramite CONCATENATEX ha trasformato quella tabella in uno scaler. Puoi vedere che è abbastanza primitivo, ma restituisce esattamente ciò che ci aspettiamo e lo fa in modo dinamico.

Tabella virtuale di LuckyTemplates |  5 suggerimenti e trucchi per il debug

È un modo per inserire una tabella in una misura e mostrarla nel report. È un trucco di debug davvero utile. Fornirà un buon formato in un valore di carta che puoi utilizzare in un rapporto.


Master tabelle virtuali in LuckyTemplates Utilizzo
delle tabelle virtuali DAX all'interno delle funzioni di iterazione in LuckyTemplates - Concetti DAX
Tabelle in LuckyTemplates: tipi e distinzioni

Conclusione

Si spera che questo tutorial fornisca spunti di riflessione in termini di utilizzo di una tabella virtuale di LuckyTemplates. Questi sono alcuni suggerimenti e trucchi aggiuntivi per capire cosa sta succedendo all'interno dei tuoi tavoli virtuali. Spero che tu l'abbia trovato utile.

Visita il nostro sito Web per ulteriori esercitazioni su LuckyTemplates e dai un'occhiata ai collegamenti seguenti per altri contenuti correlati.

Ti auguro il meglio!


Cosè il sé in Python: esempi del mondo reale

Cosè il sé in Python: esempi del mondo reale

Cos'è il sé in Python: esempi del mondo reale

Come salvare e caricare un file RDS in R

Come salvare e caricare un file RDS in R

Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.

Mostra approfondimenti utilizzando la tecnica di visualizzazione dinamica multi-thread in LuckyTemplates

Mostra approfondimenti utilizzando la tecnica di visualizzazione dinamica multi-thread in LuckyTemplates

Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.

Introduzione al filtraggio del contesto in LuckyTemplates

Introduzione al filtraggio del contesto in LuckyTemplates

In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.

I migliori suggerimenti per lutilizzo delle app nel servizio online LuckyTemplates

I migliori suggerimenti per lutilizzo delle app nel servizio online LuckyTemplates

Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.

Analizza le variazioni del margine di profitto nel tempo: analisi con LuckyTemplates e DAX

Analizza le variazioni del margine di profitto nel tempo: analisi con LuckyTemplates e DAX

Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.

Idee di materializzazione per cache di dati in DAX Studio

Idee di materializzazione per cache di dati in DAX Studio

Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.

Reporting aziendale tramite LuckyTemplates

Reporting aziendale tramite LuckyTemplates

Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.

Che cosè il gateway LuckyTemplates? Tutto quello che devi sapere

Che cosè il gateway LuckyTemplates? Tutto quello che devi sapere

Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere