Del via


Arbejde med formelkolonner

Formelkolonner er kolonner, der viser en beregnet værdi i en Microsoft Dataverse-tabel. Formler bruger Power Fx et kraftfuldt, men menneskevenligt programmeringssprog. Opret en formel i en Dataverse-formelkolonne på samme måde, som du ville oprette en formel i Microsoft Excel. Når du skriver, foreslår IntelliSense funktioner og syntaks, og det hjælper dig endda med at rette fejl.

Tilføje en formelkolonne

  1. Log på Power Apps på https://make.powerapps.com.

  2. Vælg Tabeller, og vælg den tabel, hvor du vil tilføje en formelkolonne. Hvis elementet ikke findes i sidepanelruden, skal du vælge ...Flere og derefter vælge det ønskede element.

  3. Vælg området Kolonner , og vælg derefter Ny kolonne.

  4. Angiv følgende oplysninger:

    • AVisningsnavn for kolonnen.
    • Du kan også angive en Beskrivelse af kolonnen.
  5. For Datatype skal du vælge fx Formel.

  6. Skriv formlen, eller brug formelforslag:

    Angiv Power Fx formlen i feltet Formel . Flere oplysninger: Skrive en formel


  1. Vælg yderligere egenskaber:
    • Vælg Søgbar, hvis du ønsker, at denne kolonne skal være tilgængelig i visninger, diagrammer, dashboards og Avanceret søgning.
    • Avancerede indstillinger:
      • Hvis formlen evalueres til en decimalværdi, skal du udvide Avancerede indstillinger for at ændre antallet af præcisionspunkter mellem 0 og 10. Standardværdien er 2.
  2. Vælg Gem.

Skriv en formular

I følgende eksempel oprettes en formelkolonne med navnet Samlet pris. Kolonnen Antal enheder er en datatype med heltal. Kolonnen Pris er en decimaldatatype.

Skærmbillede af en formel kolonnedefinition.

Formelkolonnen viser resultatet af Pris ganget med Antal enheder.

Skærmbillede af en post med en formelkolonne.

Din indtastede formel bestemmer kolonnetypen. Når kolonnen er oprettet, kan du ikke ændre kolonnetypen. Det betyder, at du kun kan ændre formlen, når du har oprettet kolonnen, når den ikke ændrer kolonnetypen.

Formlen pris * rabat opretter f.eks. en kolonnetype med tal. Du kan ændre pris * rabat til pris * (rabat + 10 %), fordi det ikke ændrer kolonnetypen. Du kan dog ikke ændre pris * rabat til Tekst(pris * rabat), da det ville kræve, at du ændrer kolonnetypen til streng.

Hent formelforslag (forhåndsversion)

[Dette emne er til dokumentationen til den foreløbige udgivelse. Der kan forekomme ændringer.]

Beskriv, hvad du vil have formlen til at gøre, og få en AI-genererede resultater. Forslag til formler accepterer dit input på et naturligt sprog for at fortolke og foreslå en Power Fx-formel ved hjælp af GPT-baseret AI-model.

Vigtige oplysninger

Dette er en prøveversionsfunktion, der kun er tilgængelig i amerikanske områder.

Forhåndsversionsfunktionerne er ikke beregnet til produktionsformål og kan have begrænset funktionalitet. Disse funktioner er tilgængelige før en officiel udgivelse, så kunderne kan få tidlig adgang og give feedback.

Formelforslag, der refererer til en enkelt tabel, understøttes i øjeblikket. Formelforslag, der refererer til en kolonne på en relateret tabel, understøttes ikke.

Forudsætninger

Hvis du vil aktivere denne funktion, skal du aktivere miljøindstillingen AI-forslag til formelkolonner . Flere oplysninger: AI-forslag til formelkolonner

Eksempel på naturligt sproginput

Forestil dig, at der er en kolonne med bedømmelse af kunder, der viser deres bedømmelse efter konto. Eksempel på kolonne med kundebedømmelse

I feltet Hent formelforslag skal du angive formlen på et naturligt sprog, f.eks. Hvis bedømmelsen i kolonnen bedømmelse er lig med eller større end 5, skal du angive den som God, og hvis den er mindre end 5, angives den som Gennemsnit, og hvis værdien er tom eller nul, skal den vises som Dårlig, og derefter vælge pileknappen (enter).

Kopier derefter den foreslåede formel. Foreslået formel

Og indsæt det i feltet Skriv en formel . Vælg Gem. Indsæt formel i feltet Skriv en formel.

Sådan vises formlen, når den indsættes.

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

Kontrollér formelkolonnen Beskrivelse af computedbedømmelse , som ser sådan ud.

