Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
LuckyTemplates virtuele tabel is mijn persoonlijke favoriete DAX-onderwerp. Ze zijn de sleutel tot het ontsluiten van de volledige kracht van DAX. Virtuele tabellen zijn het enige type tabellen binnen LuckyTemplates dat volledig dynamisch is, en er zijn problemen die alleen kunnen worden opgelost door virtuele tabeltechnieken toe te passen binnen uw maatregelen. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.
In deze zelfstudie deel ik mijn top 5 tips en trucs die ik in de loop der jaren heb verzameld en die me echt hebben geholpen om te begrijpen en te debuggen wat er gebeurt in virtuele Power Bi-tabellen.
Het voorbeeld waar ik vandaag doorheen ga lopen is van het en het komt van een lid genaamd Dave C, die werkt in industriële veiligheid. Dave had een reeks veiligheidsscores en hij wilde die normaliseren zodat de topscore 10 was, en dan dynamisch de Nde in die lijst bedenken.
Aanvankelijk dachten we dit te doen door middel van een eenvoudige meting, maar later realiseerden we ons dat veel van zijn genormaliseerde waarden verbanden hebben. Als u bijvoorbeeld het zevende item op de lijst wilt, komt er geen nummer zeven in een RANKX. Er is geen gemakkelijke manier om dat uit een filterconditie te halen. Dus hebben we gekozen voor een op gebaseerde maatstaf, zodat deze altijd het n-de getal zou aftellen.
Dit is vergelijkbaar met wanneer je de zevende kaart uit een kaartspel trekt, je telt zeven kaarten, en dan draai je die stapel van zeven om, en de onderste kaart is degene die je wilt. We gaan het equivalent daarvan doen in een TOPN-maat.
Inhoudsopgave
Tip 1: gebruik een externe tool om uw virtuele LuckyTemplates-tabel te visualiseren
U kunt DAX Studio of de Tabular Editor gebruiken. In dit voorbeeld gebruik ik de Tabular Editor 3 (TE3). Het is technisch mogelijk om dit te doen met behulp van het tabblad Modellering - Nieuwe tabel, maar dat gaat fysieke tabellen maken binnen uw gegevensmodel. Je zult handmatig moeten schakelen tussen dat en de editor en het is gewoon een langzame en moeilijke manier om het te doen.
Als u de dynamische manier ziet waarop dit kan worden gedaan via een externe tool, ziet u het voordeel.
Dus binnen de TE3 maken we een nieuwe DAX-query. We kunnen onze eerste meting nemen en deze kopiëren naar onze DAX-query.
Als u het zich herinnert, beginnen DAX-query's altijd met EVALUATE . We krijgen in eerste instantie een foutmelding omdat DAX-query's tabellen retourneren . Dit was een maat met de laatste twee variabelen die scalair zijn. Wat we hier kunnen doen, is de retourwaarde wijzigen , wat mijn volgende tip is.
Tip #2: Foutopsporing in uw virtuele LuckyTemplates-tabel in delen met behulp van variabelen
U kunt virtuele tabellen op vrijwel dezelfde manier debuggen als met metingen - stuk voor stuk, door de geretourneerde waarde te wijzigen. Laten we beginnen met de eerste virtuele tafel, de vEvalTable . We vervangen gewoon de RETURN-waarde (Final) door onze eerste variabele (VAR). En u kunt zien dat de fout verdwijnt omdat de DAX-query nu een tabel krijgt.
In de vEvalTable nemen we de originele gegevens, de veiligheidsscores, en we normaliseren die en voegen die kolom Normalized Value toe aan de virtuele tabel. We hebben de index, de waarde van de regio en de genormaliseerde waarde. We kunnen deze waarden naar boven of beneden sorteren en de waarden ook filteren.
Dit geeft ons precies wat we hadden verwacht. Het retourneert 50 rijen, wat de volledige dataset is. Dat gaat allemaal goed, dus laten we naar beneden gaan en de volgende tabel verkennen, de vTableTopN . In deze tabel nemen we TOPN met behulp van de waarde van de schuifregelaar voor het n-de item. In dit voorbeeld hebben we die zevende waarde van de virtuele tabel hierboven (vEvalTable) en nemen we die TOPN op basis van de genormaliseerde waarde in aflopende volgorde.
Dus als we onze RETURN-functie daarin veranderen, valt deze weg en krijgen we niets. Laten we eens kijken waarom, omdat dit een heel belangrijk concept is voor het debuggen en begrijpen van virtuele tabellen.
Als we naar de formule kijken, hebben we hier de Nth Item Slider Value als hoofdverdachte. Terug naar LuckyTemplates, we kunnen zien dat dit in feite gewoon het getal zeven is. Merk op dat schuifregelaars bestaan binnen de context van een pagina .
En dus, in dit geval, als we kijken naar het debuggen van die tabel uit de context, heeft die geselecteerde waarde geen context eromheen . Het heeft niets in termen van het kunnen trekken van dat aantal. We kregen een TOPN, maar we weten niet wat de N is in TOPN omdat die geselecteerde waarde een spatie retourneert.
Hoe pakken we dat aan? Laten we eens kijken naar de geselecteerde waardemaatstaf. Meestal letten we altijd op de eerste parameter in , maar er is een tweede parameter, die een alternatief is. Dit brengt ons bij mijn derde tip.
Tip #3: Gebruik de alternatieve parameter in SELECTEDVALUE
Wat hier is gebeurd, is dat het de blanco heeft getrokken als de plaatsvervanger. Maar wat we willen doen (voor foutopsporingsdoeleinden) is dat we hier een echte waarde willen toevoegen . Dus we zetten het nummer 7 en slaan dat op.
Nu hebben we enkele waarden. Het retourneert zeven rijen, wat precies is wat het zou moeten vanwege die TOPN-waarde van zeven.
Laten we verder gaan naar de volgende virtuele tabel, de vTableNthItem . We hebben die stapel van zeven kaarten, en deze tafel draait het eigenlijk om. We zaten in aflopende volgorde in de vorige tabel en nu zijn we in oplopende volgorde.
Als we dit nemen en kopiëren naar de RETURN-sectie, krijgen we de resultaten. Het is interessant dat het niet één rij retourneert. Het retourneert drie rijen omdat deze drie gelijk zijn. Dat is precies de reden waarom we in dit geval TOPN gebruiken in plaats van RANKX.
Laten we nu naar Resultaat gaan . Als we het VAR-resultaat naar de RETURN-sectie kopiëren, komt dit bij mijn vierde tip.
Tip #4: gebruik { } om scalars in tabellen te veranderen
Binnen de formule nemen we de max ( ) van dat vTableNthItem en geven we de genormaliseerde waarde terug. Dit kan zijn , het kan zijn , het kan zijn . Het is gewoon een aggregator die die ene waarde in die tabel retourneert. En dus, als we dit naar beneden kopiëren, geeft het ons een fout omdat dit nu een scalair is.
Maar dit is mijn vierde tip, die betrekking heeft op foutopsporing. Wat je kunt doen is gewoon de accolades toevoegen . Door dit te doen, verandert het dat scalair in een tabel.
En wat we hier hebben, is slechts een laatste foutcontrole. Als blijkt dat de evaluatietabel kleiner is dan het aantal rijen, worden er onvoldoende gegevens geretourneerd. Maar we weten in dit geval dat onze dataset groot genoeg is. We kunnen dat echter gewoon testen door Final in te typen . Nogmaals, omdat dat een scaler is, hebben we ook de accolades nodig, en we krijgen hier dezelfde waarde.
We hebben deze virtuele tabel onderzocht en er fouten in opgezocht, en we hebben de alternatieve waarde in de SELECTEDVALUE gebruikt om te voorkomen dat deze uit de context valt. Nu wil ik je nog een extra tip laten zien die ik erg nuttig vond.
Tip #5: Gebruik CONCATENATEX/UNICHAR om een tabel in een scalar te veranderen
In de context van het debuggen, wil je in LuckyTemplates zien hoe die tabel eruitziet. De algemene regel is dat een meting alleen een scalair kan retourneren, geen tabel. Maar er is één cheat die ik je ga laten zien waarmee het quasi een tafel kan retourneren.
Laten we eens kijken naar deze maatstaf, dat is Visualized Virtual Table , en we hebben hier alle virtuele tabellen die we aanvankelijk hadden. We willen bijvoorbeeld, laten we zeggen op de voorste rapportpagina, de vTableTopN weergeven.
U kunt deze functie gebruiken. U kunt die virtuele tabelnaam (vTableTopN) nemen en de waarden in die tabel nemen en ze samenvoegen. U kunt iets maken dat er in feite uitziet als een virtuele tafel.
Als we deze maatregel nemen, moeten we teruggaan naar LuckyTemplates en dit in een kaartmaatregel laten vallen. Meestal geeft de tabel een foutmelding, maar via CONCATENATEX veranderde het die tabel in een scaler. Je kunt zien dat het redelijk primitief is, maar het geeft precies terug wat we verwachten en dat op een dynamische manier.
Het is een manier om een tabel in een maat te duwen en dat in je rapport te laten zien. Het is een heel nuttige debugging-truc. Het biedt een goed formaat in een kaartwaarde die u in een rapport kunt gebruiken.
Beheers virtuele tabellen in LuckyTemplates DAX virtuele tabellen gebruiken
binnen itererende functies in LuckyTemplates - DAX-concepten
Tabellen in LuckyTemplates: typen en onderscheidingen
Conclusie
Hopelijk geeft deze tutorial je wat stof tot nadenken over het werken met een virtuele LuckyTemplates-tabel. Dit zijn enkele aanvullende tips en trucs om te begrijpen wat er aan de hand is binnen uw virtuele tafels. Ik hoop dat je dat nuttig vond.
Bezoek onze website voor meer LuckyTemplates-tutorials en bekijk de onderstaande links voor meer gerelateerde inhoud.
Al het beste!
Wat is zelf in Python: voorbeelden uit de echte wereld
Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.
In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.
Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.
Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.
Wat is LuckyTemplates Gateway? Alles wat u moet weten