Expressões no Construtor de Relatórios do Power BI
APLICA-SE A: Power BI Report Builder Power BI Desktop
As expressões são amplamente usadas em todos os relatórios paginados do Construtor de Relatórios do Power BI para recuperar, calcular, exibir, agrupar, classificar, filtrar, parametrizar e formatar dados.
Muitas propriedades de item de relatório podem ser definidas como uma expressão. As expressões ajudam a controlar o conteúdo, o design e a interatividade do relatório. As expressões são escritas no Microsoft Visual Basic, salvas na definição de relatório e avaliadas pelo processador de relatório quando você executa o relatório.
Ao contrário de aplicativos como o Microsoft Excel, onde você trabalha com dados diretamente em uma planilha, em um relatório, você trabalha com expressões que são espaços reservados para dados. Para ver os dados reais das expressões avaliadas, você deve visualizar o relatório. Quando você executa o relatório, o processador de relatório avalia cada expressão, pois combina dados de relatório e elementos de layout de relatório, como tabelas e gráficos.
À medida que você cria um relatório, muitas expressões para itens de relatório são definidas para você. Por exemplo, quando você arrasta um campo do painel de dados para uma célula da tabela na superfície de design do relatório, o valor da caixa de texto é definido como uma expressão simples para o campo. Na figura a seguir, o painel Dados do Relatório exibe os campos do conjunto de dados ID, Name, SalesTerritory, Code e Sales. Três campos foram adicionados à tabela: [Name]
, [Code]
e [Sales]
. A notação [Name]
na superfície de design representa a expressão =Fields!Name.Value
subjacente.
Quando você visualiza o relatório, o processador de relatório combina a região de dados da tabela com os dados reais da conexão de dados e exibe uma linha na tabela para cada linha do conjunto de resultados.
Para inserir expressões manualmente, selecione um item na superfície de design e use menus de atalho e caixas de diálogo para definir as propriedades do item. Quando você vê o botão (fx) ou o valor <Expression>
em uma lista suspensa, sabe que pode definir a propriedade como uma expressão.
Compreender expressões simples e complexas
As expressões começam com um sinal de igual (=) e são escritas no Microsoft Visual Basic. As expressões podem incluir uma combinação de constantes, operadores e referências a valores internos (campos, coleções e funções) e a código externo ou personalizado.
Você pode usar expressões para especificar o valor de muitas propriedades de item de relatório. As propriedades mais comuns são valores para caixas de texto e texto de espaço reservado. Normalmente, se uma caixa de texto contiver apenas uma expressão, a expressão será o valor da propriedade da caixa de texto. Se uma caixa de texto contiver várias expressões, cada expressão será o valor do texto de espaço reservado na caixa de texto.
Por padrão, as expressões aparecem na superfície de design do relatório como expressões simples ou complexas .
Simples: uma expressão simples contém uma referência a um único item em uma coleção interna, por exemplo, um campo de conjunto de dados, um parâmetro ou um campo interno. Na superfície de design, uma expressão simples aparece entre parênteses. Por exemplo,
[FieldName]
corresponde à expressão=Fields!FieldName.Value
subjacente . Expressões simples são criadas automaticamente à medida que você cria o layout do relatório e arrasta itens do painel Dados do Relatório para a superfície de design. Para obter mais informações sobre os símbolos que representam diferentes coleções internas, consulte Compreender símbolos de prefixo para expressões simples.Complexo: uma expressão complexa contém referências a várias referências internas, operadores e chamadas de função. Uma expressão complexa aparece como
<<Expr>>
quando o valor da expressão inclui mais do que uma simples referência. Para visualizar a expressão, passe o mouse sobre ela e use a dica de ferramenta. Para editar a expressão, abra-a na caixa de diálogo Expressão .
A figura a seguir mostra expressões simples e complexas típicas para caixas de texto e texto de espaço reservado.
Para exibir valores de exemplo em vez de texto para expressões, aplique formatação à caixa de texto ou ao texto do espaço reservado. A figura a seguir mostra a superfície de design do relatório alternada para mostrar valores de exemplo:
Compreender símbolos de prefixo em expressões simples
Expressões simples usam símbolos para indicar se a referência é a um campo, um parâmetro, uma coleção interna ou a coleção ReportItems . A tabela a seguir mostra exemplos de texto de exibição e expressão:
Item | Exemplo de texto de exibição | Exemplo de texto de expressão |
---|---|---|
Campos do conjunto de dados | [Sales] [SUM(Sales)] [FIRST(Store)] |
=Fields!Sales.Value =Sum(Fields!Sales.Value) =First(Fields!Store.Value) |
Parâmetros do relatório | [@Param] [@Param.Label] |
=Parameters!Param.Value =Parameters!Param.Label |
Campos incorporados | [&ReportName] |
=Globals!ReportName.Value |
Caracteres literais usados para texto de exibição | \[Sales\] |
[Sales] |
Escrever expressões complexas
As expressões podem incluir referências a funções, operadores, constantes, campos, parâmetros, itens de coleções internas e a código personalizado incorporado ou assemblies personalizados.
A tabela a seguir lista os tipos de referências que você pode incluir em uma expressão:
Referências | Description | Exemplo |
---|---|---|
Constantes | Descreve as constantes que você pode acessar interativamente para propriedades que exigem valores constantes, como cores de fonte. | ="Blue" |
Operadores | Descreve os operadores que você pode usar para combinar referências em uma expressão. Por exemplo, o operador & é usado para concatenar cadeias de caracteres. | ="The report ran at: " & Globals!ExecutionTime & "." |
Coleções incorporadas | Descreve as coleções internas que você pode incluir em uma expressão, como Fields , Parameters e Variables . |
=Fields!Sales.Value =Parameters!Store.Value =Variables!MyCalculation.Value |
Funções internas de relatório e agregação | Descreve as funções internas, como Sum ou Previous , que você pode acessar a partir de uma expressão. |
=Previous(Sum(Fields!Sales.Value)) |
Código personalizado e referências de assembly em expressões no Construtor de Relatórios | Descreve como você pode acessar as classes xref:System.Math CLR internas e xref:System.Convert , outras classes CLR, funções de biblioteca de tempo de execução do Visual Basic ou métodos de um assembly externo.Descreve como você pode acessar o código personalizado incorporado em seu relatório ou que você compila e instala como um assembly personalizado no cliente de relatório e no servidor de relatório. |
=Sum(Fields!Sales.Value) =CDate(Fields!SalesDate.Value) =DateAdd("d",3,Fields!BirthDate.Value) =Code.ToUSD(Fields!StandardCost.Value) |
Validar expressões
Quando você cria uma expressão para uma propriedade de item de relatório específica, as referências que você pode incluir em uma expressão dependem dos valores que a propriedade do item de relatório pode aceitar e do escopo no qual a propriedade é avaliada. Por exemplo:
Por padrão, a expressão
[Sum]
calcula a soma dos dados que estão no escopo no momento em que a expressão é avaliada. Para uma célula de tabela, o escopo depende das associações de grupo de linhas e colunas.Para o valor de uma propriedade Font , o valor deve ser avaliado como o nome de uma fonte.
A sintaxe da expressão é validada em tempo de design. A validação do escopo da expressão ocorre quando você publica o relatório. Para validação que depende dos dados reais, os erros só podem ser detetados em tempo de execução. Algumas dessas expressões produzem #Error como uma mensagem de erro no relatório renderizado.