Kontrollere resultaterne for formelkolonnen

Ansvarlig AI

Du kan finde oplysninger om ansvarlig AI ved at gå til disse ressourcer:

Operatorer

Du kan bruge følgende operatorer i en formelkolonne:
+, -, *, /, %, in, exactin, &

Du kan finde flere oplysninger ved at gå til Operatorer i Power Apps.

Datatyper

Følgende datatyper kan vises i en formelkolonne:

Flere oplysninger: Oprette formelkolonner med datatyperne decimal, heltal, flydende og valgmuligheder\

Datatypen Valuta understøttes ikke i øjeblikket.

Funktionstyper

Følgende funktionstyper kan bruges i en formelkolonne:

  • Decimaltal
  • String
  • Boolean
  • Choice
  • DateTime (TZI)
  • DateTime (lokal bruger) (begrænset til sammenligning med andre lokale værdier DateAdd og DateDiff-funktioner)
  • DateTime (Kun dato) (begrænset til sammenligning med datoværdier, DateAdd og DateDiff-funktioner)
  • Valuta
  • Helt tal

Funktioner

For de skalarfunktioner, du kan bruge i en formelkolonne, skal du gå til Formelreference - Dataverse formelkolonner.

* Funktionerne Tekst og Værdi fungerer kun med hele tal, hvor der ikke er nogen decimalseparator involveret. Decimalseparatoren varierer på tværs af landestandarder. Da formelkolonnerne evalueres uden landestandard, er det ikke muligt at fortolke eller oprette decimalseparatoren korrekt.

* Argumentet StartOfWeek understøttes ikke for funktionerne WeekNum og Weekday i formelkolonner.

Eksempel på funktion

Description Eksempel
Hent en datoværdi. DateAdd(UTCNow(),-1,TimeUnit.Years)

Retningslinjer og begrænsninger

I dette afsnit beskrives retningslinjer og de kendte begrænsninger med formelkolonner i Dataverse.

Validering af brug af valutafelter

  • Formelkolonner understøtter ikke brug af en tabelvaluta i en relateret kolonne i formlen, f.eks. som i dette eksempel. Formelkolonne med ikke-understøttet formel for Konto.Årlig omsætning
  • Direkte brug af valutakolonner og valutakurs i formlen understøttes i øjeblikket ikke. Brugen af valuta- og valutakurskolonner opnås via funktionen Decimal , f.eks. Decimal(currency column) . eller Decimal(exchange rate). Funktionen Decimal sikrer, at outputtet er inden for det accepterede område. Hvis værdien i kolonnen for valuta eller valutakurs overstiger det accepterede område, returnerer formlen en null-værdi.
  • Kolonner for grundvaluta understøttes ikke i formelkolonneudtryk, da de er systemkolonner, der bruges til rapporteringsformål. Hvis du vil have et lignende resultat, kan du bruge en valuta-kolonnetype sammen med en valutakurskolonnekombination som CurrencyField_Base = (CurrencyField / ExchangeRate).

Validering af brug af dato- og klokkeslætskolonner

  • Funktionsmåden for kolonner med dato- og klokkeslætsformularer kan kun opdateres, når den ikke bruges i en anden formelkolonne.
  • For formelkolonner for dato og klokkeslæt skal du sørge for, at, mens du bruger funktionen DateDiff , skal du sørge for, at:
    • Kolonnen Brugerens lokale adfærd kan ikke sammenlignes eller bruges med en DateTime(TZI)/DateOnly funktionsmådekolonne.
    • Kolonner for funktionsmåden for brugers lokaltid kan kun sammenlignes eller bruges med en anden kolonne med funktionsmåden for brugers lokaltid.
    • DateTime(TZI) Funktionskolonner kan sammenlignes eller bruges i DateDiff funktioner med en anden DateTime(TZI)/DateOnly funktionsmåde.
    • DateOnly funktionskolonner kan sammenlignes eller bruges i funktionen DateDiff med en anden DateTime(TZI)/DateOnly funktionsmåde. Ikke-understøttet konfiguration af dato og klokkeslæt med en formelkolonne
  • Dato- og klokkeslætskolonner og dato-/klokkeslætsfunktioner UTCNow() kan Now() ikke overføres som en parameter til strengfunktioner. Formelkolonne med ikke-understøttet dato/klokkeslætsparameter, der er overført i formlen

