Delen via


Werken met formulekolommen

Formulekolommen zijn kolommen die een berekende waarde weergeven in een Microsoft Dataverse-tabel. Formules maken gebruik van Power Fx, een krachtige maar mensvriendelijke programmeertaal. Bouw een formule in een Dataverse-formulekolom op dezelfde manier waarop u een formule zou bouwen in Microsoft Excel. Terwijl u typt, stelt IntelliSense functies en syntaxis voor en helpt het u zelfs om fouten op te lossen.

Een formulekolom toevoegen

  1. Meld u aan bij Power Apps at https://make.powerapps.com.

  2. Selecteer Tabellen en selecteer de tabel waarin u een formulekolom wilt toevoegen. Als het item zich niet in het deelvenster van het zijpaneel bevindt, selecteert u …Meer en selecteert u vervolgens het gewenste item.

  3. Selecteer het gebied Kolommen en selecteer vervolgens Nieuwe kolom.

  4. Voer de volgende informatie in:

    • A weergavenaam voor de kolom.
    • Voer optioneel een Beschrijving van de kolom in.
  5. Selecteer voor Gegevenstype fx Formule.

  6. Typ de formule of gebruik formulesuggesties:

    Voer de Power Fx formule in het Formule vak in. Meer informatie: Typ een formule


  1. Selecteer extra eigenschappen:
    • Selecteer Doorzoekbaar als u wilt dat deze kolom beschikbaar is in weergaven, grafieken, dashboards en Geavanceerd zoeken.
    • Geavanceerde opties:
      • Als de formule wordt geëvalueerd naar een decimale waarde, vouwt u Geavanceerde opties uit om het aantal precisiepunten te wijzigen, tussen 0 en 10. De standaardwaarde is 2.
  2. Selecteer Opslaan.

Een formule typen

In het volgende voorbeeld wordt een formulekolom met de naam Totale prijs gemaakt. De kolom Aantal eenheden is een geheel getal-gegevenstype. De kolom Prijs is een decimaal gegevenstype.

Schermafbeelding van een formule kolomdefinitie.

In de formulekolom wordt het resultaat weergegeven van Prijs vermenigvuldigd met Aantal eenheden.

Schermafbeelding van een record met een formulekolom.

Het kolomtype wordt bepaald door de formule die u invoert. Nadat u een kolom hebt gemaakt, kunt u het kolomtype niet meer wijzigen. Dat betekent dat u de formule kunt wijzigen nadat u de kolom hebt gemaakt, maar alleen als de kolomtype niet verandert.

De formule prijs * korting genereert bijvoorbeeld een kolomtype van getal. U kunt prijs * korting wijzigen in prijs * (korting + 10%) omdat dit de kolomtype niet verandert. U kunt echter prijs * korting niet wijzigen in Tekst(prijs * korting) omdat u dan kolomtype naar een tekenreeks zou moeten wijzigen.

Formulesuggesties ophalen (preview)

[Dit onderwerp maakt deel uit van de voorlopige documentatie en kan nog veranderen.]

Beschrijf wat de formule moet doen en ontvang door AI gegenereerde resultaten. Formulesuggesties accepteren de invoer van uw natuurlijke taal om op basis hiervan een ​​Power Fx-formule voor te stellen met behulp van een op GPT gebaseerd AI-model.

Belangrijk

Dit is een preview-functie die alleen in de VS-regio's beschikbaar is.

Preview-functies zijn niet bedoeld voor productiegebruik en bieden mogelijk beperkte functionaliteit. Deze functies zijn beschikbaar vóór een officiële release zodat klanten vroeg toegang kunnen krijgen en feedback kunnen geven.

Momenteel worden formulesuggesties ondersteund die naar één tabel verwijzen. Formulesuggesties ondersteund die naar een kolom in een gerelateerde tabel verwijzen worden niet ondersteund.

Voorwaarden

Om deze functie in te schakelen, moet u de instelling AI-suggesties voor formulekolommen omgeving inschakelen. Meer informatie: AI-suggesties voor formulekolommen

Voorbeeld van natuurlijke taalinvoer

Stel je voor dat er een kolom Klantbeoordeling is die de beoordeling per account weergeeft. Voorbeeld van een klantbeoordelingskolom

Voer in het vak Formulesuggesties ophalen de formule in natuurlijke taal in, bijvoorbeeld: Als de beoordeling in de beoordelingskolom gelijk is aan of groter is dan 5, geef dan aan dat dit Goed is. Als de beoordeling kleiner is dan 5, geef dan aan dat dit Gemiddeld is. Als de waarde leeg of nul is, geef dan aan dat dit Slecht is. Selecteer vervolgens de pijlknop (Enter).

Kopieer vervolgens de voorgestelde formule. Voorgestelde formule

En plak het in het vak Typ een formule . Selecteer Opslaan. Plak de formule in het vak Formule typen.

Hier ziet u hoe de formule wordt weergegeven wanneer u die plakt.

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

