Traballar con columnas de fórmulas

As columnas de fórmulas son columnas que mostran un valor calculado na táboa de Microsoft Dataverse. As fórmulas usan Power Fx, unha linguaxe de programación potente pero amigable para os humanos. Cree unha fórmula nunha columna de fórmula de Dataverse do mesmo xeito que crearía unha fórmula en Microsoft Excel. Mentres escribe, Intellisense suxire funcións e sintaxe, e mesmo axuda a corrixir erros.

Engadir unha columna de fórmulas

  1. Inicia sesión en Power Apps en https://make.powerapps.com.

  2. Selecciona Táboas e, a seguir, selecciona a táboa onde queres engadir unha columna de fórmulas. Se o elemento non está no panel lateral, selecciona …Máis e despois selecciona o elemento que queres.

  3. Seleccione a área Columnas e, a seguir, seleccione Nova columna.

  4. Introduza a seguinte información:

    • Un nome para mostrar para a columna.
    • Opcionalmente, introduza unha Descrición da columna.
  5. Para Tipo de datos seleccione fx Fórmula.

  6. Escribe a fórmula ou usa suxestións de fórmulas:

    Introduza a Power Fx fórmula na caixa Fórmula . Máis información: Escribir unha fórmula


  1. Selecciona propiedades adicionais:
    • Seleccione Dispoñible para buscas se quere que esta columna estea dispoñible en vistas, gráficos, paneis e Busca avanzada.
    • Opcións avanzadas:
      • Se a fórmula avalía como un valor decimal, expanda as Opcións avanzadas para cambiar o número de puntos de precisión, entre 0 e 10. O valor predefinido é 2.
  2. Seleccione Gardar.

Escribir unha fórmula

O seguinte exemplo crea unha columna de fórmula chamada Prezo total. A columna Número de unidades é un tipo de datos de número enteiro. A columna Prezo é un tipo de datos decimal.

Captura de pantalla da definición dunha columna de fórmula.

A columna da fórmula mostra o resultado de Prezo multiplicado por Número de unidades.

Captura de pantalla dun rexistro cunha columna de fórmulas.

A fórmula que insira determina o tipo de columna. Non pode cambiar un tipo de columna unha vez creada esta. Iso significa que só podes cambiar a fórmula despois de crear a columna cando non cambia o tipo de columna.

Por exemplo, a fórmula prezo * desconto crea un tipo de columna de número. Podes cambiar prezo * desconto por prezo * (desconto + 10%) porque iso non cambia o tipo de columna. Non obstante, non podes cambiar prezo * desconto por Texto(prezo * desconto) porque iso requiriría cambiar o tipo de columna a cadea.

Obter suxestións de fórmulas (vista previa)

[Este tema é a documentación de pre-lanzamento e está suxeito a cambios.]

Describe o que queres que faga a fórmula e obtén resultados xerados pola IA. As suxestións de fórmulas aceptan a túa entrada en linguaxe natural para interpretar e suxerir unha fórmula usando un modelo de IA baseado en GPT. Power Fx

Importante

Esta é unha función de vista previa dispoñible só nas rexións dos Estados Unidos.

As funcionalidades de vista previa non se deseñaron para uso de produción e poden ter funcionalidade restrinxida. Estas funcionalidades están dispoñibles antes da versión oficial para que os clientes poidan obter acceso a elas rápido e fornecer comentarios.

Actualmente, admítense suxestións de fórmulas que fan referencia a unha única táboa. Non se admiten as suxestións de fórmulas que fan referencia a unha columna dunha táboa relacionada.

Requisitos previos

Para activar esta funcionalidade, debes activar a configuración de ambiente *Suxestións de IA para columnas de fórmulas*. Máis información: Suxestións de IA para columnas de fórmulas

Exemplo de entrada en linguaxe natural

Imaxina que hai unha columna de valoración dos clientes que mostra a súa valoración por conta. Exemplo de columna de valoración do cliente

Na caixa Obter suxestións de fórmulas introduza a fórmula en linguaxe natural, como por exemplo Se a cualificación na columna de cualificación é igual ou superior a 5, indíquea como Boa e, se é inferior a 5, indíquea como Media e, se o valor está en branco ou é cero, móstraa como Malo e, a seguir, seleccione o botón de frecha (Intro).

Despois, copia a Fórmula suxerida. Fórmula suxerida

E pégao na caixa Escribir unha fórmula . Seleccione Gardar. Pegar a fórmula na caixa Escribir unha fórmula.

Así é como aparece a fórmula unha vez pegada.

