Del via


Arbeide med formelkolonner

Formelkolonner er kolonner som viser en beregnet verdi i en Microsoft Dataverse-tabell. Formler bruker Power Fx, et kraftig, men menneskevennlig programmeringsspråk. Du bygger en formel i en Dataverse-formelkolonne på samme måte som du ville bygge en formel i Microsoft Excel. Etter hvert som du skriver, foreslår Intellisense funksjoner og syntaks og hjelper deg også med å rette opp feil.

Legg til en formelkolonne

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

  2. Velg Tabeller, og velg deretter tabellen der du vil legge til en formelkolonne. Hvis elementet ikke finnes i sideruten, velger du ...Mer og deretter elementet du vil ha.

  3. Velg ikonet Kolonner-området , og deretter Velg Ny kolonne.

  4. Angi følgende informasjon:

    • ENVisningsnavnfor kolonnen.
    • Du kan også angi en Beskrivelse av kolonnen.
  5. For Datatype Velg fx-formel .

  6. Skriv inn formelen, eller bruk formelforslag:

    Skriv inn formelen Power Fx i Formel-boksen . Mer informasjon: Skrive inn en formel


  1. Velg flere egenskaper:
    • VelgSøkbar hvis du vil at denne kolonnen skal være tilgjengelig i visninger, diagrammer, instrumentbord og Avansert søk.
    • Avanserte alternativer:
      • Hvis formelen evalueres til en desimalverdi, utvider du Avanserte alternativer for å endre antall presisjonspunkter, mellom 0 og 10. Standardverdien er 2.
  2. Velg Lagre.

Skriv inn en formel

I eksemplet nedenfor opprettes en formelkolonne kalt Totalpris. Kolonnen Antall enheter er en datatype for heltall. Pris-kolonnen er en desimaldatatype.

Skjermbilde av en formel kolonnedefinisjon.

Formelkolonnen viser resultatet av Pris multiplisert med Antall enheter.

Skjermbilde av en post med en formelkolonne.

Formelen du skriver inn, bestemmer kolonnetypen. Du kan ikke endre en kolonnetype etter at kolonnen er opprettet. Det betyr at du bare kan endre formelen etter at du har opprettet kolonnen når den ikke endrer kolonnetypen.

Formelen pris * rabatt oppretter for eksempel en kolonnetype med tall. Du kan endre pris * rabatt til pris * (rabatt + 10 %) fordi det ikke endrer kolonnetypen. Du kan imidlertid ikke endre pris * rabatt til Tekst(pris * rabatt) fordi det vil kreve å endre kolonnetypen til streng.

Få formelforslag (forhåndsversjon)

[Dette emnet inneholder dokumentasjon for forhåndsversjonen, og kan bli endret.]

Beskriv hva du vil at formelen skal gjøre, og hent KI-genererte resultater. Formelforslag kan ta imot inndata på naturlig språk for å tolke og foreslå en Power Fx-formel ved hjelp av en modell for kunstig intelligens som er basert på GPT.

Viktig!

Dette er en evalueringsfunksjonalitet som bare er tilgjengelig i USA.

Forhåndsversjonsfunksjonene er ikke ment for produksjonsbruk og kan ha begrenset funksjonalitet. Disse funksjonene er tilgjengelige før en offisiell utgivelse, slik at kunder kan få tidlig tilgang og gi tilbakemeldinger.

For øyeblikket støttes formelforslag som refererer til én enkelt tabell. Formelforslag som refererer til en kolonne i en relatert tabell, støttes ikke.

Forutsetning

Hvis du vil aktivere denne funksjonen, må du aktivere miljøinnstillingen AI-forslag for formelkolonner . Mer informasjon: AI-forslag for formelkolonner

Eksempel på naturlig språkinndata

Tenk deg at Der er en Kundevurdering-kolonne som viser vurderingen deres etter konto. Eksempel på kolonne for kundevurdering

Skriv inn formelen på naturlig språk i boksen Få formelforslag , for eksempel Hvis rangeringen i vurderingskolonnen er lik eller større enn 5, angi som God, og hvis mindre enn 5, angi som Gjennomsnitt, og hvis verdien er tom eller null, vises den som Dårlig, og Velg deretter pilknappen (ENTER).

Kopier deretter den foreslåtte formelen . Foreslått formel

Og lim den inn i boksen Skriv inn en formel . Velg Lagre. Lim inn formel i Skriv inn en formel-boks.

Slik vises formelen når den limes inn.

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

Kontroller den beregnede formelkolonnen for vurderingsbeskrivelse , som ser slik ut.

