Comparteix a través de


Treballar amb columnes de fórmules

Les columnes de fórmula són columnes que mostren un valor calculat en una taula del Microsoft Dataverse. Ús Power Fx de fórmules, un llenguatge de programació potent però amigable amb els humans. Creeu una fórmula en una columna de fórmula del Dataverse de la mateixa manera que crearíeu una fórmula al Microsoft Excel. A l'hora d'escriure, Intellisense suggereix funcions i sintaxi, i fins i tot us ajuda a corregir els errors.

Afegir una columna de fórmula

  1. Inicieu sessió a Power Apps at https://make.powerapps.com.

  2. Seleccioneu Taules i, a continuació, seleccioneu la taula on voleu afegir una columna de fórmula. Si l'element no és a la subfinestra del tauler lateral, seleccioneu ... Més i seleccioneu l'element que vulgueu.

  3. Seleccioneu l'àrea Columnes i, a continuació, seleccioneu Columna nova.

  4. Introduïu la informació següent:

    • Nom de visualització de la columna.
    • Opcionalment, introduïu una Descripció de la columna.
  5. Per a Tipus de dades, seleccioneu fx Fórmula.

  6. Escriviu la fórmula o utilitzeu suggeriments de fórmules:

    Introduïu la Power Fx fórmula al quadre Fórmula . Més informació: Escriure una fórmula


  1. Seleccioneu propietats addicionals:
    • Seleccioneu Es pot cercar si voleu que aquesta columna estigui disponible a les visualitzacions, als gràfics, als escriptoris digitals i a la cerca avançada.
    • Opcions avançades:
      • Si la fórmula s'avalua com a valor decimal, expandiu Opcions avançades per canviar el nombre de punts de precisió, entre 0 i 10. El valor per defecte és 2.
  2. Seleccioneu Desa.

Escriviu una fórmula

L'exemple següent crea una columna de fórmula anomenada Preu total. La columna Nombre d'unitats és un tipus de dades de nombre enter. La columna Preu és un tipus de dades decimals.

Captura de pantalla d'una definició de columna de fórmula.

La columna de fórmules mostra el resultat de Preu multiplicat pel nombre d'unitats.

Captura de pantalla d'un registre amb una columna de fórmula.

La fórmula que introduïu determina el tipus de columna. Després de crear-la, no podeu canviar el tipus de la columna. Això vol dir que podeu canviar la fórmula després de crear la columna només quan no canviï el tipus de columna.

Per exemple, la fórmula preu * descompte crea un tipus de columna de número. Podeu canviar el preu * descompte pel preu * (descompte + 10%) perquè això no canvia el tipus de columna. Tanmateix, no podeu canviar price * discount a Text(price * discount) perquè això requeriria canviar el tipus de columna a string.

Obtenir suggeriments de fórmules (versió preliminar)

[Aquest tema forma part de la documentació preliminar i està subjecte a canvis.]

Descriviu què voleu que faci la fórmula i obteniu resultats generats per IA. Els suggeriments de fórmules accepten la vostra entrada de llenguatge natural per interpretar i suggerir una fórmula mitjançant un Power Fx model d'IA basat en GPT.

Important

Aquesta és una versió preliminar disponible només a les regions dels EUA.

Les característiques de visualització prèvia no estan dissenyades per a un entorn de producció i poden tenir una funcionalitat restringida. Aquestes característiques estan disponibles abans d’un llançament oficial de producte per tal que els clients el puguin utilitzar abans i enviar-nos els seus comentaris.

Actualment, s'admeten suggeriments de fórmules que fan referència a una sola taula. No s'admeten els suggeriments de fórmules que fan referència a una columna d'una taula relacionada.

Requisits previs

Per habilitar aquesta funció, heu d'habilitar la configuració de l'entorn de suggeriments d'IA per a columnes de fórmules. Més informació: Suggeriments d'IA per a columnes de fórmules

Exemple d'entrada de llenguatge natural

Imagineu que hi ha una columna de puntuació del client que mostra la seva puntuació per compte. Exemple de columna de valoració del client

Al quadre Obtén suggeriments de fórmules, introduïu la fórmula en llenguatge natural, com ara Si la puntuació de la columna de classificació és igual o superior a 5, indiqueu com a Bona i si és inferior a 5 indiqueu com a Mitjana i si el valor està en blanc o zero, mostreu-la com a Dolenta i, a continuació, seleccioneu el botó de fletxa (Retorn).

A continuació, copieu la fórmula suggerida. Fórmula suggerida

