Sdílet prostřednictvím


Osvědčené postupy pro optimalizaci Q&A v Power BI

Použití běžných frází a přirozeného jazyka k kladení otázek na vaše data je velmi efektivní. Je ještě výkonnější, když vaše data odpoví, což je funkce Q&A v Power BI.

Aby služba Q&A mohla úspěšně interpretovat velkou kolekci otázek, na které dokáže reagovat, Q&A vytváří předpoklady o modelu. Pokud struktura modelu nesplňuje jeden nebo více těchto předpokladů, musíte model upravit. Tyto úpravy pro Q&A jsou stejné optimalizace osvědčených postupů pro každý model v Power BI bez ohledu na to, jestli používáte Q&A.

Řešení otázek pomocí nástrojů Q&A

V následujících částech popisujeme, jak upravit model tak, aby dobře fungoval s Q&A v Power BI. Pomocí nástrojů Q&A naučíte základní obchodní pojmy Q&A a opravíte otázky, které si koncoví uživatelé ptají. Někdy se stále nedají otázky vyřešit, protože data jsou nesprávně tvarovaná nebo chybí data. V tomto případě si přečtěte následující části, které vám pomůžou optimalizovat Q&A. Další informace najdete v tématu Úvod do nástrojů Q&A.

Přidání chybějících relací

Pokud v modelu chybí relace mezi tabulkami, sestavy Power BI a Q&A nemůžou interpretovat, jak tyto tabulky spojit. Vztahy jsou základním kamenem dobrého modelu. Pokud například chybí relace mezi tabulkou objednávek a tabulkou Customers , nemůžete požádat o "celkové prodeje zákazníků v Seattlu". Následující obrázky znázorňují model, který potřebuje pracovat, a model, který je připravený pro Q&A.

Potřebuje pracovat

Na prvním obrázku nejsou mezi tabulkami Zákazníci, Prodej a Produkty žádné relace.

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

Připraveno pro Q&A

Na druhém obrázku jsou relace definované mezi tabulkami.

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

Přejmenování tabulek a sloupců

Volba tabulek a sloupců je důležitá pro Q&A. Řekněme například, že máte tabulku s názvem CustomerSummary , která obsahuje seznam vašich zákazníků. Místo "Výpis zákazníků v Chicagu" je potřeba položit otázku, například "Vypsat souhrny zákazníků v Chicagu".

Q&A sice může provádět základní dělení slov a zjišťování množného čísla, ale Q&A předpokládá, že názvy tabulek a sloupců přesně odpovídají jejich obsahu.

Dalším příkladem může být tabulka s názvem Headcount , která obsahuje křestní jména a příjmení a čísla zaměstnanců. Máte další tabulku s názvem Zaměstnanci , která obsahuje čísla zaměstnanců, čísla pracovních míst a data zahájení. Lidé znalost modelu by mohla tuto strukturu pochopit. Někdo jiný, kdo se zeptá, že "count the employees" získá počet řádků z tabulky Zaměstnanci. Tento výsledek pravděpodobně není to, co měli na mysli, protože je to počet každé práce, kterou kdy měl každý zaměstnanec. Bylo by lepší přejmenovat tyto tabulky tak, aby skutečně odrážely, co obsahují.

Potřebuje pracovat

Názvy tabulek, jako jsou StoreInfo a Product List , potřebují pracovat.

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

Připraveno pro Q&A

Tabulky s názvem Store a Products fungují lépe.

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

Oprava nesprávných datových typů

Importovaná data můžou mít nesprávné datové typy. Konkrétně sloupce kalendářních dat a čísel importovaných jako řetězce nejsou interpretovány funkcí Q&A jako kalendářní data a čísla. Vyberte správný datový typ v modelu Power BI.

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

Změna nastavení sloupce roků a identifikátorů

Power BI ve výchozím nastavení agreguje číselné sloupce, takže dotazy jako "celkový prodej podle roku" můžou někdy vést k celkovému součtu prodeje společně s celkovým součtem let. Pokud máte konkrétní sloupce, u kterých nechcete, aby Power BI toto chování projevil, nastavte výchozí vlastnost Souhrn ve sloupci na Hodnotu Nevystihovejte souhrn. Mějte na paměti sloupce Year, Month, Day a ID , protože tyto sloupce jsou nejčastějšími problémy. Jiné sloupce, které nejsou rozumné sečíst, jako je věk, můžou také těžit z nastavení výchozího souhrnu na Nevyhrnovat ani průměr. Toto nastavení je v části Vlastnosti po výběru sloupce.

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

Volba kategorie dat pro každý sloupec data a zeměpisné oblasti

Kategorie dat poskytuje informace o obsahu sloupce nad rámec jeho datového typu. Můžete například označit celočíselné sloupce jako PSČ nebo řetězcový sloupec jako Město, Země/oblast. Q&A používá tyto informace dvěma důležitými způsoby pro výběr vizualizace a pro jazykové předsudky.