Controleer de berekende formulekolom Beoordelingsbeschrijving , die er zo uitziet.

Controleer de resultaten voor de formulekolom

Verantwoordelijke AI

Ga naar deze resources voor informatie over verantwoorde AI:

Operators

U kunt de volgende operators in een formulekolom gebruiken:
+, -, *, /, %, in, exactin, &

Ga voor meer informatie naar Operators in Power Apps.

Data types

U kunt de volgende gegevenstypen in een formulekolom weergeven:

Meer informatie: Maak formulekolommen met decimale, gehele getallen, float- en keuzegegevenstypen\

Het gegevenstype valuta wordt momenteel niet ondersteund.

Functietypen

U kunt de volgende functietypen in een formulekolom gebruiken:

  • Decimal
  • String
  • Booleaans
  • Keuze
  • DateTime (TZI)
  • DateTime (gebruiker lokaal) (beperkt tot vergelijkingen met andere lokale gebruikerswaarden van de functies DateAdd en DateDiff)
  • DateTime (alleen datum) (beperkt tot vergelijkingen met alleen datumwaarden en de functies DateAdd en DateDiff)
  • Valuta
  • Geheel getal

Functies

Voor de scalaire functies die u in een formulekolom kunt gebruiken, gaat u naar Formulereferentie - Dataverse formulekolommen.

* De functies Tekst en Waarde werken alleen met gehele getallen, waarbij geen decimaal scheidingsteken is betrokken. Het decimaalteken verschilt per landinstelling. Aangezien formulekolommen worden geëvalueerd zonder kennis van de landinstelling, is er geen manier om het decimaalteken correct te interpreteren of te genereren.

* Het StartOfWeek argument wordt niet ondersteund voor de WeekNum - en Weekday -functies in formulekolommen.

Voorbeeld van functie

Omschrijving Voorbeeld
Haal een datumwaarde op. DateAdd(UTCNow(),-1,TimeUnit.Years)

Richtlijnen en beperkingen

In deze sectie worden richtlijnen en de bekende beperkingen met formulekolommen in Dataverse beschreven.

Validaties van gebruik van valutavelden

  • Formulekolommen bieden geen ondersteuning voor het gebruik van een gerelateerde tabelvalutakolom in de formule, zoals in dit voorbeeld. Formulekolom met niet-ondersteunde formule van Account.Annual Revenue
  • Direct gebruik van valutakolommen en wisselkoersen in de formule wordt momenteel niet ondersteund. Het gebruik van valuta- en wisselkoerskolommen wordt bereikt via de Decimal functie, zoals Decimal(currency column) of Decimal(exchange rate). De Decimal functie zorgt ervoor dat de uitvoer binnen het geaccepteerde bereik blijft. Als de waarde van de valuta- of wisselkoerskolom het geaccepteerde bereik overschrijdt, retourneert de formule null.
  • Basisvalutakolommen worden niet ondersteund in de formulekolomexpressies, omdat het systeemkolommen zijn die worden gebruikt voor rapportagedoeleinden. Als u een soortgelijk resultaat wilt, kunt u de valuta kolomtype gebruiken in combinatie met een wisselkoerskolomcombinatie als CurrencyField_Base = (CurrencyField / ExchangeRate).

Gebruiksvalidaties voor datum-tijdkolommen

  • Het gedrag van datum-tijdformulekolommen kan alleen worden bijgewerkt als het niet in een andere formulekolom wordt gebruikt.
  • Zorg ervoor dat bij het gebruik van de DateDiff functie voor datum-/tijdformulekolommen het volgende geldt:
    • De kolom gebruikersgedrag kan niet worden vergeleken of gebruikt met een DateTime(TZI)/DateOnly gedragskolom.
    • Kolommen voor lokaal gebruikersgedrag kunnen alleen worden vergeleken of gebruikt met een andere door de gebruiker ingestelde gedragskolom.
    • DateTime(TZI) Gedragskolommen kunnen worden vergeleken of gebruikt in DateDiff functies met een andere DateTime(TZI)/DateOnly gedragskolom.
    • DateOnly Gedragskolommen kunnen worden vergeleken of gebruikt in de DateDiff-functie met een andere gedragskolom. DateTime(TZI)/DateOnly Niet-ondersteunde datum-/tijdconfiguratie met een formulekolom
  • Datum-tijdkolommen en datum-tijdfuncties UTCNow(), Now() kunnen niet als parameter aan tekenreeksfuncties worden doorgegeven. Formulekolom met niet-ondersteunde datum-tijdparameter doorgegeven in formule

Gebruik van formulekolommen in samengetelde velden

  • Een eenvoudige formulekolom is een kolom waarbij de formule kolommen uit hetzelfde record gebruikt of hard gecodeerde waarden gebruikt. Voor samengetelde kolommen moeten formulekolommen eenvoudige formulekolommen zijn, zoals dit voorbeeld van een samengetelde kolom. Voorbeeld van een eenvoudige formulekolom voor een rollupkolomVoorbeeld van rollup-kolomconfiguratie
  • Een formulekolom die afhankelijk is van tijdsgebonden functies UTCNow() en UTCToday() kan niet worden gebruikt in een rollupveld.

