Melhores práticas para otimizar a P e R no Power BIBest practices to optimize Q&A in Power BI

Usar linguagem natural e expressões comuns para fazer perguntas sobre seus dados é eficiente.Using common phrases and natural language to ask questions of your data is powerful. Ainda mais avançado é quando os seus dados dão as respostas, exatamente o que a P e R no Power BI faz.Even more powerful is when your data answers, which is what Q&A in Power BI does.

Para habilitar P e R para interpretar com êxito a coleção de perguntas a qual é capaz de responder, a seção de P e R deve fazer suposições sobre o modelo.To enable Q&A to successfully interpret the large collection of questions it's capable of responding to, Q&A must make assumptions about the model. Se a estrutura do modelo não atender a uma ou mais dessas suposições, ajuste o modelo.If the structure of your model doesn't meet one or more of these assumptions, you need to adjust your model. Esses ajustes para P e R são as mesmas otimizações de práticas recomendadas para qualquer modelo no Power BI, independentemente se você usar P e R.Those adjustments for Q&A are the same best-practice optimizations for any model in Power BI, regardless whether you use Q&A.

Nas seções a seguir, descrevemos como ajustar o modelo para que funcione bem com P e R no Power BI.In the following sections, we describe how to adjust your model so it works well with Q&A in Power BI.

Ajustes automáticos feitos pela P e RAutomatic adjustments that Q&A makes

Tabelas de medidasMeasure tables

Nas versões anteriores da P e R, as tabelas de medidas confundiam a P e R, pois a tabela subjacente era desconectada.In previous versions of Q&A, measure tables would confuse Q&A as the underlying table was disconnected. A P e R funciona corretamente com as tabelas de medidas agora.Q&A works just fine with measure tables now.

Nomes de tabelas em conflito com nomes de colunasTable names conflicting with column names

Nas versões anteriores da P e R, se uma tabela e uma coluna tinham o mesmo nome, a tabela tinha preferência.In previous versions of Q&A, if a table and column had the same name, the table would take preference. Esse problema foi resolvido e, portanto, você não precisa mais corrigir esse problema em seus modelos.This issue has been addressed, so you don't have to fix this issue in your models anymore.

Etapas manuais para melhorar a P e RManual steps to improve Q&A

Use as novas ferramentas de P e R para corrigir suas perguntasUse the new Q&A tooling to fix your questions

Com as ferramentas de P e R, você pode ensinar seus principais termos comerciais à P e R e corrigir as perguntas feitas pelos usuários finais.With the Q&A tooling, you can teach your core business terms to Q&A and fix questions your end users ask. Às vezes, algumas perguntas ainda não podem ser respondidas, porque os dados estão ausentes ou formatados incorretamente.Sometimes, some questions still can't be addressed because the data is shaped incorrectly or data is missing. Nesse caso, leia as outras seções abaixo para ajudar você a otimizá-los.In this case, read the other sections below to help you optimize. Leia mais sobre as Ferramentas de P e R.Read more about Q&A tooling.

Adicionar relacionamentos ausentesAdd missing relationships

Se o modelo tiver relações ausentes entre as tabelas, nem os relatórios do Power BI nem a P e R poderão interpretar como uni-las.If your model is missing relationships between tables, neither Power BI reports nor Q&A can interpret how to join those tables. Relacionamentos são a base de um bom modelo.Relationships are the cornerstone of a good model. Por exemplo, você não poderá solicitar o “total de vendas para clientes de Seattle” se a relação entre a tabela orders e a tabela customers estiver ausente.For example, you can't ask for the “total sales for Seattle customers” if the relationship between the orders table and the customers table is missing. As imagens a seguir mostram um modelo que precisa de trabalho e um modelo que está pronto para a P e R.The following images show a model that needs work, and a model that is ready for Q&A.

Precisa de trabalhoNeeds work

Na primeira imagem, não há nenhuma relação entre as tabelas Customers, Sales e Products.In the first image, there are no relationships between the Customers, Sales, and Products tables.

Relações que precisam de trabalho para a P e R

Pronto para P e RReady for Q&A

Na primeira imagem, as relações são definidas entre as tabelas.In the first image, relationships are defined between the tables.