Nejprve Q&A použije informace o kategorii dat, které vám pomůžou zvolit, jaký druh vizuálu se má použít. Rozpozná například, že sloupce s kategoriemi dat data nebo času jsou dobrou volbou pro vodorovnou osu spojnicového grafu nebo pro osu přehrávání bublinového grafu. Předpokládá se, že výsledky obsahující sloupce s geografickými kategoriemi dat můžou vypadat dobře na mapě.

Za druhé, Q&A dělá některé informované odhady o tom, jak uživatelé budou pravděpodobně mluvit o datech a zeměpisných sloupcích, aby lépe porozuměl určitým typům otázek. Například "kdy" ve výrazu "Kdy byl najal John Smith?" je téměř jisté, že mapuje na sloupec kalendářních dat a "Brown" v části "Count customers in Brown" (Počet zákazníků v Brownu) bude pravděpodobně město než barva vlasů.

Screenshot showing the Data category field with Uncategorized selected.

Volba sloupce Seřadit podle pro relevantní sloupce

Vlastnost Seřadit podle sloupce umožňuje řazení v jednom sloupci automaticky seřadit jiný sloupec. Když například požádáte "seřadit zákazníky podle velikosti klobouku", pravděpodobně chcete, aby sloupec Hat Size seřadil podle čísla podkladové velikosti (XS, S, M, L, XL) místo abecedy (L, M, S, XL, XS).

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

Normalizace modelu

Nemusíte přetváření celého modelu. Některé struktury jsou ale tak obtížné, že Q&A je nezvládá dobře. Pokud provádíte základní normalizaci struktury modelu, zvyšuje se použitelnost sestav Power BI výrazně spolu s přesností výsledků Q&A.

Postupujte podle tohoto obecného pravidla: Každá jedinečná věc, o které uživatel mluví, by měla být reprezentována přesně jedním objektem modelu (tabulkou nebo sloupcem). Takže pokud vaši uživatelé mluví o zákaznících, měl by existovat jeden objekt zákazníka . Pokud vaši uživatelé mluví o prodeji, měl by existovat jeden objekt prodeje . V Editor Power Query jsou k dispozici bohaté možnosti tvarování dat, pokud je potřebujete. Jednodušší transformace je možné upravit pomocí výpočtů v modelu Power BI.

Následující části obsahují některé běžné transformace, které možná budete muset provést. Další informace o normalizaci modelu najdete v článku Vysvětlení hvězdicového schématu a důležitosti pro Power BI .

Vytvoření nových tabulek pro entity s více sloupci

Pokud máte více sloupců, které fungují jako jedna samostatná jednotka v rámci větší tabulky, měly by se tyto sloupce rozdělit do vlastní tabulky. Řekněme například, že máte v tabulce Společnosti sloupec Jméno kontaktu, Název kontaktu a Kontakt Telefon. Lepším návrhem by bylo mít samostatnou tabulku Kontakty, která bude obsahovat název, název a Telefon a odkaz zpět na tabulku Společnosti. To usnadňuje kladení otázek týkajících se kontaktů nezávisle na otázkách týkajících se společností, pro které jsou kontaktem, a zlepšuje flexibilitu zobrazení.

Potřebuje pracovat

Screenshot showing a Suppliers table that includes contact information.

Připraveno pro Q&A

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

Pivot pro odstranění sáčků vlastností

Pokud máte v modelu kontejnery vlastností, měly by být restrukturované tak, aby měly jeden sloupec pro každou vlastnost. Tašky s vlastnostmi, které jsou vhodné pro správu velkého počtu vlastností, mají svá omezení, která sestavy Power BI a Q&A nejsou navržené tak, aby fungovaly.

Představte si například tabulku CustomerDemographics se sloupci CustomerID (ID zákazníka), Property (Vlastnost) a Value (Hodnota), kde každý řádek představuje jinou vlastnost zákazníka (například věk, rodinný stav nebo město). Když přetížíte význam sloupce Hodnota na základě obsahu sloupce Vlastnost, Q&A nebude možné interpretovat většinu dotazů, které na něj odkazují. Jednoduchá otázka, jako je například "show the age of each customer" (zobrazit věk každého zákazníka), se může stát, že se jedná o "show the customers and customer demographics where property is age" (zobrazit zákazníky a demografické údaje zákazníka, kde je vlastnost věk). Struktura modelu ale nepodporuje složitější otázky, jako je "průměrný věk zákazníků v Chicagu". I když uživatelé, kteří přímo vytvořili sestavy Power BI, můžou někdy najít chytré způsoby, jak získat data, která hledají, Q&A funguje jenom v případě, že každý sloupec má jeden význam.

Potřebuje pracovat

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

Připraveno pro Q&A

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

Sjednocení pro odstranění dělení

