Trabajar con columnas de fórmulas
Las columnas de fórmula son columnas que muestran un valor calculado en una tabla de Microsoft Dataverse. Las fórmulas utilizan Power Fx, un lenguaje de programación potente pero fácil de usar. Construya una fórmula en una columna de fórmula de Dataverse de la misma manera que construiría una fórmula en Microsoft Excel. A medida que escribe, Intellisense sugiere funciones y sintaxis, e incluso lo ayuda a corregir errores.
Agregar una columna de fórmula
Inicie sesión en Power Apps en https://make.powerapps.com.
Seleccione Tablas y luego seleccione la tabla donde desea añadir una columna de fórmula. Si el elemento no se encuentra en el panel lateral, seleccione …Más y, a continuación, el elemento que desee.
Seleccionar el área Columnas y luego Seleccionar Nueva columna.
Escriba la siguiente información:
- A nombre para la columna.
- Opcionalmente, ingrese una Descripción de la columna.
Para Tipo de datos Seleccionar fx Fórmula.
Escriba la fórmula o utilice sugerencias de fórmula:
Introduzca la Power Fx fórmula en el cuadro Fórmula . Más información: Escriba una fórmula
- Seleccionar propiedades adicionales:
- Seleccionar Se puede buscar si desea que esta columna esté disponible en vistas, gráficos, paneles y búsqueda avanzada.
- Opciones avanzadas:
- Si la fórmula se evalúa como un valor decimal, expanda Opciones avanzadas para cambiar la cantidad de puntos de precisión, entre 0 y 10. El valor predeterminado es 2.
- Seleccione Guardar.
Escriba una fórmula
El siguiente ejemplo crea una columna de fórmula llamada Precio total. La columna Número de unidades es un tipo de datos de número entero. La columna Precio es un tipo de datos decimal.
La columna de fórmula muestra el resultado de Precio multiplicado por Número de unidades.
La fórmula que introduzca determina el tipo de columna. No puede cambiar un tipo de columna una vez creada. Esto significa que puedes cambiar la fórmula después de crear la columna solo cuando no cambie tipo de columna.
Por ejemplo, la fórmula precio * descuento crea un Seleccionar de número. Puedes cambiar precio * descuento a precio * (descuento + 10%) porque eso no cambia el tipo de columna. Sin embargo, no puedes cambiar precio * descuento a Texto(precio * descuento) porque eso requeriría cambiar tipo de columna a cadena.
Obtener sugerencias de fórmulas (versión preliminar)
[Este tema es documentación preliminar y está sujeto a modificaciones.]
Describa lo que quiere que haga la fórmula y obtenga los resultados generados por la IA. Las sugerencias de fórmulas aceptan su entrada en lenguaje natural para interpretar y sugerir una fórmula Power Fx utilizando un modelo de IA basado en GPT.
Importante
Se trata de una característica en vista previa disponible solo en las regiones de EE. UU.
Las características en vista previa no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un acceso anticipado y proporcionar comentarios.
Actualmente, se admiten sugerencias de fórmulas que hacen referencia a una única tabla. No se admiten sugerencias de fórmulas que hagan referencia a una columna de una tabla relacionada.
Requisitos previos
Para habilitar esta función, debe habilitar la configuración Sugerencias de IA para columnas de fórmulas ambiente. Más información: Sugerencias de IA para columnas de fórmulas
Ejemplo de entrada en lenguaje natural
Imagínese que hay una columna de Calificación del cliente que muestra su calificación por cuenta.
En el cuadro Obtener sugerencias de fórmulas , ingrese la fórmula en lenguaje natural, como Si la calificación en la columna de calificación es igual o mayor a 5, indíquelo como Bueno y si es menor a 5, indíquelo como Promedio y si el valor está en blanco o es cero, muéstrelo como Malo, y luego presione el botón de flecha (Entrar).
Luego copie la Fórmula sugerida.
Y péguelo en el cuadro Escriba una fórmula . Seleccione Guardar.
Así es como aparece la fórmula cuando 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"
)
Consulte la columna de fórmula de Descripción de calificación calculada, que aparece así.
IA responsable
Para obtener información sobre la IA responsable, consulte estos recursos:
- Preguntas frecuentes sobre la creación de aplicaciones y tablas mediante conversaciones
- Preguntas frecuentes sobre el uso responsable de la IA en Power Apps
Operadores
Puede usar los siguientes oepradores en una columna de fórmula:
+, -, *, /, %, en, exactin, &
Para obtener más información, vaya a Operadores en Power Apps.
Tipos de datos
Puede mostrar los siguientes tipos de datos en una columna de fórmula:
- Text
- Número decimal
- Número entero
- Flotar
- Booleano Opción (Sí/No)
- Elección (anteriormente conjuntos de opciones)
- Datetime
Más información: Crear columnas de fórmulas con tipos de datos decimales, enteros, de punto flotante y de opción\
El tipo de datos de moneda no se admite actualmente.
Tipos de función
Puede usar los siguientes tipos de función en una columna de fórmula:
- Decimal
- String
- Booleana
- Opción
- DateTime (TZI)
- DateTime (usuario local) (limitado a comparaciones con otras funciones DateAdd y DateDiff de valores locales de usuario local)
- DateTime (solo fecha) (limitado a comparaciones con otros valores de solo fecha, DateAdd y funciones DateDiff)
- Moneda
- Número entero
Funciones
Para conocer las funciones escalares que puede utilizar en una columna de fórmula, vaya a Referencia de fórmulas - Dataverse columnas de fórmulas.
* Las funciones Texto y Valor solo funcionan con números enteros, donde no hay separador decimal involucrado. El separador decimal varía según las configuraciones regionales. Dado que las columnas de fórmula se evalúan sin conocimiento de la configuración regional, no hay forma de interpretar o generar correctamente el separador decimal.
* El argumento StartOfWeek no es compatible con las funciones WeekNum y Weekday en las columnas de fórmula.
Ejemplo de función
Description | Ejemplo |
---|---|
Recuperar un valor de fecha. | DateAdd(UTCNow(),-1,TimeUnit.Years) |
Instrucciones y limitaciones
En esta sección se describen las instrucciones y limitaciones conocidas con las columnas de fórmula de Dataverse.
Validaciones de uso de campos de moneda
- Las columnas de fórmula no admiten el uso de una columna de moneda de tabla relacionada en la fórmula, como en este ejemplo.
- Actualmente no se admite el uso directo de columnas de moneda y tipo de cambio en la fórmula. El uso de columnas de moneda y tipo de cambio se logra mediante la función
Decimal
, comoDecimal(currency column)
oDecimal(exchange rate)
. La funciónDecimal
garantiza que la salida esté dentro del rango aceptado. Si el valor de la columna de moneda o tipo de cambio excede el rango aceptado, la fórmula devuelve nulo. - Las columnas de moneda base no se admiten en las expresiones de las columnas de fórmula porque son columnas del sistema que se utilizan con fines de generación de informes. Si desea un resultado similar, puede utilizar una moneda tipo de columna junto con una combinación de columnas de tipo de cambio como
CurrencyField_Base = (CurrencyField / ExchangeRate)
.
Validaciones de uso de columnas de fecha y hora
- El comportamiento de las columnas de fórmula de fecha y hora solo se puede actualizar cuando no se utiliza en otra columna de fórmula.
- Para las columnas de fórmula de fecha y hora, al utilizar la función
DateDiff
, asegúrese de que:- La columna de comportamiento local del usuario no se puede comparar ni utilizar con una columna de comportamiento.
DateTime(TZI)/DateOnly
- Las columnas de comportamiento local del usuario solo se pueden comparar o utilizar con una columna de comportamiento de usuario local.
DateTime(TZI)
Las columnas de comportamiento se pueden comparar o usar en funciones con otra columna de comportamiento.DateDiff
DateTime(TZI)/DateOnly
DateOnly
Las columnas de comportamiento se pueden comparar o usar en la función DateDiff con otra columna de comportamiento.DateTime(TZI)/DateOnly
- La columna de comportamiento local del usuario no se puede comparar ni utilizar con una columna de comportamiento.
- Las columnas de fecha y hora y las funciones de fecha y hora
UTCNow()
,Now()
no se pueden pasar como parámetros a funciones de cadena.
Uso de columnas de fórmula en campos consolidados
- Una columna de fórmula simple es donde la fórmula usa columnas del mismo registro o usa valores codificados. Para las columnas consolidadas, las columnas de fórmula deben ser columnas de fórmula simples, como esta columna consolidada de ejemplo.
- Una columna de fórmula, que depende de funciones limitadas en el tiempo
UTCNow()
yUTCToday()
no se puede utilizar en un campo acumulativo.
Recomendaciones de función de tecto de Power Fx
Las columnas de fórmula no admiten funciones con un solo argumento de tipo Número.
Text()
Los números pueden ser enteros, decimales o monedas.Las columnas de fórmula no admiten el uso de números en las siguientes configuraciones:
- En funciones de cadena. Estas son funciones de cadena ubicadas donde se espera un argumento de texto: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute, y Replace.
- En las fórmulas implícitas, como
12 & "foo"
, o12 & 34
, o"foo" & 12
. - No se admite la coacción de números internos a mensajes de texto. Recomendamos utilizar
Text(Number, Format)
para convertir un número en texto. En el caso en que se pasa un argumento en una función, el argumento no es compatible.String
Text
Format
- A continuación se muestra un ejemplo que utiliza la función
Text
para convertir un número en texto y agregarle una cadena:
Concatenate(Text(123,"#"),"ab") Text(123,"#") & "foo"
No se admiten tokens de formato específicos de la configuración regional, como "." y "," en las columnas de fórmula.
Validaciones de rango en columnas de fórmula
- No se pueden establecer las propiedades Valor mínimo o Valor máximo de una columna de fórmula.
- Todos los cálculos internos deben estar dentro del rango Dataverse para las columnas de fórmula de tipo decimal (-100000000000 a 100000000000).
- Un valor literal codificado ingresado en la barra de fórmulas debe estar dentro del rango Dataverse.
- Si hay una columna numérica que es nula, se considera 0 en la operación intermedia. Por ejemplo,
a+b+c and If a = null, b=2, c=3
, la columna de fórmula da0 + 2 + 3 = 5
.- Este comportamiento es diferente al de las columnas calculadas en este caso porque las columnas calculadas dan
null + 2 + 3 = null
.
- Este comportamiento es diferente al de las columnas calculadas en este caso porque las columnas calculadas dan
Validaciones generales en columnas de fórmula
- Las columnas de fórmula pueden hacer referencia a otras columnas de fórmula, pero una columna de fórmula no puede hacer referencia a sí misma.
- Las columnas de fórmula no admiten cadenas cíclicas, como
F1 = F2 + 10, F2 = F1 * 2
. - La longitud máxima de la expresión de fórmula en las columnas de fórmula es de 1000 caracteres.
- La profundidad máxima permitida en las columnas de fórmula es 10. La profundidad se define como la cadena de columnas de fórmula que hacen referencia a otras columnas de fórmula o de resumen.
- Por ejemplo,
table E1, F1 = 1*2, table E2, F2 - E1*2
. En este ejemplo, la profundidad de F2 es 1.
- Por ejemplo,
- En las aplicaciones basadas en modelos, la clasificación está deshabilitada en:
- Una columna de fórmula que contiene una columna de una tabla relacionada.
- Una columna de fórmula que contiene una columna lógica (por ejemplo, la columna de dirección).
- Una columna de fórmula que contiene otra columna calculada o de fórmula.
- Una columna de fórmula que utiliza una función limitada en el tiempo
UTCNow()
.
- Las columnas de tipo Número entero con formato Idioma, Duración y Zona horaria no se admiten en las columnas de fórmula.
- Las columnas de tipo Cadena con formato Correo electrónico, Área de texto, Símbolo de cotización y URL no se admiten en las columnas de fórmula.
- Las columnas de fórmula no muestran valores cuando la aplicación está en el modo móvil sin conexión.
- No se pueden desencadenar flujos de trabajo o complementos en las columnas de fórmula.
- No recomendamos utilizar columnas calculadas en columnas de fórmula y viceversa.
- Las reglas de detección de duplicados no se activan en columnas de fórmula.
- La función
Now
se puede utilizar con columnas de fórmula.Now()
tiene comportamiento local del usuario y tiene comportamiento independiente de la zona horaria.UTCNow()
- Puede establecer la propiedad de precisión para columnas decimales.
- El valor del tipo de datos de fórmula predeterminado se establece en Decimal para fórmulas que devuelven valores numéricos.
- No se admite la actualización del formato de la columna de fórmula de números enteros.
Columnas de fórmula de tipos de datos que no se pueden generar
- Moneda
Consulte también
Información general de Microsoft Power Fx
Columnas de fórmula, calculadas y consolidadas usando código