relacionamentos em bom estado para P e R

Renomear tabelas e colunasRename tables and columns

A escolha de tabelas e colunas é importante para P e R.The choice of tables and columns is important for Q&A. Por exemplo, digamos que você tenha uma tabela chamada ResumoClientes que contenha uma lista de seus clientes.For example, say you have a table named CustomerSummary that contains a list of your customers. Você precisaria fazer perguntas como "Liste os resumos de clientes em Chicago" em vez de "Listar os clientes em Chicago".You would need to ask questions like “List the customer summaries in Chicago” rather than “List the customers in Chicago”.

Embora a P e R possa fazer uma separação básica de palavras e a detecção de plurais, ela pressupõe que os nomes da tabela e da coluna refletem com precisão o conteúdo.While Q&A can do some basic word breaking and detecting plurals, Q&A assumes that your table and column names accurately reflect their content.

Considere outro exemplo.Consider another example. Imagine que você tenha uma tabela chamada Efetivo que contenha nome e sobrenome e números de funcionários.Imagine you have a table named Headcount that contains first and last names and employee numbers. Você tem outra tabela chamada Funcionários que contém números de funcionários, números de trabalho e datas de início.You have another table named Employees that contains employee numbers, job numbers, and start dates. Pessoas familiarizadas com o modelo talvez entendam essa estrutura.People familiar with the model might understand this structure. Alguém que pergunta "contagem dos funcionários" vai ter uma contagem das linhas da tabela "Funcionários".Someone else who asks “count the employees” is going to get a count of the rows from the “Employees” table. Provavelmente, esse resultado não é o que a pessoa tinha em mente, pois é uma contagem de todos os trabalhos dos quais todos os funcionários já participaram.This result is probably not what they had in mind, because it’s a count of every job every employee has ever had. Seria melhor renomear essas tabelas para refletir realmente o que elas contêm.It would be better to rename those tables to truly reflect what they contain.

Precisa de trabalhoNeeds work

Nomes de tabelas como StoreInfo e Product List precisam de trabalho.Table names like StoreInfo and Product List need work.

Nomes de tabelas que precisam de trabalho para a P e R

Pronto para P e RReady for Q&A

Tabelas chamadas Store e Products funcionam melhor.Tables named Store and Products work better.

Nomes de tabelas em bom estado para a P e R

Corrigir os tipos de dados incorretosFix incorrect data types

Dados importados podem ter tipos de dados incorretos.Imported data can have incorrect data types. Em particular, as colunas data e número que são importadas como cadeias de caracteres não são interpretadas por P e R como datas e números.In particular, date and number columns that are imported as strings aren't interpreted by Q&A as dates and numbers. Certifique-se de selecionar o tipo de dados correto em seu modelo do Power BI.Make sure you select the correct data type in your Power BI model.

Escolher o tipo de dados correto para garantir que ele esteja disponível para a P e R

Marcar colunas de ano e identificador como Não resumirMark year and identifier columns as Don't Summarize

O Power BI agrega agressivamente colunas numéricas por padrão, portanto perguntas como "total de vendas por ano" às vezes podem resultar em um total geral de vendas junto com o total de anos.Power BI aggressively aggregates numeric columns by default, so questions like “total sales by year” can sometimes result in a grand total of sales alongside a grand total of years. Se você tiver colunas específicas nas quais não deseja que o Power BI exiba esse comportamento, defina a propriedade Resumo Padrão na coluna como Não Resumir.If you have specific columns where you don't want Power BI to exhibit this behavior, set the Default Summarization property on the column to Don’t Summarize. Lembre-se das colunas ano, mês, dia e ID, pois elas são os problemas mais frequentes.Be mindful of year, month, day, and ID columns, as those columns are the most frequent problems. Outras colunas que não são convenientes para soma, como age, também podem se beneficiar da configuração Resumo Padrão como Não Resumir ou Média.Other columns that aren’t sensible to sum, such as age, could also benefit from setting Default Summarization to Don’t Summarize or to Average. Essa configuração está na guia Modelagem.You'll find this setting in the Modeling tab.

Não resumir colunas como ano, mês, data para P e R

