LuckyTemplates Dividi colonna per delimitatori in DAX

LuckyTemplates Dividi colonna per delimitatori in DAX

Nel blog di oggi imparerai come utilizzare LuckyTemplates per dividere la colonna in base ai delimitatori utilizzando DAX. Questo è qualcosa che probabilmente sapresti come fare facilmente usando Power Query, e questo è generalmente il modo migliore per farlo. 

Tuttavia, a causa della natura dinamica del problema e delle considerazioni specifiche all'interno del modello di dati, esistono situazioni in cui l'utilizzo di DAX offre una soluzione migliore. Puoi guardare il video completo di questo tutorial in fondo a questo blog.

Sommario

Esempio di problema

Questo è il problema di esempio in LuckyTemplates.

LuckyTemplates Dividi colonna per delimitatori in DAX

Hai un elenco di circa 600 titoli di film e vuoi identificare le parole più comuni tra di loro. Per fare ciò, utilizzerai il dispositivo di scorrimento dei parametri mostrato di seguito per calcolare le parole di ciascun titolo.

LuckyTemplates Dividi colonna per delimitatori in DAX

Nel cursore, puoi impostare quante parole migliori vuoi restituire. Per questo tutorial, supponi di impostarlo su cinque parole.

Il tuo prossimo obiettivo è restituire ogni titolo che contenga almeno una delle cinque parole che hai selezionato. Farlo può sembrare semplice, ma è un po' più complicato di quanto sembri. Quindi ecco i passaggi per raggiungere questi obiettivi.

Passaggi su come dividere le colonne usando i delimitatori

Questa sezione ti insegnerà come risolvere il problema dato suddividendo le colonne in DAX. Il primo passaggio consiste nell'aprire i dati del film facendo clic sulla seconda icona sul lato sinistro, quindi su Film nel riquadro Campi. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Nell'elenco dei film che appariranno, devi pensare a come suddividere i titoli in singole parole.

Una possibile soluzione consiste nell'utilizzare due tabelle virtuali come mostrato di seguito. La tabella 1 è una tabella a una colonna delle prime N parole definite dal dispositivo di scorrimento. La seconda tabella è una colonna virtuale delle parole in ogni titolo di film. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Quindi, utilizzando le due tabelle virtuali, puoi utilizzare la funzione per determinare quali parole sono comuni tra loro. Successivamente, fai su quella tabella virtuale per sapere se quel numero è maggiore o uguale a uno. 

Se la risposta è sì, allora almeno una delle parole target è nel titolo del film. E questi sono i titoli che vogliamo mantenere nel risultato finale. 

Trovare utili strumenti di colonne divise di LuckyTemplates nella guida di SQLBI DAX

Per riflettere su come implementarlo, è possibile fare riferimento alla SQLBI DAX Guide passando a External Tools quindi a DAX Guide

LuckyTemplates Dividi colonna per delimitatori in DAX

In questa pagina è possibile cercare le funzioni per tipo facendo clic su Gruppi.

LuckyTemplates Dividi colonna per delimitatori in DAX

In Funzioni , puoi iniziare con Testo per vedere se ci sono funzioni di testo simili a colonne divise per delimitatori. Ciò renderebbe le cose abbastanza facili, ma sfortunatamente non c'è nulla che corrisponda a quello in DAX.

LuckyTemplates Dividi colonna per delimitatori in DAX

Invece, ciò che utilizzerai sono le che fanno la stessa cosa della divisione per delimitatore.

LuckyTemplates Dividi colonna per delimitatori in DAX

Funzioni di gerarchia genitore-figlio

Le funzioni gerarchiche padre-figlio o le funzioni PATH vengono in genere utilizzate per situazioni gerarchiche. Supponiamo che tu abbia bisogno di un'analisi delle risorse umane in cui hai il CEO di un'azienda, i manager a livello di direttore, i manager a livello di capo filiale e così via.

Le funzioni PATH possono esprimere questa gerarchia in un modo particolare e attraversarla avanti e indietro. Questo è l'uso tradizionale delle funzioni della gerarchia padre-figlio, ma si apprenderà che ha anche alcune proprietà molto utili per la manipolazione del testo e DAX.

Usarlo è molto più complicato di LuckyTemplates, ma speriamo di semplificare il processo fornendoti una soluzione dettagliata. È una tecnica utile da imparare e ti espone a una famiglia di funzioni DAX incredibilmente potenti.

Colonna divisa di LuckyTemplates in DAX

Le funzioni della gerarchia genitore-figlio comportano una serie di passaggi, ma vale la pena dare un'occhiata perché queste cinque funzioni sono davvero potenti e flessibili. 

Per iniziare, torna alla tabella e fai clic su Film nel riquadro Campi. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Crea un percorso film utilizzando il comando come mostrato di seguito.

LuckyTemplates Dividi colonna per delimitatori in DAX

Quello che fa questo comando è sostituire ogni spazio con un carattere di barra verticale. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Questo è lo stesso modo in cui i percorsi devono essere formattati in LuckyTemplates, quindi in genere questa operazione viene eseguita in Power Query. Tuttavia, l'hai fatto in questo modo per vedere i comandi , che sono diversi dai comandi M in Power Query. 

La funzione crea la struttura del percorso di cui hai bisogno, mentre il comando elimina eventuali spazi iniziali o finali che potrebbero influenzare i nostri risultati. 

