Arbeta med formelkolumner
Formelkolumner är kolumner som visar ett beräknat värde i en Microsoft Dataverse tabell. Formler använder Power Fx, ett kraftfullt men människovänligt programmeringsspråk. Skapa en formel i en Dataverse formelkolumn på samma sätt som du bygger en formel i Microsoft Excel. När du skriver föreslår Intellisense-funktioner och syntax, och hjälper dig till och med att åtgärda fel.
Lägg till en formelkolumn
Logga in i Power Apps på https://make.powerapps.com.
Välj Tabeller och välj sedan tabellen där du vill lägga till en formelkolumn. Om objektet inte finns i sidopanelsfönstret väljer du ... Mer och markerar sedan det objekt du vill använda.
Välj den Kolumner och sedan VäljNy kolumn.
Ange följande information:
- Avisningsnamnför kolumnen.
- Du kan också ange en Beskrivning av kolumnen .
För Datatyp Väljfx Formel.
Skriv formeln eller använd förslag på formeln:
Ange formeln Power Fx i rutan Formel . Mer information: Skriv en formel
- Välj ytterligare egenskaper:
- VäljSökbar om du vill att den här kolumnen ska vara tillgänglig i vyer, diagram, instrumentpaneler och Avancerad sökning.
- Avancerade alternativ:
- Om formeln utvärderas till ett decimalvärde expanderar du Avancerade alternativ för att ändra antalet precisionspunkter, mellan 0 och 10. Standardvärdet är 2.
- Välj Spara.
Skriv en formel
I följande exempel skapas en formelkolumn med namnet Totalt pris. Kolumnen Antal enheter är en datatyp för heltal. Kolumnen Price är en decimaldatatyp.
Formelkolumnen visar resultatet av Pris multiplicerat med Antal enheter.
Formeln du anger bestämmer kolumntypen. Du kan inte ändra en kolumntyp efter att kolumnen har skapats. Det innebär att du bara kan ändra formeln när du har skapat kolumnen när den inte ändrar kolumntypen.
Formeln pris * rabatt skapar till exempel en kolumntyp av tal. Du kan ändra pris * rabatt till pris * (rabatt + 10 %) eftersom det inte ändrar kolumntypen. Du kan dock inte ändra pris * rabatt till Text (pris * rabatt) eftersom det skulle kräva att kolumntypen ändras till sträng.
Få formelförslag (förhandsversion)
[Det här avsnittet utgör förhandsdokumentation och kan komma att ändras.]
Beskriv vad du vill att formeln ska göra och få AI-genererade resultat. Formelförslag godkänner indata i ditt naturligt språk för att tolka och föreslår en Power Fx-formel med hjälp av GPT-baserad AI-modell.
Viktigt
Detta är en förhandsgranskningsfunktion och endast i USA-regioner.
Förhandsversionsfunktioner ska inte användas i produktion och funktionerna kan vara begränsade. funktionerna är tillgängliga före den officiella publiceringen så att kunderna kan få tillgång tidigare och ge oss feedback.
För närvarande stöds formelförslag som refererar till en enskild tabell. Formelförslag som refererar till en kolumn i en relaterad tabell stöds inte.
Förutsättningar
Om du vill aktivera den här funktionen måste du aktivera miljöinställningen AI-förslag för formelkolumner . Mer information:AI-förslag för formelkolumner
Exempel på inmatning av naturligt språk
Föreställ dig Dit är en kolumn för kundbetyg som visar deras betyg per konto.
I rutan Hämta formelförslag anger du formeln på naturligt språk, till exempel Om klassificeringen i betygskolumnen är lika med eller större än 5 anger du som Bra och om mindre än 5 anger du som Genomsnitt och om värdet är tomt eller noll visas det som Dåligt och Välj sedan pilknappen (Retur).
Kopiera sedan den föreslagna formeln .
Och klistra in den i rutan Skriv en formel . Välj Spara.
Så här ser formeln ut när den klistras in.
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"
)
Kontrollera den beräknade formelkolumnen för klassificeringsbeskrivning , som ser ut så här.
Ansvarsfull AI
För information om ansvarsfull AI, gå till dessa resurser:
- Vanliga frågor och svar om att skapa appar och tabeller via konversation
- Vanliga frågor om att använda AI på ett ansvarsfullt sätt i Power Apps
Operatorer
Du kan använda följande operatorer i en formelkolumn:
+, -, *, /, %, in, exactin, &
Mer information finns i Operatorer i Power Apps.
Datatyper
Du kan visa följande datatyper i en formelkolumn:
- Text
- Decimaltal
- Heltal
- Flyta
- Booleskt val (Ja/Nej)
- Val (tidigare alternativuppsättningar)
- Datetime
Mer information: Skapa formelkolumner med datatyperna decimal, heltal, flyttal och val\
Valutadatatypen stöds inte för närvarande.
Funktionstyper
Du kan använda följande funktionstyper i en formelkolumn:
- Decimal
- String
- Booleskt
- Alternativ
- DateTime (TZI)
- DateTime (lokal användare) (begränsad till jämförelser med andra lokala användarvärden, funktionerna DateAdd och DateDiff)
- DateTime (endast datum) (begränsad till jämförelser med andra endast datum-värden och funktionen DateAdd och DateDiff)
- Valuta
- Heltal
Funktioner
För de skalära funktioner som du kan använda i en formelkolumn, gå till Formelreferens - Dataverse formelkolumner.
* Funktionerna Text och Värde fungerar bara med heltal, där ingen decimal är inblandad. Decimalavgränsaren varierar mellan olika språk. Eftersom formelkolumnerna utvärderas utan kunskap om språken går det inte att tolka eller skapa decimalavgränsaren på ett korrekt sätt.
* Argumentet StartOfWeek stöds inte för funktionerna WeekNum och Weekday i formelkolumner.
Exempel på funktion
Description | Exempel |
---|---|
Hämta ett datumvärde. | DateAdd(UTCNow(),-1,TimeUnit.Years) |
Riktlinjer och begränsningar
I det här avsnittet beskrivs riktlinjer och kända begränsningar med formelkolumner i Dataverse.
Användningsvalidering för valutafält
- Formelkolumner stöder inte användning av en relaterad tabellvalutakolumn i formeln, till exempel i det här exemplet.
- För närvarande stöds inte direkt användning av valutakolumner och växelkurser i formeln. Användningen av valuta- och valutakurskolumner uppnås via
Decimal
funktionen, till exempelDecimal(currency column)
ellerDecimal(exchange rate)
. FunktionenDecimal
ser till att utdata ligger inom det accepterade intervallet. Om kolumnvärdet i valutan eller växelkursen överskrider det godkända intervallet returneras null i formeln. - Basvalutakolumner stöds inte i formelkolumnen eftersom de är systemkolumner som används för rapporteringssyfte. Om du vill ha ett liknande resultat kan du använda en kolumntyp av valuta tillsammans med en kombination av valutakurskolumner som
CurrencyField_Base = (CurrencyField / ExchangeRate)
.
Användningsvalidering för datum- och tidskolumner
- Formelkolumnerna för datum- och tidsbeteenden kan bara uppdateras när de inte används i någon annan formelkolumn.
- För datum/tid-formelkolumner ska du se till att följande gäller när du
DateDiff
använder funktionen:- Kolumnen Användarens lokala beteende kan inte jämföras eller användas med en
DateTime(TZI)/DateOnly
beteendekolumn. - Kolumner för Lokalt beteende för användare kan endast jämföras eller användas med en annan användarlokal beteendekolumn.
DateTime(TZI)
Beteendekolumner kan jämföras eller användas iDateDiff
funktioner med en annanDateTime(TZI)/DateOnly
beteendekolumn.DateOnly
beteendekolumner kan jämföras eller användas i funktionen DateDiff med en annanDateTime(TZI)/DateOnly
beteendekolumn.
- Kolumnen Användarens lokala beteende kan inte jämföras eller användas med en
- Datum/tid-kolumner och datum/tid-funktioner
UTCNow()
Now()
kan inte skickas som en parameter till strängfunktioner.
Användning av formelkolumner i sammanslagningsfält
- En enkel formelkolumn är när formeln använder kolumner från samma post eller använder hårdkodade värden. För sammanslagningskolumner måste formelkolumnerna vara enkla formelkolumner, till exempel den här exempelkolumnen för sammanslagning.
- En formelkolumn som är beroende av tidsbundna funktioner
UTCNow()
ochUTCToday()
inte kan användas i ett sammanslagningsfält.
Power Fx rekommendationer av textfunktion
Formelkolumner stöder
Text()
inte funktioner med ett enda argument av typen Tal. Tal kan vara heltal, decimaltal eller valuta.Formelkolumner stöder inte användning av tal i följande konfigurationer:
- I strängfunktioner. Dessa är strängfunktioner placerade varhelst ett textargument förväntas: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute och Replace.
- I de implicita formlerna, till exempel
12 & "foo"
, eller12 & 34
, eller"foo" & 12
. - Internt nummer till textkonvertering stöds inte. Vi rekommenderar att du använder
Text(Number, Format)
för att konvertera ett tal till text. Om ettString
argument skickas i en funktion stöds inte argumentetText
Format
. - Hit är ett exempel på hur du
Text
använder funktionen för att konvertera ett tal till text och lägga till en sträng i den:
Concatenate(Text(123,"#"),"ab") Text(123,"#") & "foo"
Språkspecifika formateringstoken som "." och "," stöds inte i formelkolumner.
Intervallvalidering på formelkolumner
- Du kan inte ange egenskaperna Lägsta värde eller Högsta värde för en formelkolumn.
- Alla interna beräkningar bör finnas inom Dataverse-intervallet för decimalformelkolumner (-100 000 000 000 till 100 000 000 000).
- Ett hårdkodat litervärde som anges i formelfältet ska finnas inom Dataverse-intervallet.
- Om det finns en numerisk kolumn som är null betraktas den som 0 i den mellanliggande åtgärden. Till exempel,
a+b+c and If a = null, b=2, c=3
då ger formelkolumnen0 + 2 + 3 = 5
.- Det här beteendet skiljer sig från beräknade kolumner i det här fallet eftersom beräknade kolumner ger
null + 2 + 3 = null
.
- Det här beteendet skiljer sig från beräknade kolumner i det här fallet eftersom beräknade kolumner ger
Allmän validering på formelkolumner
- Formelkolumner kan referera till andra formelkolumner, men en formelkolumn kan inte referera till sig själv.
- Formelkolumner stöder inte cykliska kedjor, till exempel
F1 = F2 + 10, F2 = F1 * 2
. - Maximal längd på formelns uttryck i formelkolumner är 1 000 tecken.
- Det maximala djup som tillåts i formelkolumner är 10. Djup definieras som kedjan av formelkolumner som refererar till andra formel- eller sammanslagningskolumner.
- Till exempel,
table E1, F1 = 1*2, table E2, F2 - E1*2
. I det här exemplet är djupet för F2 1.
- Till exempel,
- I modellbaserade appar är sortering inaktiverat på:
- En formelkolumn som innehåller en kolumn för en relaterad tabell.
- En formelkolumn som innehåller en logisk kolumn (till exempel adresskolumnen).
- En formelkolumn som innehåller en annan beräknad eller formelkolumn.
- En formelkolumn som använder en tidsbunden funktion
UTCNow()
.
- Kolumner av typen Heltal med formatet Språk, Varaktighet, Tidszon stöds inte i formelkolumner.
- Kolumner av typen Sträng med formatet E-post, Textområde, Börssymbol, URL stöds inte i formelkolumner.
- Formelkolumner visar inte värden när appen är i mobilt offlineläge.
- Du kan inte utlösa arbetsflöden eller plugin-program på formelkolumner.
- Vi rekommenderar inte att du använder beräknade kolumner i formelkolumner och vice versa.
- Regler för dubblettidentifiering utlöses inte för formelkolumner.
- Funktionen
Now
kan användas med formelkolumner.Now()
har användarlokalt beteende ochUTCNow()
har tidszonsoberoende beteende. - Du kan ange precisionsegenskapen för decimalkolumner.
- Standardvärdet för formeldatatypen är inställt på Decimal för numeriska värdereturnerande formler.
- Det går inte att uppdatera formatet för heltalsformelkolumnen.
Formelkolumner med datatyper som inte kan skapas
- Valuta
Se även
Formel, beräknade kolumner och sammanslagningskolumner med hjälp av kod