Aanbevelingen voor Power Fx-tekstfuncties

  • Formulekolommen ondersteunen geen Text() functies met één argument van het type Getal. Getal kan geheel, decimaal of valuta zijn. Formulekolom met niet-ondersteunde tekstfunctie met een getalargument

  • Formulekolommen bieden geen ondersteuning voor het gebruik van getallen in de volgende configuraties:

    • In tekenreeksfuncties. Dit zijn tekenreeksfuncties die overal worden geplaatst waar een tekstargument wordt verwacht: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute en Replace.
    • In de impliciete formules, zoals 12 & "foo", of 12 & 34, of "foo" & 12.
    • Gedwongen interne conversie van getal naar tekst wordt niet ondersteund. Wij raden aan om Text(Number, Format) te gebruiken om een getal naar tekst te converteren. In het geval dat een String argument wordt doorgegeven in een Text functie, wordt het Format argument niet ondersteund.
    • Hier is een voorbeeld waarin de functie Text wordt gebruikt om een getal naar tekst te converteren en er een tekenreeks aan toe te voegen:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Landspecifieke opmaaktokens, zoals '.' en ',', worden niet ondersteund in formulekolommen. Niet-ondersteunde landspecifieke opmaaktoken doorgegeven als parameter aan de tekstfunctie in de formule

Bereikvalidaties op formulekolommen

  • U kunt de eigenschappen Minimumwaarde of Maximumwaarde van een formulekolom niet instellen.
  • Alle interne berekeningen moeten binnen het Dataverse-bereik liggen voor de formulekolommen van het decimale type (-100000000000 tot 100000000000).
  • Een hardgecodeerde letterlijke waarde die in de formulebalk wordt ingevoerd, moet binnen het Dataverse-bereik liggen.
  • Als er een numerieke kolom is die null is, wordt deze in de tussenliggende bewerking als 0 beschouwd. Bijvoorbeeld, a+b+c and If a = null, b=2, c=3 dan geeft de formulekolom 0 + 2 + 3 = 5.
    • Dit gedrag verschilt in dit geval van berekende kolommen, omdat berekende kolommen null + 2 + 3 = null opleveren.

Algemene validaties op formulekolommen

  • Formulekolommen kunnen naar andere formulekolommen verwijzen, maar een formulekolom kan niet naar zichzelf verwijzen.
  • Formulekolommen ondersteunen geen cyclische ketens, zoals F1 = F2 + 10, F2 = F1 * 2.
  • De maximale lengte van formule-expressies in formulekolommen bedraagt 1000 tekens.
  • De maximaal toegestane diepte in formulekolommen is 10. Diepte wordt gedefinieerd als de keten van formulekolommen die verwijzen naar andere formule- of rollupkolommen.
    • Bijvoorbeeld, table E1, F1 = 1*2, table E2, F2 - E1*2. In dit voorbeeld is de diepte van F2 gelijk aan 1.
  • In modelgestuurde apps is sorteren uitgeschakeld op:
    • Een formulekolom die een kolom van een gerelateerde tabel bevat.
    • Een formulekolom die een logische kolom bevat (bijvoorbeeld een adreskolom).
    • Een formulekolom die een andere berekende kolom of formulekolom bevat.
    • Een formulekolom die een tijdsgebonden functie gebruikt UTCNow().
  • Kolommen van het type Geheel getal met de indeling Taal, Duur en Tijdzone worden niet ondersteund in formulekolommen.
  • Kolommen van het type Tekenreeks met de indeling E-mail, Tekstgebied, Beurssymbool en URL worden niet ondersteund in formulekolommen.
  • Formulekolommen geven geen waarden weer als de app zich in de mobiele offlinemodus bevindt.
  • U kunt geen werkstromen of invoegtoepassingen activeren voor formulekolommen.
  • We raden u af berekende kolommen te gebruiken in formulekolommen en omgekeerd.
  • De regels voor duplicatendetectie worden niet geactiveerd op formulekolommen.
  • De Now functie kan worden gebruikt met formulekolommen. Now() heeft gebruikerslokaal gedrag en UTCNow() heeft tijdzone-onafhankelijk gedrag.
  • U kunt de precisie-eigenschap voor decimale kolommen instellen.
  • De standaardwaarde voor het formulegegevenstype is ingesteld op Decimaal voor numerieke waarden die formules retourneren.
  • Het bijwerken van de opmaak van de kolom met gehele getallen wordt niet ondersteund.

Formulekolommen met gegevenstypen die niet kunnen worden geproduceerd

  • Valuta

Zie ook

Soorten kolommen

Overzicht van Microsoft Power Fx

Formule-, berekende en samengetelde kolommen met behulp van code