Skapa en datumtabell i LuckyTemplates
Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.
För dagens handledning kommer vi att bygga en LuckyTemplates-anpassad frågefunktion som kommer att hantera ett vanligt svårhanterligt format av staplade data. Denna teknik är lätt att återanvända på flera rapporter och flera tabeller. Du kan se hela videon av denna handledning längst ner på den här bloggen.
Det här är en fortsättning på den självstudie jag gjorde nyligen där vi behandlade ett vanligt svårhanterligt format av staplade data och använde Modulo, Pivot och några rengöringsfunktioner med Power Query för att omvandla dessa data till ett organiserat och funktionellt format.
Det är mycket troligt att du kommer att behöva upprepa denna process. Om den här typen av format är resultatet av kopiering och inklistring kommer det förmodligen att hända igen. Så i det här fallet vill du förmodligen bygga en anpassad funktion som kommer att kunna återanvändas på flera rapporter och flera tabeller, oavsett hur de heter och vad mer som finns i dessa tabeller.
Innehållsförteckning
Hur man skapar och felsöker LuckyTemplates anpassade frågefunktioner
Låt oss hoppa in i Power Query om detta. Om vi går till vår datatabell, i Advanced Editor, har vi M-koden för hur vi slutade gå från den stackdatan till önskat format.
Om vi vill återanvända detta, högerklickar vi bara på Data och säger, Skapa funktion .
Det står att det inte kommer att referera till någon parameter, men det är okej att skapa en funktion utan parametrar. Vi kommer att svara, Ja, eftersom vi kommer att lägga till parametrarna allt eftersom i Advanced Editor. Vi kallar den här funktionen, Unstack – 3 Elements , bara för att vi har de tre raderna i råformatet. Om vi hade ett format med två rader, skulle vi förmodligen bygga ett separat som var två eller fyra element.
Så nu har vi den här Invoke, vi har inga parametrar, och låt oss gå till Advanced Editor och börja arbeta med den här.
För det första behöver vi inte denna källa. Vi kommer att använda funktionsparametrarna för att definiera vår källa.
Vi vill definiera parametern som kommer in. Vi gör det med en öppen parentes och sedan ett parameternamn. Låt oss kalla detta, Stack , som kommer att vara den där kolumnen med data som är den oformaterade stackdata som kom in från inklistringen av e-postadresserna.
Vi vill att detta ska komma in som en lista och vi vill att det ska resultera i en tabell eftersom när vi kopplar bort den från den enstaka kolumnen till flera kolumner, går den från en lista till en tabell. Och nu måste vi konvertera den inkommande listan till en tabell så att vi kan lägga till vårt index, initiera vår Modulo unpivot och göra allt vi behöver göra för att formatera om det.
Vi kallar det ConvertStack , och det kommer att använda en funktion som heter Table.FromList . Liksom många av M-funktionerna gör den precis vad den säger. Det krävs bara en lista. I det här fallet kommer listan att vara vår stacklista. Och sedan måste vi ersätta källan här med vår ConvertStack. Det ser ganska bra ut! Vi har inga syntaxfel, så låt oss trycka på Klar.
Nu ger det oss vad vi ville ha, vilket är möjligheten att välja en kolumn.
Sedan kommer vi att välja TestData, som är felformaterad data. Vi väljer kolumnen Värde och klickar sedan på OK. Efter det klickar vi på Invoke.
Vi får dock detta fel. Det är verkligen svårt att fastställa vad det här felet är. Ett av problemen med anpassade funktioner är att de inte bryter ut de tillämpade stegen, du får bara ett steg för hela den anpassade funktionen. Men det finns en väg runt det i felsökningen som jag ska visa dig. Det kommer att göra det mycket lättare att ta reda på vad som händer här.
Istället för att köra detta för tillfället som en funktion, kommer vi att köra det som en fråga. Vi ska bara initiera det stackanropet manuellt. Vi måste definiera vad Stack är eftersom vi inte ritar det genom interaktionen med att välja det i Invoke. Så vi har Stack lika med TestData och värdekolumnen i TestData.
Vad det gör är att det bryter ner det nu i de tillämpade stegen. Detta kommer att hjälpa oss att ta reda på varför detta inte fungerar. Lägg märke till en intressant sak när vi drar in Stack. Till en början drar den in TestData[Value], men när vi konverterar den till en tabell, istället för Value är kolumnrubriken, är kolumnrubriken nu Kolumn1.
Kom ihåg felmeddelandet, det var att det inte kunde hitta kolumnen Värde. Anledningen till att den inte kunde hitta kolumnen Värde är att funktionen Table.FromList byter namn på den till Kolumn1.
Om vi går ner i Applied Steps kan du se att det är i Added Custom-steget där vi får felet. Det var här värdet på posten inte hittades.
Och så, om vi går till den avancerade redigeraren, hittar vi det anpassade fältet, och vi kan se att det finns i Text.Remove där vi tar ut de skräptecken som vi inte behövde, men det hänvisar fortfarande till fältet Värde. Vi ändrar det till kolumn1. På samma sätt, i fältet Borttagna kolumner, hänvisar det till Värde, så vi ändrar det till Kolumn1 också.
Och när vi kommer till slutet av de tillämpade stegen ger det det perfekta slutresultatet.
Nu när vi vet att detta fungerar rätt har vi bara en sak till att göra. Kom ihåg att för att felsöka det, gjorde vi den anpassade funktionen till en fråga. Och så, nu måste vi ta den frågan och förvandla den tillbaka till en funktion.
Slutsats
I den här handledningen har vi byggt den här anpassade funktionen, felsökt den, testat den och den fungerar utmärkt. Och nu, när som helst vi har en stack med tre element, kan vi bara välja den tabellen, välja den kolumnen i tabellen och köra den anpassade funktionen. Applicera sedan Modulo, unpivoten och städa upp.
Detta borde ge dig några bra verktyg när det gäller att skapa anpassade funktioner. Kom också ihåg det tricket om felsökning genom att göra om det till en fråga från en funktion och sedan byta tillbaka det efter felsökningen. Det är ett riktigt värdefullt verktyg som gör det mycket lättare att felsöka anpassade funktioner.
Med vänliga hälsningar!
Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.
Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.
I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.
Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.
Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.
I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.
I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.
I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.
I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.
Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.