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
Iniciar sesión en Power Apps na páxina https://make.powerapps.com.
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.
Seleccione a área Columnas e logo seleccione Nova columna.
Introduza a seguinte información:
- A Nome para mostrar para a columna.
- Tamén pode inserir unha descrición da columna.
Para Tipo de datos seleccione fx Fórmula.
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
- 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.
- 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.
A columna da fórmula mostra o resultado do Prezo multiplicado por Número de unidades.
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.
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.
E pégao na caixa Escriba unha fórmula . Seleccione Gardar.
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í.
IA responsable
Para obter información sobre a IA responsable, vai a estes recursos:
- Preguntas frecuentes para crear aplicacións e táboas a través da conversa
- Preguntas frecuentes sobre o uso responsable da IA en Power Apps
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:
- Mensaxe de texto
- Número decimal
- Opción Si/Non (booleano)
- DataHora
- Número enteiro
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.
- 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.
- Para Tipo de datos seleccione fx Fórmula.
- 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.
- 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.
- Seleccione Gardar.
Crea unha columna de fórmula de número enteiro
Crea unha columna de fórmulas que devolva un número enteiro.
- 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.
- Para Tipo de datos seleccione fx Fórmula.
- 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.
- 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.
- 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.
- 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
, comoDecimal(currency column)
ouDecimal(exchange rate)
. A funciónDecimal
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 enDateDiff
funcións con outraDateTime(TZI)/DateOnly
columna de comportamento.DateOnly
as columnas de comportamento pódense comparar ou usar na función DataDiff con outraDateTime(TZI)/DateOnly
columna de comportamento.
- A columna de comportamento local do usuario non se pode comparar nin usar cunha columna de comportamento
- 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.
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.
- Non se pode utilizar unha columna de fórmulas que dependa das funcións temporales
UTCNow()
eUTCToday()
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.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"
, ou12 & 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 unString
argumento nunha funciónText
, non se admite oFormat
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.
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
.
- Este comportamento é diferente das columnas calculadas neste caso porque as columnas calculadas dan
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.
- Por exemplo,
- 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 eUTCNow()
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
Visión xeral de Microsoft Power Fx
Columnas de fórmulas, calculadas e acumuladas mediante código