Escolher uma categoria de dados para cada coluna de data e geografiaChoose a Data Category for each date and geography column

A Categoria de Dados fornece conhecimento semântico adicional sobre o conteúdo de uma coluna além de seu tipo de dados.The Data Category provides additional semantic knowledge about the content of a column beyond its data type. Por exemplo, você pode marcar uma coluna de inteiro como um CEP, uma coluna de cadeia de caracteres como uma cidade, um país/uma região etc.For example, you can mark an integer column as a zip code, a string column as a City, Country/Region, and so on. A P e R usa essas informações de duas maneiras importantes: Para seleção de visualização e para desvios de idioma.Q&A uses this information in two important ways: For visualization selection and for language biases.

Em primeiro lugar, P e R usa as informações de Categoria de Dados para ajudar a tomar decisões sobre qual tipo de exibição visual será usado.First, Q&A uses the Data Category information to help make choices about what kind of visual display to use. Por exemplo, ela reconhece que colunas com Categorias de Dados de data ou hora geralmente são uma boa escolha para o eixo horizontal do gráfico de linhas ou o eixo de reprodução de um gráfico de bolhas.For example, it recognizes that columns with date or time Data Categories are typically a good choice for the horizontal axis of a line chart or the play axis of a bubble chart. E pressupõe que os resultados que contém colunas com Categorias de Dados geográficos podem ter uma boa aparência em um mapa.And it assumes that results containing columns with geographical Data Categories may look good on a map.

Em segundo lugar, P e R faz algumas suposições informadas sobre como os usuários falarão sobre as colunas de data e geografia, para ajudá-los a entender determinados tipos de perguntas.Second, Q&A makes some educated guesses about how users are likely to talk about date and geography columns, to help it understand certain types of questions. Por exemplo, "quando" em "Quando John Smith foi contratado?"For example, the “when” in “When was John Smith hired?” é quase certo para mapear para uma coluna de data e "Brown" em "Contagem de clientes em Brown" é mais provável de ser uma cidade que uma cor de cabelo.is almost certain to map to a date column, and the “Brown” in “Count customers in Brown” is more likely to be a city than a hair color.

Escolher categorias de dados adequadamente para P e R

Escolher uma classificação por coluna para as colunas relevantesChoose a Sort By Column for relevant columns

A propriedade Classificar por Coluna permite a classificação em uma coluna para classificar automaticamente uma coluna diferente.The Sort By Column property allows sorting in one column to automatically sort a different column instead. Por exemplo, quando pedir "classificar clientes por tamanho de camisa", você provavelmente desejará que a coluna de tamanho de camisa classifique pelo número de tamanho subjacente (XS, S, M, L, XL) em vez de em ordem alfabética (L, M, S, XL, XS).For example, when you ask “sort customers by shirt size”, you probably want your Shirt Size column to sort by the underlying size number (XS, S, M, L, XL) rather than alphabetically (L, M, S, XL, XS).

Escolher Classificar por Coluna adequadamente para P e R

Normalizar seu modeloNormalize your model

Tenha certeza de que não estamos sugerindo que você precisa alterar a forma do modelo inteiro.Rest assured that we’re not suggesting you need to reshape your entire model. No entanto, certas estruturas são tão difíceis que as P e R não as manipula bem.However, certain structures are so difficult that Q&A doesn't handle them well. Se você executar uma normalização básica da estrutura do modelo, a usabilidade dos relatórios do Power BI aumentará consideravelmente, junto com a precisão dos resultados da P e R.If you perform some basic normalization of the structure of your model, the usability of Power BI reports increases significantly, along with the accuracy of Q&A results.

Siga esta regra geral: cada "item" exclusivo abordado pelo usuário deve ser representado por exatamente um objeto do modelo (tabela ou coluna).Follow this general rule: Each unique “thing” the user talks about should be represented by exactly one model object (table or column). Portanto, se seus usuários falam sobre clientes, deve haver um objeto cliente.So, if your users talk about customers, there should be one customer object. Se os usuários falam sobre vendas, deve haver um objeto vendas.And, if your users talk about sales, there should be one sales object. Bem simples, não é?Sounds simple, doesn't it? Dependendo da forma dos dados com os quais você está iniciando, pode ser.Depending on the shape of the data you’re starting with, it can be. Há recursos avançados de modelagem de dados disponíveis no Editor de Consultas se você precisar, embora muitas das transformações mais simples possam ocorrer simplesmente usando cálculos no modelo do Power BI.There are rich data shaping capabilities available in Query Editor if you need them, while many of the more straightforward transformations can happen simply using calculations in the Power BI model.

