Dela via


Metodtips för att optimera Q&A i Power BI

Det är kraftfullt att använda vanliga fraser och naturligt språk för att ställa frågor om dina data. Det är ännu mer kraftfullt när dina data svarar, vilket är vad Q&A-funktionen i Power BI gör.

För att Q&A ska kunna tolka den stora samling frågor som den kan svara på gör Q&A antaganden om modellen. Om modellens struktur inte uppfyller ett eller flera av dessa antaganden måste du justera din modell. Dessa justeringar för Q&A är samma metodoptimeringar för alla modeller i Power BI, oavsett om du använder Q&A.

Åtgärda dina frågor med hjälp av Q&A-verktyg

I följande avsnitt beskriver vi hur du justerar din modell så att den fungerar bra med Q&A i Power BI. Med Q&A-verktyg lär du dina huvudsakliga affärsvillkor till Q&A och löser frågor som slutanvändarna ställer. Ibland går det fortfarande inte att ta itu med frågor eftersom data har formats felaktigt eller data saknas. I det här fallet läser du följande avsnitt som hjälper dig att optimera Q&A. Mer information finns i Introduktion till Q&A-verktyg.

Lägga till saknade relationer

Om din modell saknar relationer mellan tabeller kan Power BI-rapporter och Q&A inte tolka hur tabellerna ska kopplas. Relationer är hörnstenen i en bra modell. Du kan till exempel inte be om "total försäljning för Seattle-kunder" om relationen mellan ordertabellen och kundtabellen saknas. Följande bilder visar en modell som behöver arbete och en modell som är redo för Q&A.

Behöver arbete

I den första bilden finns det inga relationer mellan tabellerna Kunder, Försäljning och Produkter.

Screenshot showing Customers, Sales, and Products tables with no connected relationships.

Redo för Q&A

I den andra bilden definieras relationer mellan tabellerna.

Screenshot showing Customers, Sales, and Products tables with interconnected relationships.

Byt namn på tabeller och kolumner

Valet av tabeller och kolumner är viktigt för Q&A. Anta till exempel att du har en tabell med namnet CustomerSummary som innehåller en lista över dina kunder. Du skulle behöva ställa en fråga som "Lista kundsammanfattningar i Chicago" i stället för "Visa en lista över kunder i Chicago".

Medan Q&A kan göra några grundläggande ordbrytning och identifiering av plural, förutsätter Q&A att dina tabell- och kolumnnamn korrekt återspeglar deras innehåll.

Ett annat exempel kan vara om du har en tabell med namnet Headcount som innehåller för- och efternamn och personalnummer. Du har en annan tabell med namnet Anställda som innehåller personalnummer, jobbnummer och startdatum. Personer som är bekant med modellen kan förstå den här strukturen. Någon annan som frågar "räkna de anställda" kommer att få ett antal rader från tabellen "Anställda". Detta resultat är förmodligen inte vad de hade i åtanke, eftersom det är en räkning av varje jobb som varje anställd någonsin har haft. Det skulle vara bättre att byta namn på dessa tabeller för att verkligen återspegla vad de innehåller.

Behöver arbete

Tabellnamn som StoreInfo och Produktlista behöver arbete.

Screenshot showing examples of table names that aren't optimal for Q and A.

Redo för Q&A

Tabeller med namnet Store och Produkter fungerar bättre.

Screenshot showing examples of table names that are optimal for Q and A.

Åtgärda felaktiga datatyper

Importerade data kan ha felaktiga datatyper. I synnerhet tolkas inte datum- och talkolumner som importeras som strängar av Q&A som datum och tal. Välj rätt datatyp i Power BI-modellen.

Screenshot showing the Formatting panel with the Data type and Date time format selected.

Ändra kolumninställningarna för år och identifierare

Power BI aggregerar numeriska kolumner som standard, så frågor som "total försäljning per år" kan ibland resultera i total försäljning tillsammans med totalsumman för år. Om du har specifika kolumner där du inte vill att Power BI ska uppvisa det här beteendet anger du standardegenskapen Sammanfattning i kolumnen till Sammanfatta inte. Tänk på kolumnerna År, Månad, Dag och ID , eftersom dessa kolumner är de vanligaste problemen. Andra kolumner som inte är lämpliga att summera, till exempel Ålder, kan också ha nytta av att ange standardsammanfattningen till Sammanfatta inte eller Till Genomsnitt. Den här inställningen finns i avsnittet Egenskaper när du har valt en kolumn.

Screenshot showing the Summarization field with Don't summarize selected.

Välj en datakategori för varje datum- och geografikolumn

Datakategorin ger kunskap om innehållet i en kolumn utöver dess datatyp. Du kan till exempel markera en heltalskolumn som ett postnummer eller en strängkolumn som stad, land/region. Q&A använder den här informationen på två viktiga sätt, för visualiseringsval och för språkfördomar.