Kontrollere resultatene for formelkolonnen

Ansvarlig kunstig intelligens

Hvis du vil ha informasjon om ansvarlig KI, kan du gå til disse ressursene:

Operatorer

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

Hvis du vil ha mer informasjon, kan du gå til Operatorer i Power Apps.

Datatyper

Du kan vise følgende datatyper i en formelkolonne:

Mer informasjon: Opprette formelkolonner med datatypene desimaler, heltall, flyttall og valg\

Valutadatatypen støttes ikke for øyeblikket.

Funksjonstyper

Du kan bruke følgende funksjonstyper i en formelkolonne:

  • Decimal
  • String
  • Bolsk
  • Valg
  • DateTime (TZI)
  • DateTime (brukerlokal) (begrenset til sammenligninger med andre brukerlokalverdier DateAdd- og DateDiff-funksjoner)
  • DateTime (Bare dato) (begrenset til sammenligninger med andre Bare dato-verdier, DateAdd- og DateDiff-funksjoner)
  • Valuta
  • Heltall

Funksjoner

For skalarfunksjonene du kan bruke i en formelkolonne, gå til Formelreferanse - Dataverse formelkolonner.

* Tekst - og verdifunksjonene fungerer bare med heltall, der det ikke er noen desimalskilletegn involvert. Desimalskilletegnet varierer på tvers av nasjonale innstillinger. Siden formelkolonner evalueres uten kunnskap om nasjonale data, kan du ikke tolke eller generere desimalskilletegnet på riktig måte.

* StartOfWeek-argumentet støttes ikke for funksjonene WeekNum og Weekday i formelkolonner.

Funksjonseksempel

Description Eksempel
Hent en datoverdi. DateAdd(UTCNow(),-1,TimeUnit.Years)

Retningslinjer og begrensninger

Denne delen beskriver retningslinjer og kjente begrensninger for formelkolonner i Dataverse.

Bruksvalideringer for valutafelt

  • Formelkolonner støtter ikke bruk av en relatert tabellvalutakolonne i formelen, for eksempel i dette eksemplet. Formelkolonne med ikke-støttet formel for Account.Årlig omsetning
  • Direkte bruk av valutakolonner og valutakurs i formelen støttes ikke for øyeblikket. Bruken av valuta- og valutakurskolonner oppnås gjennom Decimal funksjonen, for eksempel Decimal(currency column) eller Decimal(exchange rate). Funksjonen Decimal sørger for at utgangen er innenfor det aksepterte området. Hvis kolonneverdien for valutaen eller valutakursen overskrider det tillatte området, returnerer formelen null.
  • Standardvalutakolonner støttes ikke i formelkolonneuttrykkene, fordi de er systemkolonner som brukes til rapporteringsformål. Hvis du vil ha et lignende resultat, kan du bruke en valuta-kolonnetype sammen med en kolonnekombinasjon av valutakurs som CurrencyField_Base = (CurrencyField / ExchangeRate).

Bruksvalideringer for dato/klokkeslett-kolonner

  • Virkemåten til formelkolonner for dato og klokkeslett kan bare oppdateres når den ikke brukes i en annen formelkolonne.
  • For formelkolonner for dato og klokkeslett, mens du bruker DateDiff funksjonen, må du kontrollere at:
    • Kolonnen for brukerens lokale atferd kan ikke sammenlignes eller brukes med en DateTime(TZI)/DateOnly atferdskolonne.
    • Kolonner for brukerlokal virkemåte kan bare sammenlignes eller brukes med en annen kolonne for brukerlokal virkemåte.
    • DateTime(TZI) Virkemåtekolonner kan sammenlignes eller brukes i DateDiff funksjoner med en annen DateTime(TZI)/DateOnly virkemåtekolonne.
    • DateOnly Virkemåtekolonner kan sammenlignes eller brukes i DateDiff-funksjonen med en annen DateTime(TZI)/DateOnly virkemåtekolonne. Dato/klokkeslett-konfigurasjon som ikke støttes med en formelkolonne
  • Dato/klokkeslett-kolonner og dato/klokkeslett-funksjoner UTCNow(), Now() kan ikke sendes som en parameter til strengfunksjoner. Formelkolonne med dato/klokkeslett-parameter som ikke støttes i formelen

Bruk av formelkolonner i felt for beregnet verdi

  • En enkel formelkolonne er der formelen bruker kolonner fra samme post eller bruker hardkodede verdier. For kolonner for beregnet verdi må formelkolonner være enkle formelkolonner, for eksempel denne kolonnen for beregnet verdi. Eksempel på enkel formelkolonne for en kolonne for beregnet verdiEksempel på konfigurasjon av kolonne for beregnet verdi
  • En formelkolonne som er avhengig av tidsbundne funksjoner UTCNow() og UTCToday() ikke kan brukes i et felt for beregnet verdi.