Pokud jste data rozdělili do více tabulek nebo jste přetáhli hodnoty napříč více sloupci, některé běžné operace jsou pro uživatele obtížné nebo nemožné. Nejprve zvažte typické dělení tabulek: tabulku Sales2000-2010 a tabulku Sales2011-2020 . Pokud jsou všechny důležité sestavy omezené na konkrétní desetiletí, pravděpodobně byste je mohli nechat tímto způsobem pro sestavy Power BI. Flexibilita Q&A ale vede uživatele k tomu, aby očekávali odpovědi na otázky, jako je "celkový prodej po roce". Aby tento dotaz fungoval, musíte data sjednocovat do jedné tabulky modelu Power BI.

Podobně zvažte typický kontingenční sloupec hodnot: tabulka BookTour obsahující sloupce Author, Book, City1, City2 a City3. Díky podobné struktuře není možné správně interpretovat i jednoduché otázky, jako je "count books by city". Aby tento dotaz fungoval, vytvořte samostatnou tabulku BookTourCities , která sjednocuje hodnoty měst do jednoho sloupce.

Potřebuje pracovat

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

Připraveno pro Q&A

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

Rozdělení formátovaných sloupců

Pokud zdroj, ze kterého data importujete, obsahuje formátované sloupce, sestavy Power BI (a Q&A) se ve sloupci nedostanou, aby parsovaly jeho obsah. Pokud tedy máte například sloupec Úplná adresa , který obsahuje adresu, město a zemi/oblast, měli byste ho také rozdělit do sloupců Adresa, Město a Země, aby se na ně uživatelé mohli dotazovat jednotlivě.

Potřebuje pracovat

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

Připraveno pro Q&A

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

Podobně platí, že pokud máte sloupce s celým jménem osoby, přidejte sloupce Jméno a Příjmení , stačí, když někdo chce položit otázky s použitím částečných jmen.

Vytvoření nových tabulek pro sloupce s více hodnotami

Podobná situace je také taková, že pokud zdroj, ze kterého data importujete, obsahuje sloupce s více hodnotami, nemůže se sestavy Power BI (a Q&A) spojit uvnitř sloupce, aby se obsah parsuje. Pokud tedy máte například sloupec Composer, který obsahuje jména více skladatelů skladby, rozdělte ho na několik řádků v samostatné tabulce Composers .

Potřebuje pracovat

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

Připraveno pro Q&A

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

Denormalizace odstranění neaktivních relací

K jedné výjimce pravidla "normalizace je lepší" dochází v případě, že existuje více než jedna cesta k získání z jedné tabulky do druhé. Řekněme například, že máte tabulku Flights se sloupci SourceCityID i DestinationCityID, z nichž každá souvisí s tabulkou Města . Jedna z těchto relací musí být označena jako neaktivní. Vzhledem k tomu, že Q&A může používat jenom aktivní relace, nemůžete klást otázky týkající se zdroje nebo cíle v závislosti na tom, kterou možnost zvolíte. Pokud místo toho denormalizujete sloupce názvů měst do tabulky Lety , můžete klást otázky, jako je například "list the flights for tomorrow with a source city of Seattle and a destination city of San Francisco" (Seznam letů pro zítra se zdrojovým městem Seattle a cílovým městem San Francisca).

Potřebuje pracovat

Screenshot showing two tables, Flights and Airports.

Připraveno pro Q&A

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

Přidání synonym do tabulek a sloupců

Tento krok platí konkrétně pro Q&A (a ne pro sestavy Power BI obecně). Uživatelé často používají mnoho termínů, které používají k odkazům na stejnou věc, jako jsou celkové prodeje, čisté prodeje a celkové čisté prodeje. Tato synonyma můžete přidat do tabulek a sloupců v modelu Power BI.

Tento krok může být důležitý. I s jednoduchými názvy tabulek a sloupců se uživatelé Q&A ptají pomocí slovníku, který jim přijde jako první. Nevybírali z předdefinovaného seznamu sloupců. Čím rozumnější synonyma přidáte, tím lépe bude prostředí uživatele s vaší sestavou. Pokud chcete přidat synonyma, v Power BI Desktopu přejděte do zobrazení Model tak, že vyberete kartu Model a pak vyberete pole nebo tabulku. V podokně Vlastnosti se zobrazí pole Synonyma , kde můžete přidat synonyma.

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

Mějte na paměti, že přidání stejného synonyma do více sloupců nebo tabulek představuje nejednoznačnost. Q&A používá kontext, kde si můžete vybrat mezi nejednoznačnými synonymy, ale ne všechny otázky mají dostatečný kontext. Když například uživatel požádá "count the customers" (spočítat zákazníky), pokud máte ve svém modelu tři věci se synonymem "customer", nemusí uživatel získat odpověď, kterou hledá. V těchto případech je primární synonymum jedinečné, protože toto synonymum se používá v přeformulování. Může uživatele upozornit na nejednoznačnost (například změna stavu "show the number of archived customer records"), což naznačuje, že by ho mohl chtít požádat jinak.