För det första använder Q&A informationen om datakategori för att göra val om vilken typ av visuell visning som ska användas. Den identifierar till exempel att kolumner med datum- eller tidsdatakategorier är ett bra val för den vågräta axeln i ett linjediagram eller spelaxeln i ett bubbeldiagram. Det förutsätter att resultat som innehåller kolumner med geografiska datakategorier kan se bra ut på en karta.

För det andra gör Q&A några kvalificerade gissningar om hur användare sannolikt kommer att prata om datum- och geografikolumner för att hjälpa den att förstå vissa typer av frågor. Till exempel "när" i "När anställdes John Smith?" är nästan säker på att mappa till en datumkolumn, och "Brown" i "Count customers in Brown" är mer sannolikt en stad än en hårfärg.

Screenshot showing the Data category field with Uncategorized selected.

Välj en sortering efter kolumn för relevanta kolumner

Med egenskapen Sortera efter kolumn kan sortering i en kolumn automatiskt sortera en annan kolumn i stället. När du till exempel frågar "sortera kunder efter hattstorlek" vill du förmodligen att kolumnen Hattstorlek ska sorteras efter det underliggande storleksnumret (XS, S, M, L, XL) i stället för alfabetiskt (L, M, S, XL, XS).

Screenshot showing the Sort by column dropdown with Hat Size ID selected.

Normalisera din modell

Du behöver inte omforma hela modellen. Vissa strukturer är dock så svåra att Q&A inte hanterar dem väl. Om du utför en grundläggande normalisering av modellens struktur ökar användbarheten för Power BI-rapporter avsevärt, tillsammans med noggrannheten i Q&A-resultat.

Följ den här allmänna regeln: Varje unik "sak" som användaren pratar om ska representeras av exakt ett modellobjekt (tabell eller kolumn). Så om användarna pratar om kunder bör det finnas ett kundobjekt . Om användarna pratar om försäljning bör det finnas ett försäljningsobjekt . Det finns omfattande funktioner för dataformning i Power Query-redigeraren om du behöver dem. De enklare omvandlingarna kan justeras med hjälp av beräkningar i Power BI-modellen.

Följande avsnitt innehåller några vanliga transformeringar som du kan behöva utföra. Mer information om hur du normaliserar en modell finns i Normalisering jämfört med denormalisering i artikeln Förstå star-schema och vikten för Power BI .

Skapa nya tabeller för entiteter med flera kolumner

Om du har flera kolumner som fungerar som en enda distinkt enhet i en större tabell bör dessa kolumner delas upp i sin egen tabell. Anta till exempel att du har kolumnen Kontaktnamn, Kontaktrubrik och Kontakt Telefon i tabellen Företag. En bättre design skulle vara att ha en separat kontakttabell som innehåller namn, rubrik och Telefon och en länk tillbaka till tabellen Företag. Det gör det enklare att ställa frågor om kontakter oberoende av frågor om företag som de är kontakt för och förbättrar visningsflexiteten.

Behöver arbete

Screenshot showing a Suppliers table that includes contact information.

Redo för Q&A

Screenshot showing two tables, one for Suppliers and one for Contacts.

Pivot för att eliminera egenskapspåsar

Om du har egenskapspåsar i din modell bör de omstruktureras så att de har en enda kolumn per egenskap. Egenskapspåsar, även om de är praktiska för att hantera ett stort antal egenskaper, har inneboende begränsningar som Power BI-rapporter och Q&A inte är utformade för att kringgå.

Tänk dig till exempel en CustomerDemographics-tabell med kolumnerna CustomerID, Property och Value, där varje rad representerar en annan egenskap för kunden (till exempel ålder, civilstånd eller ort). Genom att överbelasta innebörden av kolumnen Värde baserat på innehållet i kolumnen Egenskap blir det omöjligt för Q&A att tolka de flesta frågor som refererar till den. En enkel fråga som "visa varje kunds ålder" kan hända att den fungerar, eftersom den kan tolkas som "visa kunderna och kunddemografin där egenskapen är ålder". Modellens struktur stöder dock inte mer komplexa frågor som "genomsnittlig ålder på kunder i Chicago". Användare som direkt skapar Power BI-rapporter kan ibland hitta smarta sätt att hämta de data de letar efter, men Q&A fungerar bara när varje kolumn har en enda betydelse.

Behöver arbete

Screenshot showing three columns with the headings Customer ID, Property, and Value.

Redo för Q&A

Screenshot showing three columns with the headings Customer ID, Age, Hat Size, and City.

Union för att eliminera partitionering

Om du har partitionerat dina data i flera tabeller eller har pivoterade värden i flera kolumner är vissa vanliga åtgärder svåra eller omöjliga för användarna att uppnå. Överväg först en typisk tabellpartitionering: en Sales2000-2010-tabell och en Sales2011-2020-tabell . Om alla dina viktiga rapporter är begränsade till ett visst decennium kan du förmodligen lämna det på det här sättet för Power BI-rapporter. Flexibiliteten i Q&A får dock användarna att förvänta sig svar på frågor som "total försäljning per år". För att den här frågan ska fungera måste du unionera data till en enda Power BI-modelltabell.