Brug af formelkolonner i akkumuleringsfelter

  • En simpel formelkolonne er, hvor formlen bruger kolonner fra den samme post eller bruger hårdt kodede værdier. I forbindelse med akkumuleringskolonner skal formelkolonner være simple formelkolonner, f.eks. som i dette eksempel på en akkumuleringskolonne. Eksempel på simpel formelkolonne for en akkumuleringskolonneEksempel på konfiguration af akkumuleringskolonne
  • En formelkolonne, som er afhængig af tidsbundne funktioner UTCNow() og UTCToday() ikke kan bruges i et akkumuleringsfelt.

Anbefalinger til Power Fx-tekstfunktion

  • Formelkolonner understøtter Text() ikke funktioner med et enkelt argument af typen Tal. Tal kan være heltal, decimaler eller valuta. Formelkolonne med ikke-understøttet tekstfunktion med et talargument

  • Formelkolonner understøtter ikke brug af tal i følgende konfigurationer:

    • I strengfunktioner: Det er de strengfunktioner, der er placeret dér, hvor der forventes et tekstargument: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute og Replace.
    • I de implicitte formler, f.eks. 12 & "foo". eller, eller 12 & 34 "foo" & 12.
    • Intern konvertering af tal til tekst understøttes ikke. Vi anbefaler at bruge Text(Number, Format) til at konvertere et tal til tekst. I det tilfælde, hvor et String argument overføres i en Text funktion, understøttes argumentet Format ikke.
    • Her er et eksempel på, hvordan du Text bruger funktionen til at konvertere et tal til tekst og føje en streng til det:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Landestandardspecifikke formateringstokener som "." og "," understøttes ikke i formelkolonner. Ikke-understøttet landestandardspecifikt formateringstoken, der sendes som parameter til funktionen Text i formlen

Områdevalidering for formelkolonner

  • Du kan ikke angive egenskaberne Minimumværdi eller Maksimumværdi for en formelkolonne.
  • Alle interne beregninger skal ligge inden for Dataverse-intervallet for formelkolonner af decimaltypen (-100000000000 til 100000000000).
  • En hard-codet konstantværdi, der angives i formellinjen, skal være inden for Dataverse-intervallet.
  • Hvis der findes en numerisk kolonne, der er null, opfattes den som 0 i den mellemliggende handling. For eksempel, a+b+c and If a = null, b=2, c=3 så formel kolonne giver 0 + 2 + 3 = 5.
    • Denne funktionsmåde adskiller sig fra beregnede kolonner i dette tilfælde, fordi beregnede kolonner giver null + 2 + 3 = null.

Generel validering for formelkolonner

  • Formelkolonner kan referere til andre formelkolonner, men en formelkolonne kan ikke referere til sig selv.
  • Formelkolonner understøtter ikke cykliske kæder, f.eks. F1 = F2 + 10, F2 = F1 * 2.
  • Maksimumlængden for formeludtryk i formelkolonner er 1000 tegn.
  • Den tilladte maksimumdybde i formelkolonner er 10. Dybde defineres som kæden af formelkolonner, der refererer til andre formel- eller akkumuleringskolonner.
    • For eksempel, table E1, F1 = 1*2, table E2, F2 - E1*2. I dette eksempel er dybden for F2 1.
  • I modelbaserede apps er sortering deaktiveret på:
    • En formelkolonne, der indeholder en kolonne for en relateret række.
    • En formelkolonne, der indeholder en logisk kolonne (for eksempel adressekolonne).
    • En formelkolonne, der indeholder en anden beregnet kolonne eller en anden formelkolonne.
    • En formelkolonne, der bruger tidsbundet funktion UTCNow().
  • Kolonner af typen Helt tal med formatet Sprog, Varighed og Tidszone understøttes ikke i formelkolonner.
  • Kolonner af typen Streng med formatet Mail, Tekstområde, Aktiesymbol, URL-adresse understøttes ikke i formelkolonner.
  • Formelkolonner viser ikke værdier, når appen er i mobile offline-tilstand.
  • Du kan ikke udløse arbejdsprocesser eller plug-ins på formelkolonner.
  • Det anbefales ikke at bruge beregnede kolonner i formelkolonner og omvendt.
  • Regler for registrering af dubletter udløses ikke på formelkolonner.
  • Funktionen Now kan bruges sammen med formelkolonner. Now() har brugerens lokale adfærd og UTCNow() har tidszoneuafhængig adfærd.
  • Du kan angive præcisionsegenskaben for decimalkolonner.
  • Standardværdien for formeldatatypen er angivet til Decimal for numeriske værdier, der returnerer formler.
  • Opdatering af formatet for kolonnen med heltalsformel understøttes ikke.

Formelkolonner med datatyper, der ikke kan produceres

  • Valuta

Se også

Typer af kolonner

Oversigt over Microsoft Power Fx

Formel, beregnede kolonner og akkumuleringskolonner, der bruger kode