Power Fx-tekstfunksjonsanbefalinger

  • Formelkolonner støtter Text() ikke funksjoner med ett enkelt argument av typen Tall. Tall kan være heltall, desimaler eller valutaer. Formelkolonne med tekstfunksjon som ikke støttes med et tallargument

  • Formelkolonner støtter ikke bruk av tall i følgende konfigurasjoner:

    • I strengfunksjoner: Dette er strengfunksjoner som plasseres der et tekstargument forventes: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute og Replace.
    • I de implisitte formlene, for eksempel 12 & "foo", eller 12 & 34, eller "foo" & 12.
    • Internt tall-til-tekst-konvertering støttes ikke. Vi anbefaler å bruke Text(Number, Format) til å konvertere et tall til tekst. Hvis et String argument sendes i en Text funksjon, støttes ikke argumentet Format .
    • Her er et eksempel på bruk av Text funksjonen til å konvertere et tall til tekst og legge til en streng til det:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Spesifikke formateringstokener for nasjonal innstilling som «.» og «,» støttes ikke i formelkolonner. Nasjonalt formateringstoken som ikke støttes, sendes som parameter til Tekst-funksjonen i formelen

Områdevalideringer for formelkolonner

  • Du kan ikke angi egenskapene Minimumsverdi eller Maksimumsverdi for en formelkolonne.
  • Alle interne beregninger må være innenfor Dataverse-området for formelkolonner av desimaltypen (-100000000000 til 100000000000).
  • En hardkodet litteralverdi som er angitt på formellinjen, må være innenfor Dataverse-området.
  • Hvis det finnes en numerisk kolonne som er null, regnes den som 0 i den midlertidige operasjonen. For eksempel,da a+b+c and If a = null, b=2, c=3 formel kolonne gir 0 + 2 + 3 = 5.
    • Denne virkemåten er forskjellig fra beregnede kolonner i dette tilfellet fordi beregnede kolonner gir null + 2 + 3 = null.

Generelle valideringer for formelkolonner

  • Formelkolonner kan referere til andre formelkolonner, men en formelkolonne kan ikke referere til seg selv.
  • Formelkolonner støtter ikke sykliske kjeder, for eksempel F1 = F2 + 10, F2 = F1 * 2.
  • Maksimal lengde på formeluttrykk i formelkolonner er 1000 tegn.
  • Maksimal dybde som er tillatt i formelkolonner, er 10. Dybde er definert som kjeden av formelkolonner som refererer til andre formel- eller kolonner for beregnet verdi.
    • For eksempel, table E1, F1 = 1*2, table E2, F2 - E1*2. I dette eksemplet er dybden F2 1.
  • I modelldrevne apper er sortering deaktivert for:
    • En formel som inneholder en kolonne fra en relatert tabell.
    • En formelkolonne som inneholder en logisk kolonne (for eksempel adressekolonnen).
    • En formelkolonne som inneholder en annen beregnet kolonne eller formelkolonne.
    • En formelkolonne som bruker tidsbundet funksjon UTCNow().
  • Kolonner av typen Heltall med formatet Språk, Varighet, Tidssone støttes ikke i formelkolonner.
  • Kolonner av typen Streng med formatet E-post, Tekstområde, Ticker-kode, Nettadresse støttes ikke i formelkolonner.
  • Formelkolonner viser ikke verdier når appen er i Mobile offline-modus.
  • Du kan ikke utløse arbeidsflyter eller programtillegg i formelkolonner.
  • Vi anbefaler ikke å bruke beregnede kolonner i formelkolonner, og omvendt.
  • Duplikatregistreringsregler utløses ikke for formelkolonner.
  • Funksjonen Now kan brukes med formelkolonner. Now() har brukerlokal virkemåte og UTCNow() har tidssoneuavhengig virkemåte.
  • Du kan angi presisjonsegenskapen for desimalkolonner.
  • Standard formeldatatypeverdi er satt til Desimal for numeriske verdireturnerende formler.
  • Oppdatering av formatet for heltallsformelkolonnen støttes ikke.

Formelkolonner med datatyper som ikke kan lages

  • Valuta

Se også

Typer kolonner

Oversikt over Microsoft Power Fx

Formel- og beregnede kolonner og kolonner for beregnet verdi ved hjelp av kode