As seções a seguir contêm algumas transformações comuns que talvez você precise executar.The following sections contain some common transformations you might need to perform.

Criar novas tabelas para entidades de várias colunasCreate new tables for multi-column entities

Se você tiver várias colunas que atuam como uma única unidade distinta dentro de uma tabela maior, essas colunas deverão ser divididas em sua própria tabela.If you have multiple columns that act as a single distinct unit within a larger table, those columns should be split out into their own table. Por exemplo, digamos que você tenha uma coluna Nome do contato, Cargo do contato e Telefone do contato na tabela Empresas.For example, say you have a Contact Name, Contact Title, and Contact Phone column within your Companies table. Um design melhor seria ter uma tabela Contatos separada para conter o Nome, o Cargo e o Telefone, e um link para a tabela Empresas.A better design would be to have a separate Contacts table to contain the Name, Title, and Phone, and a link back to the Companies table. Isso facilita muito para fazer perguntas sobre contatos independentemente de perguntas sobre empresas para as quais eles são o contato e aumenta a flexibilidade de exibição.That makes it easier to ask questions about contacts independently of questions about companies for which they are the contact, and improves display flexibility.

Precisa de trabalhoNeeds work

Usa várias tabelas para a P e R

Pronto para P e RReady for Q&A

Usa várias tabelas para a P e R

Dinamizar para eliminar pacotes de propriedadePivot to eliminate property bags

Se você tiver recipientes de propriedades no modelo, eles deverão ser reestruturados para ter uma única coluna por propriedade.If you have property bags in your model, they should be restructured to have a single column per property. Embora os pacotes de propriedade sejam convenientes para gerenciar grandes números de propriedades, eles têm várias limitações inerentes que nem os relatórios do Power BI nem P e R são projetados para encontrar uma solução alternativa.Property bags, while convenient for managing large numbers of properties, suffer from a number of inherent limitations that neither Power BI reports nor Q&A are designed to work around.

Por exemplo, considere uma tabela CustomerDemographics com as colunas CustomerID, Property e Value, em que cada linha representa uma propriedade diferente do cliente (por exemplo, idade, estado civil, cidade etc.).For example, consider a CustomerDemographics table with CustomerID, Property, and Value columns, where each row represents a different property of the customer (for example, age, marital status, city, and so on). Ao sobrecarregar o significado da coluna Valor com base no conteúdo da coluna Propriedade, P e R não consegue interpretar a maioria das consultas que fazem referência a ela.By overloading the meaning of the Value column based on the content of the Property column, it becomes impossible for Q&A to interpret most queries that reference it. Uma pergunta simples, como "mostrar a idade de cada cliente" pode funcionar, desde que ela possa interpretada como "mostrar os clientes e os dados demográficos do cliente em que a propriedade é idade".A simple question such as “show the age of each customer” might happen to work, since it could be interpreted as “show the customers and customer demographics where property is age”. No entanto, a estrutura do modelo simplesmente não dá suporte a perguntas um pouco mais complexas como "idade média dos clientes em Chicago".However, the structure of the model simply doesn’t support slightly more complex questions like “average age of customers in Chicago.” Embora os usuários que criam diretamente os relatórios do Power BI possam, às vezes, encontrar formas inteligentes de obter os dados que procuram, P e R só funciona quando cada coluna tem apenas um único significado.While users who directly author Power BI reports can sometimes find clever ways to get the data they are looking for, Q&A only works when each column has only a single meaning.

Precisa de trabalhoNeeds work

Não usa recipientes de propriedades em modelos para a P e R

Pronto para P e RReady for Q&A

Usa várias tabelas para a P e R

União para eliminar o particionamentoUnion to eliminate partitioning