Switch(
    ThisRecord.'Customer Rating',
    Blank(), "Bad",
    0, "Bad",
    1, "Average",
    2, "Average",
    3, "Average",
    4, "Average",
    5, "Good",
    6, "Good",
    7, "Good",
    8, "Good",
    9, "Good",
    10, "Good"
)

Consulta a columna da fórmula calculada Descrición da cualificación , que ten este aspecto.

Comproba os resultados da columna de fórmulas

IA responsable

Para obter información sobre a IA responsable, consulta estes recursos:

Operadores

Pode usar os seguintes operadores nunha columna de fórmulas:
+, -, *, /, %, en, exactina, e

Para obter máis información, vaia a Operadores en Power Apps.

Tipos de datos

Pode amosar os seguintes tipos de datos nunha columna de fórmula:

Máis información: Crear columnas de fórmulas con tipos de datos decimais, enteiros, flotantes e de elección\

O tipo de datos de moeda non é compatible actualmente.

Tipos de funcións

Pode usar os seguintes tipos de funcións nunha columna de fórmula:

  • Decimal
  • String
  • booleano
  • Opción
  • DataHora (TZI)
  • DateTime (local do usuario) (limitado a comparacións con outros valores locais do usuario, como as funcións DateAdd e DateDiff)
  • DateTime (só data) (limitado a comparacións con outros valores só de data, funcións DateAdd e DateDiff)
  • Moeda
  • Número enteiro

Funcións

Para ver as funcións escalares que podes usar nunha columna de fórmulas, vai a Referencia de fórmulas - Dataverse columnas de fórmulas.

* As funcións Texto e Valor só funcionan con números enteiros, sen separador decimal. O separador decimal varía segundo as rexións. Dado que as columnas de fórmulas avalíanse sen coñecementos sobre esta, non hai forma de interpretar ou xerar correctamente o separador decimal.

* O argumento StartOfWeek non é compatible coas funcións WeekNum e Weekday nas columnas de fórmulas.

Exemplo de función

Descripción Exemplo
Recuperar un valor de data. DateAdd(UTCNow(),-1,TimeUnit.Years)

Directrices e limitacións

Esta sección describe as directrices e as limitacións coñecidas das columnas de fórmulas en Dataverse.

Validacións de uso de campos de moeda

  • As columnas de fórmulas non admiten o uso dunha columna de moeda de táboa relacionada na fórmula, como neste exemplo. Columna de fórmula cunha fórmula non compatible de Conta.Ingresos anuais
  • Actualmente non se admite o uso directo de columnas de moeda e tipo de cambio na fórmula. O uso de columnas de moeda e tipo de cambio conséguese mediante a función Decimal , como Decimal(currency column) ou Decimal(exchange rate). A función Decimal asegúrase de que a saída estea dentro do rango aceptado. Se o valor da columna de moeda ou tipo de cambio supera o intervalo aceptado, a fórmula devolve nulo.
  • As columnas de moeda base non son compatibles nas expresións da columna da fórmula porque son columnas do sistema que se usan para fins de informes. Se queres un resultado semellante, podes usar un tipo de columna de moeda xunto cunha combinación de columnas de tipo de cambio como CurrencyField_Base = (CurrencyField / ExchangeRate).

Validacións de uso de columnas de data e hora

  • O comportamento das columnas de fórmulas de data e hora só se pode actualizar cando non se usa noutra columna de fórmula.
  • Para as columnas da fórmula de data e hora, ao usar a función DateDiff , asegúrate de que:
    • A columna de comportamento local do usuario non se pode comparar nin usar cunha columna de comportamento DateTime(TZI)/DateOnly .
    • As columnas de comportamento local do usuario só se poden comparar ou usar con outra columna de comportamento local do usuario.
    • DateTime(TZI) As columnas de comportamento pódense comparar ou usar en funcións con outra columna de comportamento. DateDiffDateTime(TZI)/DateOnly
    • DateOnly As columnas de comportamento pódense comparar ou usar na función DateDiff con outra columna de comportamento DateTime(TZI)/DateOnly . Configuración de data e hora non compatible cunha columna de fórmula
  • As columnas de data e hora e as funcións de data e hora UTCNow(), Now() non se poden pasar como parámetro a funcións de cadea. Columna de fórmula cun parámetro de data e hora non compatible pasado na fórmula

