Compartir por


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 poderosa pero fácil de usar para as persoas. 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. Iniciar sesión en Power Apps na páxina https://make.powerapps.com.

  2. Seleccione Táboas e, a continuación, seleccione a táboa na que desexa engadir unha columna de fórmulas. Se o elemento non está no panel lateral, seleccione …Máis e, a seguir, seleccione o elemento que desexe.

  3. Seleccione a área Columnas e logo seleccione Nova columna.

  4. Introduza a seguinte información:

    • A Nome para mostrar para a columna.
    • Tamén pode inserir unha descrición da columna.
  5. Para Tipo de datos seleccione fx Fórmula.

  6. Escriba a fórmula ou use suxestións de fórmulas:

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


  1. Seleccione propiedades adicionais:
    • Selecciona Buscable se queres que esta columna estea dispoñible en vistas, gráficos, paneis e Busca avanzada.
    • Opcións avanzadas:
      • Se a fórmula é un valor decimal, expande 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 dunha definición de columna de fórmula.

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

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

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

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

Obter suxestións de fórmulas (versión preliminar)

[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 entrada da túa linguaxe natural para interpretar e suxerir unha Power Fx fórmula mediante un modelo de IA baseado en GPT.

Importante

Esta é unha función versión preliminar 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 as 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 función, debes activar a configuración de ambiente Suxestións de AI para columnas de fórmulas . Máis información: Suxestións de AI para columnas de fórmulas

Exemplo de entrada de linguaxe natural

Imaxina que hai unha columna de valoración do cliente 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 Se a valoración na columna de valoración é igual ou superior a 5, entón indicar como Bo e se é inferior a 5 indicar como Media e se o valor está en branco ou cero, móstrase como Mal e, a continuación, seleccione o botón de frecha (Intro).

A continuación, copie a Fórmula suxerida. Fórmula proposta

E pégao na caixa Escriba unha fórmula . Seleccione Gardar. Pega fórmula en Escriba unha caixa de fórmula.

Así é como aparece a fórmula cando se pega.

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"
)

Comprobe a columna de fórmula calculada Descrición da valoración, que aparece así.

Comprobe os resultados da columna de fórmulas

IA responsable

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

Operadores

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

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

Tipos de datos

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

Actualmente non se admiten os tipos de datos de moeda e elección (anteriormente conxuntos de opcións).

Tipos de funcións

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

  • Decimal
  • String
  • Boolean
  • Conxunto de opcións
  • DataHora (TZI)
  • DateTime (usuario local) (limitado a comparacións con outros valores locais de usuario, funcións DateAdd e DateDiff)
  • DateTime (só Data) (limitado a comparacións con outros valores de só data, funcións DataAdd e DateDiff)
  • Moeda
  • Número enteiro, ascendido a Decimal

Funcións

Para 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, onde non hai 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)

Crea unha columna de fórmula decimal

Crea unha columna de fórmulas que devolva un número decimal.

  1. Cando cree unha columna, introduza a seguinte información:
    • A Nome para mostrar para a columna.
    • Tamén pode inserir unha descrición da columna.
  2. Para Tipo de datos seleccione fx Fórmula.
  3. Introduza unha fórmula que devolva un valor numérico na barra Fórmula . Este exemplo crea unha columna de fórmulas chamada Importe total. A prezo por unidade columna é de tipo de datos decimal. Captura de pantalla dun panel de columna para crear un novo fórmula para usar cun número decimal.
  4. Expanda Opcións avanzadas, seleccione Decimal como Tipo de datos de fórmula e, a continuación, estableza o número necesario de cifras decimais. Captura de pantalla dunha definición de columna de fórmula decimal.
  5. Seleccione Gardar.

Crea unha columna de fórmula de número enteiro

Crea unha columna de fórmulas que devolva un número enteiro.

  1. Cando cree unha columna, introduza a seguinte información:
    • A Nome para mostrar para a columna.
    • Tamén pode inserir unha descrición da columna.
  2. Para Tipo de datos seleccione fx Fórmula.
  3. Introduza unha fórmula que devolva un valor numérico na barra Fórmula . Este exemplo crea unha columna de fórmulas chamada Número de unidades. As columnas Prezo total e prezo por unidade son de tipo de datos decimal. Captura de pantalla dun panel de columna de creación dun novo fórmula para usar cun número enteiro.
  4. Expanda Opcións avanzadas e seleccione Número enteiro como Tipo de datos de fórmula e configure o formato necesario para a columna de número enteiro. Captura de pantalla dunha definición de columna de fórmula de número enteiro.
  5. Seleccione Gardar.

Directrices e limitacións

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