Se você particionou seus dados em várias tabelas ou dinamizou os valores em várias colunas, é difícil ou impossível para os usuários executar várias operações comuns.If you've partitioned your data across multiple tables, or have pivoted values across multiple columns, a number of common operations are difficult or impossible for your users to achieve. Considere primeiro uma tabela típica de particionamento: uma tabela Sales2000-2010 e uma tabela Sales2011-2020.Consider first a typical table partitioning: a Sales2000-2010 table and a Sales2011-2020 table. Se todos os relatórios importantes forem restritos a uma década específica, provavelmente você poderia deixar desta forma para relatórios do Power BI.If all of your important reports are restricted to a specific decade, you could probably leave it this way for Power BI reports. Porém, a flexibilidade da P e R leva os usuários a esperar respostas a perguntas como “total de vendas por ano”.However, the flexibility of Q&A leads your users to expect answers to questions like “total sales by year.” Para que essa consulta funcione, você precisará unir os dados em uma única tabela de modelo do Power BI.For this query to work, you need to union the data into a single Power BI model table.

Da mesma forma, considere a possibilidade de uma coluna de valor dinâmico típico: uma tabela BookTour contendo as colunas Autor, Livro, Cidade1, Cidade2 e Cidade3.Similarly, consider a typical pivoted value column: a BookTour table containing Author, Book, City1, City2, and City3 columns. Com uma estrutura semelhante a essa, até mesmo perguntas simples como "contagem de livros por cidade" não podem ser interpretadas corretamente.With a structure like this, even simple questions like “count books by city” cannot be interpreted correctly. Para que essa consulta funcione, crie uma tabela BookTourCities separada, que une os valores de cidade em uma única coluna.For this query to work, create a separate BookTourCities table, which unions the city values into a single column.

Precisa de trabalhoNeeds work

Não usa colunas de valor dinâmico em modelos para a P e R

Pronto para P e RReady for Q&A

Usa várias tabelas para a P e R

Dividir colunas formatadasSplit formatted columns

Se a fonte da qual você está importando os dados contiver colunas formatadas, os relatórios do Power BI (e a P e R) não acessarão o interior da coluna para analisar o conteúdo dela.If the source from which you're importing your data contains formatted columns, Power BI reports (and Q&A) don't reach inside the column to parse its contents. Portanto, se tiver, por exemplo, uma coluna Endereço Completo que contém o endereço, a cidade e o país, você também deverá dividi-la em colunas de Endereço, Cidade e País para que os usuários possam consultá-las individualmente.So if you have, for example, a Full Address column that contains the address, city, and country, you should also split it into Address, City, and Country columns so your users can query against them individually.

Precisa de trabalhoNeeds work

Não usa colunas únicas para vários elementos de dados para a P e R

Pronto para P e RReady for Q&A

Usa várias tabelas para a P e R

Da mesma forma, se você tiver colunas de nome completo de uma pessoa, adicione as colunas Nome e Sobrenome, caso alguém queira fazer perguntas usando nomes parciais.Similarly, if you have any full name columns for a person, add First Name and Last Name columns, just in case someone wants to ask questions using partial names.

Criar novas tabelas para colunas com vários valoresCreate new tables for multi-value columns

Também em uma situação semelhante, se a fonte da qual você está importando os dados contiver colunas com vários valores, os relatórios do Power BI (e a P e R) não acessarão o interior da coluna para analisar o conteúdo.Also a similar situation, if the source from which you're importing your data contains multi-value columns, Power BI reports (and Q&A) can't reach inside the column to parse out the contents. Portanto, se você tiver, por exemplo, uma coluna Compositor que contém os nomes de vários compositores de uma música, divida-a em várias linhas em uma tabela Compositores separada.So, if you have, for example, a Composer column that contains the names of multiple composers for a song, you should split it into multiple rows in a separate Composers table.

Precisa de trabalhoNeeds work

Não usa colunas com vários valores para a P e R

Pronto para P e RReady for Q&A

Usa várias tabelas para a P e R

Desnormalizar para eliminar relacionamentos inativosDenormalize to eliminate inactive relationships