Uso da columna de fórmulas en campos de resumo

  • Unha columna de fórmula simple é aquela na que a fórmula usa columnas do mesmo rexistro ou usa valores codificados de forma fixa. Para as columnas de resumo, as columnas de fórmulas deben ser columnas de fórmulas simples, como esta columna de resumo de exemplo. Exemplo de columna de fórmula simple para unha columna de resumo Configuración de columna de resumo de exemplo
  • Unha columna de fórmula, que depende de funcións con límite de tempo UTCNow() e UTCToday() non se pode usar nun campo de resumo.

Power Fx recomendacións de funcións de texto

  • As columnas de fórmulas non admiten funcións cun único argumento de tipo Número. Text() Un número pode ser enteiro, decimal ou monetario. Columna de fórmula cunha función de texto non compatible cun argumento numérico

  • As columnas de fórmulas non admiten o uso de números nas seguintes configuracións:

    • En funcións de cadeas. Estas son funcións de cadea de caracteres que se colocan onde se espera un argumento de texto: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute e Replace.
    • Nas fórmulas implícitas, como 12 & "foo" ou 12 & 34"foo" & 12.
    • Non se admite a coacción interna de número a texto. Recomendamos usar Text(Number, Format) para converter un número en texto. No caso de que se pase un argumento nunha función, o argumento non é compatible. StringTextFormat
    • Aquí tes un exemplo no que se usa a función Text para converter un número en texto e engadirlle unha cadea de texto:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Os tokens de formato específicos da configuración rexional como "." e "," non se admiten nas columnas de fórmulas. Un token de formato específico da configuración rexional non compatible pasado como parámetro á función Texto na fórmula

Validacións de rango en columnas de fórmulas

  • Non podes definir as propiedades Valor mínimo nin Valor máximo dunha columna de fórmula.
  • Todos os cálculos internos deben estar dentro do Dataverse rango para as columnas de fórmulas de tipo decimal (-100000000000 a 100000000000).
  • Un valor literal codificado de forma fixa introducido na barra de fórmulas debe estar dentro do rango Dataverse .
  • Se hai unha columna numérica que é nula, considérase 0 na operación intermedia. Por exemplo, a+b+c and If a = null, b=2, c=3 entón a columna de fórmula dá 0 + 2 + 3 = 5.
    • Este comportamento é diferente das columnas calculadas neste caso porque as columnas calculadas dan null + 2 + 3 = null.

Validacións xerais en columnas de fórmulas

  • As columnas de fórmulas poden facer referencia a outras columnas de fórmulas, pero unha columna de fórmula non pode facer referencia a si mesma.
  • As columnas de fórmulas non admiten cadeas cíclicas, como F1 = F2 + 10, F2 = F1 * 2.
  • A lonxitude máxima da expresión da fórmula nas columnas de fórmulas é de 1000 caracteres.
  • A profundidade máxima permitida nas columnas de fórmulas é 10. A profundidade defínese como a cadea de columnas de fórmulas que fan referencia a outras columnas de fórmulas ou de resumo.
    • Por exemplo, table E1, F1 = 1*2, table E2, F2 - E1*2. Neste exemplo, a profundidade de F2 é 1.
  • Nas aplicacións baseadas en modelos, a ordenación está desactivada en:
    • Unha columna de fórmula que contén unha columna dunha táboa relacionada.
    • Unha columna de fórmula que contén unha columna lóxica (por exemplo, unha columna de enderezo).
    • Unha columna de fórmulas que contén outra columna calculada ou de fórmulas.
    • Unha columna de fórmula que usa a función con límite de tempo UTCNow().
  • As columnas de tipo Número enteiro co formato Idioma, Duración e Fuso horario non se admiten nas columnas de fórmulas.
  • As columnas de tipo Cadea co formato Correo electrónico, Área de texto, Símbolo de ticker ou URL non se admiten nas columnas de fórmulas.
  • As columnas de fórmulas non mostran valores cando a aplicación está no modo Mobile Offline.
  • Non podes activar fluxos de traballo nin complementos en columnas de fórmulas.
  • Non recomendamos usar columnas calculadas en columnas de fórmulas e viceversa.
  • As regras de detección de duplicados non se activan nas columnas de fórmulas.
  • A función Now pódese usar con columnas de fórmulas. Now() ten comportamento local do usuario e UTCNow() ten comportamento independente do fuso horario.
  • Podes definir a propiedade de precisión para as columnas decimais.
  • O valor predeterminado do tipo de datos de fórmula está definido como Decimal para o valor numérico que devolve fórmulas.
  • Non se admite a actualización do formato da columna de fórmulas de números enteiros.

Columnas de fórmulas de tipos de datos que non se poden producir

  • Moeda

Consulte tamén

Tipos de columnas

Microsoft Power Fx visión xeral

Columnas especializadas