På samma sätt bör du överväga en typisk pivoterad värdekolumn: en BookTour-tabell som innehåller kolumnerna Författare, Bok, Stad1, Stad2 och Stad3. Med en struktur som denna kan inte ens enkla frågor som "räkna böcker efter stad" tolkas korrekt. För att den här frågan ska fungera skapar du en separat BookTourCities-tabell som delar upp stadsvärdena i en enda kolumn.

Behöver arbete

Screenshot showing a table with pivoted value columns, City 1, City 2, and City 3.

Redo för Q&A

Screenshot showing two tables, one with book and author information for tours and one with cities associated with the tours.

Dela upp formaterade kolumner

Om källan som du importerar dina data från innehåller formaterade kolumner, når Inte Power BI-rapporter (och Q&A) inuti kolumnen för att parsa innehållet. Om du till exempel har en kolumn med fullständig adress som innehåller kolumnerna adress, stad och land/region bör du också dela upp den i kolumnerna Adress, Stad och LandRegion så att användarna kan köra frågor mot dem individuellt.

Behöver arbete

Screenshot showing a table with two columns, Customer and Full Address.

Redo för Q&A

Screenshot showing a table with five columns, Customer, Full address, Address, City, and Country or Region.

Om du har kolumner med fullständigt namn för en person lägger du på samma sätt till kolumnerna Förnamn och Efternamn , ifall någon vill ställa frågor med hjälp av partiella namn.

Skapa nya tabeller för kolumner med flera värden

Även en liknande situation, om källan som du importerar dina data från innehåller kolumner med flera värden, kan Power BI-rapporter (och Q&A) inte nå inuti kolumnen för att parsa ut innehållet. Om du till exempel har en Composer-kolumn som innehåller namnen på flera kompositörer för en låt delar du upp den i flera rader i en separat composers-tabell .

Behöver arbete

Screenshot showing a table with four columns, ID, Name, Genre, and Composers.

Redo för Q&A

Screenshot showing two tables, one with ID, Name, and Genre and one with ID and Composer.

Avnormalisera för att eliminera inaktiva relationer

Det enda undantaget till regeln "normalisering är bättre" inträffar när det finns mer än en sökväg att hämta från en tabell till en annan. Anta till exempel att du har en flygtabell med kolumnerna SourceCityID och DestinationCityID, som var och en är relaterade till tabellen Städer. En av dessa relationer måste markeras som inaktiv. Eftersom Q&A bara kan använda aktiva relationer kan du inte ställa frågor om varken källa eller mål, beroende på vilken du har valt. Om du i stället avnormaliserar kolumnerna för stadsnamn i tabellen Flyg kan du ställa frågor som "lista flygningarna för morgondagen med en källstad i Seattle och en målstad i San Francisco".

Behöver arbete

Screenshot showing two tables, Flights and Airports.

Redo för Q&A

Screenshot showing one table named Flights. The columns from the Airports table are added to the Flights table.

Lägga till synonymer i tabeller och kolumner

Det här steget gäller specifikt för Q&A (och inte för Power BI-rapporter i allmänhet). Användare har ofta många termer som de använder för att referera till samma sak, till exempel total försäljning, nettoförsäljning och total nettoförsäljning. Du kan lägga till dessa synonymer i tabeller och kolumner i Power BI-modellen.

Det här steget kan vara viktigt. Även med enkla tabell- och kolumnnamn ställer användare av Q&A frågor med hjälp av det ordförråd som först kommer till dem. De väljer inte från en fördefinierad lista med kolumner. Ju mer förnuftiga synonymer du lägger till, desto bättre är din användares upplevelse med rapporten. Om du vill lägga till synonymer går du till vyn Modell i Power BI Desktop genom att välja fliken Modell och sedan välja ett fält eller en tabell. Fönstret Egenskaper visar rutan Synonymer , där du kan lägga till synonymer.

Screenshot showing the Q&A Properties pane with the Synonyms field highlighted.

Tänk på att lägga till samma synonym i mer än en kolumn eller tabell medför tvetydighet. Q&A använder kontext där det är möjligt att välja mellan tvetydiga synonymer, men inte alla frågor har tillräcklig kontext. När en användare till exempel frågar "räkna kunderna" om du har tre saker med synonymen "kund" i din modell kanske användaren inte får det svar de letar efter. I dessa fall gör du den primära synonymen unik eftersom synonymen är det som används i omarbetningen. Det kan varna användaren för tvetydigheten (till exempel en omskrivning av "visa antalet arkiverade kundposter"), vilket antyder att de kanske vill fråga det annorlunda.