Uma exceção à regra de "normalização é melhor" ocorre quando há mais de um caminho para ir de uma tabela a outra.The one exception to the “normalization is better” rule occurs when there is more than one path to get from one table to another. Por exemplo, se você tiver uma tabela Voos com colunas SourceCityID e DestinationCityID, cada uma delas estará relacionada à tabela Cidades.For example, say you have a Flights table with both SourceCityID and DestinationCityID columns, each of which are related to the Cities table. Uma dessas relações precisa ser marcada como inativa.One of those relationships has to be marked as inactive. P e R só podem usar relacionamentos ativos, você não pode fazer perguntas sobre origem ou destino, dependendo do que você escolher.Since Q&A can only use active relationships, you can't ask questions about either source or destination, depending on which you chose. Se você desnormalizar as colunas de nome de cidade na tabela Voos, pode fazer perguntas como: "listar os voos de amanhã tendo Seattle como cidade de origem e São Francisco como cidade de destino".If you instead denormalize the city name columns into the Flights table, you can ask questions like: “list the flights for tomorrow with a source city of Seattle and a destination city of San Francisco.”

Precisa de trabalhoNeeds work

apenas um caminho para cada tabela para P e R

Pronto para P e RReady for Q&A

usar várias tabelas para P e R

Adicionar sinônimos a tabelas e colunasAdd synonyms to tables and columns

Esta etapa aplica-se especificamente a P e R (e não a relatórios do Power BI em geral).This step applies specifically to Q&A (and not to Power BI reports in general). Os usuários geralmente têm uma variedade de termos que eles usam para se referir à mesma coisa, como total de vendas, vendas líquidas, total de vendas líquidas.Users often have a variety of terms they use to refer to the same thing, such as total sales, net sales, total net sales. Você pode adicionar esses sinônimos a tabelas e colunas no modelo do Power BI.You can add these synonyms to tables and columns in the Power BI model.

Esta etapa pode ser importante.This step can be important. Mesmo com nomes de tabelas e colunas simples, os usuários da P e R fazem perguntas usando o vocabulário que é primeiramente apresentado a eles.Even with straightforward table and column names, users of Q&A ask questions using the vocabulary that first comes to them. Eles não fazem escolhas em uma lista predefinida de colunas.They're not choosing from a predefined list of columns. Quanto mais sinônimos sensatos você adicionar, melhor será a experiência dos usuários com o seu relatório.The more sensible synonyms you add, the better your users' experience is with your report. Para adicionar sinônimos, no Power BI Desktop, acesse a exibição Modelo, selecione a guia Modelagem e selecione um campo ou uma tabela.To add synonyms, in Power BI Desktop go to Model view, select the Modeling tab, and select a field or table. O painel Propriedades mostra a caixa Sinônimos, em que é possível adicionar sinônimos.The Properties pane shows the Synonyms box, where you can add synonyms.

Sinônimos no painel Propriedades da P e R

Tenha cuidado ao adicionar sinônimos.Be careful when adding synonyms. A adição do mesmo sinônimo a mais de uma coluna ou tabela introduz ambiguidade.Adding the same synonym to more than one column or table introduces ambiguity. A P e R usa o contexto quando possível para escolher entre sinônimos ambíguos, mas nem todas as perguntas têm contexto suficiente.Q&A uses context where possible to choose between ambiguous synonyms, but not all questions have sufficient context. Por exemplo, quando o usuário solicita " contagem de clientes", se você tiver três itens com o sinônimo "cliente" em seu modelo, talvez ele não receba a resposta que está procurando.For example, when your user asks “count the customers”, if you have three things with the synonym “customer” in your model, the users might not get the answer they're looking for. Nesses casos, garanta que o sinônimo primário seja exclusivo, pois é ele que será usado na redefinição.In these cases, make sure the primary synonym is unique, as that's what is used in the restatement. Ele pode alertar o usuário da ambiguidade (por exemplo, uma reformulação de "mostrar o número de registros de clientes arquivados"), orientando-os a perguntar de maneira diferente.It can alert the user to the ambiguity (for example, a restatement of “show the number of archived customer records”), hinting they might want to ask it differently.

Próximas etapasNext steps

Introdução à P e R do Power BIIntro to Power BI Q&A