Validacións de uso dos campos de moeda

  • As columnas de fórmula non admiten o uso dunha columna de moeda da táboa relacionada na fórmula, como neste exemplo. Columna de fórmulas coa fórmula de Conta non admitida. Ingresos anuais
  • Actualmente non se admite o uso directo das columnas de moeda e do tipo de cambio na fórmula. O uso das 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úrate de que a saída estea dentro do intervalo aceptado. Se o valor da columna de moeda ou tipo de cambio supera o intervalo aceptado, entón a fórmula devolve nulo.
  • As columnas de moeda base non se admiten nas expresións das columnas de fórmulas porque son columnas do sistema que se utilizan para elaborar informes. Se queres un resultado similar, 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 das columnas de data hora

  • O comportamento das columnas de fórmulas de data e hora só se pode actualizar cando non se utiliza noutra columna de fórmulas.
  • Para as columnas de fórmulas de data e hora, mentres utilizas 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 DateDiff funcións con outra DateTime(TZI)/DateOnly columna de comportamento.
    • DateOnly as columnas de comportamento pódense comparar ou usar na función DataDiff con outra DateTime(TZI)/DateOnly columna de comportamento. Configuración de data hora non compatible cunha columna de fórmulas
  • As columnas de data e hora e as funcións de data e hora UTCNow(), Now() non se poden pasar como parámetros ás funcións de cadea. Columna de fórmula cun parámetro de data e hora non compatible na fórmula

Uso da columna de fórmulas nos campos de acumulación

  • Unha columna de fórmula sinxela é onde a fórmula usa columnas do mesmo rexistro ou usa valores codificados. Para as columnas de acumulación, 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 sinxela para unha columna de acumulación Exemplo de configuración da columna de acumulación
  • Non se pode utilizar unha columna de fórmulas que dependa das funcións temporales UTCNow() e UTCToday() nun campo de acumulación.

Power Fx recomendacións de funcións de texto

  • As columnas de fórmulas non admiten funcións Text() cun só argumento de tipo Número. O número pode ser enteiro, decimal ou moeda. Columna de fórmulas 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 cadea. Estas son funcións de cadea colocadas onde se espera un argumento de texto: Superior, Inferior, Esquerda, Dereita, Concatenar, Medio, Len, ComezaCon, RemataCon, RemataFina, Recortar, Substituír e Substituír.
    • Nas fórmulas implícitas, como 12 & "foo", ou 12 & 34, ou "foo" & 12.
    • Non se admite a coerción de número interno a texto. Recomendamos usar Text(Number, Format) para converter un número en texto. No caso de que se pase un String argumento nunha función Text , non se admite o Format argumento.
    • Aquí tes un exemplo de uso da función Text para converter un número en texto e engadirlle unha cadea:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Tokens de formato específicos da localización como "." e "," non se admiten nas columnas de fórmulas. O token de formato específico da rexión non admitido pasou como parámetro á función Texto na fórmula

Validacións de intervalos en columnas de fórmulas

  • Non pode definir as propiedades Valor mínimo ou Valor máximo propiedades dunha columna de fórmulas.
  • Todos os cálculos internos deben estar dentro do intervalo Dataverse para as columnas de fórmulas de tipo decimal (-100000000000 a 100000000000).
  • Un valor literal codificado na barra de fórmulas debe estar dentro do intervalo Dataverse .
  • Se hai unha columna numérica que é nula, entón considérase 0 na operación intermedia. Por exemplo, a+b+c and If a = null, b=2, c=3 a continuación, a columna de fórmulas 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órmulas 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 de fórmula nas columnas de fórmula é de 1.000 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 se refiren a outras columnas de fórmulas ou de acumulación.
    • 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 clasificación está desactivada en:
    • Unha columna de fórmulas que contén unha columna dunha táboa relacionada.
    • Unha columna de fórmulas que contén unha columna lóxica (por exemplo, a columna de enderezos).
    • Unha columna de fórmulas que contén outra columna calculada ou fórmula.
    • Unha columna de fórmulas que usa a función temporal UTCNow().
  • As columnas do tipo Número enteiro co formato Idioma, Duración e Zona horaria non se admiten nas columnas de fórmulas.
  • As columnas do tipo Cadea co formato Correo electrónico, Área de texto, Símbolo de ticker e URL non se admiten nas columnas de fórmulas.
  • As columnas de fórmulas non mostran valores cando a aplicación está no modo móbil sen conexión.
  • Non podes activar fluxos de traballo nin complementos nas columnas de fórmulas.
  • Non recomendamos usar columnas calculadas nas columnas de fórmulas e viceversa.
  • As regras 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 un comportamento local do usuario e UTCNow() ten un comportamento independente da zona horaria.
  • Pode establecer a propiedade de precisión para as columnas decimais.
  • O valor predeterminado do tipo de datos da fórmula está definido como Decimal para fórmulas que devolven valores numéricos.
  • Non se admite a actualización do formato da columna de fórmula de números enteiros.

Power Fx funcións non soportadas actualmente

  • Enerxía
  • Sqrt
  • Exp
  • Ln
  • ^ (operador)

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

  • Opcións (excepto opción Si/Non)
  • Moeda

Consulte tamén

Tipos de columnas

Visión xeral de Microsoft Power Fx

Columnas de fórmulas, calculadas e acumuladas mediante código