I enganxeu-lo al quadre Escriviu una fórmula . Seleccioneu Desa. Enganxa la fórmula al quadre Escriu una fórmula.

Així és com apareix la fórmula quan s'enganxa.

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

Comproveu la columna de la fórmula Descripció de la qualificació calculada , que apareix així.

Comprovar els resultats de la columna de fórmules

IA responsable

Per obtenir informació sobre la IA responsable, aneu a aquests recursos:

Operadors

Podeu utilitzar els operadors següents en una columna de fórmula:
+, -, *, /, %, in, exactin, &

Per obtenir més informació, aneu a Operadors a Power Apps.

Data Types

Podeu mostrar els següents tipus de dades en una columna de fórmula:

Més informació: Crear columnes de fórmules amb tipus de dades decimal, nombre enter, flotant i opció\

Actualment no s'admet el tipus de dades de moneda.

Tipus de funció

Podeu utilitzar els tipus de dades de funció següents en una columna de fórmula:

  • Decimal
  • String
  • Boolean
  • Elecció
  • DateTime (TZI)
  • DateTime (usuari local) (limitat a comparacions amb altres valors locals d'usuari funcions DateAdd i DateDiff)
  • DateTime (només Date) (limitat a comparacions amb altres valors de només data, funcions DateAdd i DateDiff)
  • Moneda
  • Número enter

Funcions

Per a les funcions escalars que podeu utilitzar en una columna de fórmula, aneu a Referència de fórmules - Dataverse columnes de fórmula.

* Les funcions Text i Valor només funcionen amb nombres enters, on no hi ha cap separador decimal. El separador de decimals varia en diferents regions. Atès que les columnes de fórmula s'avaluen sense coneixements regionals, no hi ha manera d'interpretar ni generar correctament el separador decimal.

* L'argument StartOfWeek no s'admet per a les funcions WeekNum i Weekday a les columnes de fórmules.

Exemple de funció

Descripció Exemple
Recupera un valor de data. DateAdd(UTCNow(),-1,TimeUnit.Years)

Directrius i limitacions

Aquesta secció descriu les directrius i les limitacions conegudes amb les columnes Dataverse de fórmula.

Validacions d'ús dels camps de moneda

  • Les columnes de fórmules no admeten l'ús d'una columna de moneda de taula relacionada a la fórmula, com en aquest exemple. Columna de fórmules amb la fórmula no admesa de Account.Annual Revenue
  • Actualment no s'admet l'ús directe de les columnes de moneda i el tipus de canvi a la fórmula. L'ús de columnes de moneda i tipus de canvi s'aconsegueix mitjançant la Decimal funció, com Decimal(currency column) ara or Decimal(exchange rate). La Decimal funció s'assegura que la sortida estigui dins del rang acceptat. Si el valor de la columna de moneda o tipus de canvi supera l'interval acceptat, la fórmula retorna null.
  • Les columnes de moneda base no s'admeten a les expressions de columna de fórmula, ja que són columnes del sistema que s'utilitzen amb finalitats d'informes. Si voleu un resultat similar, podeu utilitzar un tipus de columna de moneda juntament amb una combinació de columnes de tipus de canvi com CurrencyField_Base = (CurrencyField / ExchangeRate).

Validacions d'ús de columnes de data i hora

  • El comportament de les columnes de fórmules de data i hora només es pot actualitzar quan no s'utilitza en una altra columna de fórmula.
  • Per a les columnes de fórmules de data i hora, mentre utilitzeu la DateDiff funció, assegureu-vos que:
    • La columna de comportament local de l'usuari no es pot comparar ni utilitzar amb una columna DateTime(TZI)/DateOnly de comportament.
    • Les columnes de comportament local de l'usuari només es poden comparar o utilitzar amb una altra columna de comportament local de l'usuari.
    • DateTime(TZI) Les columnes de comportament es poden comparar o utilitzar en DateDiff funcions amb una altra DateTime(TZI)/DateOnly columna de comportament.
    • DateOnly Les columnes de comportament es poden comparar o utilitzar a la funció DateDiff amb una altra DateTime(TZI)/DateOnly columna de comportament. Configuració de data i hora no admesa amb una columna de fórmula
  • Les columnes de data i hora i les funcions UTCNow() de data i hora, Now() no es poden passar com a paràmetre a les funcions de cadena. Columna de fórmula amb el paràmetre de data i hora no admès passat a la fórmula

Ús de columnes de fórmules als camps d'informe

  • Una columna de fórmula simple és on la fórmula utilitza columnes del mateix registre o utilitza valors codificats. Per a les columnes d'informe, les columnes de fórmules han de ser columnes de fórmules simples, com ara aquesta columna d'informe d'exemple. Exemple de columna de fórmula senzilla per a una columna d'informeExemple de configuració de columna d'informe
  • Una columna de fórmula, que depèn de funcions UTCNow() limitades en el temps i UTCToday() no es pot utilitzar en un camp d'informe.

Power Fx Recomanacions de funcions de text

  • Les columnes de fórmules no admeten Text() funcions amb un sol argument de tipus Number. El nombre pot ser sencer, decimal o moneda. Columna de fórmula amb funció de text no admesa amb un argument numèric

  • Les columnes de fórmules no admeten l'ús de números en les configuracions següents:

    • En funcions de cadena. Aquestes són funcions de cadena col·locades allà on s'espera un argument de text: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute i Replace.
    • En les fórmules implícites, com ara 12 & "foo", o 12 & 34, o "foo" & 12.
    • No s'admet la coerció interna de número a text. Us recomanem que utilitzeu Text(Number, Format) per convertir un número en text. En el cas que es passi un String argument en una Text funció, l'argument Format no és compatible.
    • Aquí hi ha un exemple d'ús de la Text funció per convertir un número en text i afegir-hi una cadena:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Els testimonis de format específics de la configuració regional, com ara "." i "", no s'admeten a les columnes de fórmules. Testimoni de format específic de la configuració regional no admès passat com a paràmetre a la funció Text a la fórmula

Validacions d'interval a les columnes de fórmules

  • No podeu definir les propietats Valor mínim o Valor màxim d'una columna de fórmula.
  • Tots els càlculs interns haurien d'estar dins de l'interval Dataverse per a les columnes de fórmules de tipus decimal (-100000000000 a 100000000000).
  • Un valor literal codificat introduït a la barra de fórmules hauria d'estar dins de l'interval Dataverse .
  • Si hi ha una columna nul·la que es considera 0 en l'operació intermèdia. Per exemple, a+b+c and If a = null, b=2, c=3 llavors la columna de fórmula dona 0 + 2 + 3 = 5.
    • Aquest comportament és diferent de les columnes calculades en aquest cas perquè les columnes calculades donen null + 2 + 3 = null.

Validacions generals a les columnes de fórmules

  • Les columnes de fórmules poden fer referència a altres columnes de fórmules, però una columna de fórmules no pot fer referència a si mateixa.
  • Les columnes de fórmules no admeten cadenes cícliques, com ara F1 = F2 + 10, F2 = F1 * 2.
  • La longitud màxima de l'expressió de fórmules a les columnes de fórmules és de 1.000 caràcters.
  • La profunditat màxima permesa a les columnes de fórmules és 10. La profunditat es defineix com la cadena de columnes de fórmules que fan referència a altres columnes de fórmules o d'informe.
    • Per exemple, table E1, F1 = 1*2, table E2, F2 - E1*2. En aquest exemple, la profunditat de F2 és 1.
  • A les aplicacions basades en models, l'ordenació està inhabilitada el:
    • Columna de fórmules que conté una columna d'una taula relacionada.
    • Columna de fórmula que conté una columna lògica (per exemple, columna d'adreça).
    • Columna de fórmula que conté una altra columna calculada o de fórmula.
    • Columna de fórmules que utilitza la funció UTCNow() limitada en el temps.
  • Les columnes de tipus Nombre enter amb el format Idioma, Durada, Fús horari no s'admeten a les columnes de fórmules.
  • Les columnes de tipus Cadena amb el format Correu electrònic, Àrea de text, Símbol de cotització, URL no s'admeten a les columnes de fórmules.
  • Les columnes de fórmules no mostren valors quan l'aplicació està en mode Mobile Offline.
  • No podeu activar fluxos de treball ni complements a les columnes de fórmules.
  • No recomanem utilitzar columnes calculades a les columnes de fórmules i viceversa.
  • Les regles de detecció de duplicats no s'activen a les columnes de fórmules.
  • La Now funció es pot utilitzar amb columnes de fórmules. Now() té un comportament local de l'usuari i UTCNow() té un comportament independent de la zona horària.
  • Podeu definir la propietat de precisió per a les columnes decimals.
  • El valor del tipus de dades de la fórmula per defecte es defineix com a Decimal per a les fórmules de valor numèric que retornen.
  • No s'admet l'actualització del format de la columna de fórmules de nombres enters.

Columnes de fórmules dels tipus de dades que no es poden produir

  • Moneda

Consulteu també

Tipus de columnes

Microsoft Power Fx Visió general

Columnes de fórmula, calculades i d'informe mitjançant codi