La tua seconda colonna calcolata è la lunghezza del percorso. È un comando semplice nella funzione che applichi al percorso del film. Ti dirà quanti elementi ci sono su quel percorso, quindi in questo caso è il numero di parole nel titolo. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Lo stesso comando può essere utilizzato per determinare, ad esempio, il numero di persone nella catena di reporting. Ma questo caso è solo un semplice conteggio delle parole. 

LuckyTemplates Dividi colonna per delimitatori in DAX

La prossima cosa da fare è andare al Max Path Index nel riquadro Campi. Quindi, crea una tabella calcolata che attraversi l'intera tabella film, rimuove i filtri e calcola la lunghezza massima del percorso per conoscere il titolo più lungo nel database.

Utilizzando la funzione , è possibile generare una serie di indici con uno fino al percorso massimo contando per uno. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Ecco come dovrebbe essere il tuo tavolo. Vedrai tra un minuto perché questo è prezioso.

LuckyTemplates Dividi colonna per delimitatori in DAX

Per il momento, torna a LuckyTemplates e fai clic su Top Words in Film Path nel riquadro Fields. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Ci concentreremo su questa tabella virtuale la cui soluzione generale era il diagramma di Venn mostrato in precedenza. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Analizziamolo per capire meglio. Nelle righe seguenti, abbiamo utilizzato la tabella virtuale per le prime N parole, come calcolato di seguito. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Quindi la colonna divisa per delimitatore viene calcolata nelle righe sottostanti. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Successivamente, abbiamo applicato l'intersezione di queste due colonne. Se quell'intersezione è maggiore di zero, gli daremo uno oppure zero. Infine, abbiamo restituito il risultato.

LuckyTemplates Dividi colonna per delimitatori in DAX

Quando si lavora con tabelle virtuali complesse, il modo più semplice consiste nell'accedere all'editor tabulare , dove è possibile materializzare queste tabelle virtuali in una query DAX. Per questo, devi concentrarti sulle linee evidenziate di seguito. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Quindi, copia questo codice e lascialo negli appunti per i passaggi successivi. 

Elaborazione delle colonne suddivise in LuckyTemplates utilizzando l'editor tabulare 3

In Strumenti esterni, fare clic su Editor tabulare 3 . È anche possibile usare DAX Studio per questo, ma l'editor tabulare è consigliato a causa delle sue funzioni di debug aggiuntive e di altre funzionalità utili. Per le query DAX, anche DAX Studio funzionerà bene ed è totalmente gratuito. 

Nell'editor tabulare creare una nuova query DAX facendo clic sull'icona della carta sulla barra multifunzione. Digita VALUTA nella riga 1, incolla il codice copiato, quindi premi F5.

LuckyTemplates Dividi colonna per delimitatori in DAX

Otterrai una tabella con Film Path e Max Path per le prime due colonne. Per la terza colonna, utilizzerai il comando e il Film Path per determinare qual è la prima parola per ogni incremento dell'indice del percorso, da uno a nove. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Questo codice restituisce la prima parola presentata nella terza colonna. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Prova a guardare un film in particolare facendo clic sull'icona Filtro nel titolo della colonna Film [Percorso film] . Ad esempio, prendine uno un po' più lungo, diciamo Captain America: The Winter Soldier. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Nella parte inferiore della finestra, puoi vedere che EVALUATE ha restituito 1000 righe

LuckyTemplates Dividi colonna per delimitatori in DAX

Ottieni tutte le righe , quindi torna indietro e filtra di nuovo Film [Percorso film] per Capitan America.

LuckyTemplates Dividi colonna per delimitatori in DAX

Cerca Captain America: Il Soldato d'Inverno. Seleziona la casella appropriata e fai clic su Chiudi.

LuckyTemplates Dividi colonna per delimitatori in DAX

Quello che fa esattamente per ogni titolo è passare attraverso e applicare gli indici da uno a nove, come visto nella seconda colonna, e quindi applicarlo al comando

Puoi vedere che il primo oggetto è Captain , il secondo è America , il terzo è The , il quarto è Winter e l'ultimo è Soldier . Quando arrivi da sei a nove, è solo vuoto perché ha superato il numero di parole in quel particolare titolo. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Quello che hai creato è una colonna divisa per delimitatore, che è esattamente la stessa della divisione per delimitatore in Power Query. 

In LuckyTemplates, puoi vedere che il comando che esegue l'intersezione e l'istruzione IF. Quindi, se torni nel tuo set di dati e apri il riquadro Filtri, puoi vedere che Top Word in Film è filtrato in modo che sia uguale a uno. 

LuckyTemplates Dividi colonna per delimitatori in DAX

Questo sostanzialmente dice che tutto nella tabella di destra (Film) che ha una parola che è nell'elenco di destinazione nella tabella di sinistra sarà elencato nelle righe superiori. D'altra parte, quelli che sono zero verranno posizionati in basso.

LuckyTemplates Dividi colonna per delimitatori in DAX


Power Automate Split Function and Arrays
LuckyTemplates Esercitazione su Power Query divisa in colonne: come dividere le celle di Excel a più righe in LuckyTemplates
Creare un elenco delimitato in Power Query - Esercitazione sull'editor di query

Conclusione

In questo blog si è appreso come dividere le colonne in base al delimitatore in DAX. Troverai questo strumento davvero utile quando la tua situazione è molto dinamica o il tuo modello di dati non supporta l'esecuzione in Power Query.

Inoltre, il problema di esempio su cui hai lavorato è un buon esempio dell'insolita potenza dei comandi PATH e di come puoi usarli per risolvere problemi in modi non tradizionali.


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