Share via


Werken met formulekolommen

Formulekolommen zijn kolommen die een berekende waarde weergeven in een Microsoft Dataverse-tabel. Formules gebruiken 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. Aanmelden bij Power Apps via 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:

    • Een weergavenaam voor de kolom.
    • Typ desgewenst een beschrijving van de kolom.
  5. Selecteer voor Gegevenstype de fx Formule.

  6. Typ de formule of gebruik formulesuggesties:

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


  1. Selecteer aanvullende eigenschappen:
    • Selecteer Doorzoekbaar als u wilt dat deze kolom beschikbaar is in weergaven, diagrammen, dashboards en Geavanceerd zoeken.
    • Geavanceerde opties:
      • Als de formule een decimale waarde oplevert, vouwt u Geavanceerde opties uit om het aantal precisiepunten te wijzigen, tussen 0 en 10. De standaardwaarde is 2.
  2. Selecteer Save.

Een formule typen

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

Schermopname van een formulekolomdefinitie.

De formulekolom geeft het resultaat weer van Prijs vermenigvuldigd met Aantal eenheden.

Schermopname 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. De betekent dat u de formule kunt wijzigen nadat u de kolom hebt gemaakt, maar alleen als het kolomtype niet wordt gewijzigd.

Bijvoorbeeld de formule prijs * korting creëert een kolomtype Getal. U kunt een prijs * korting wijzigen in prijs * (korting +10%) omdat hierdoor het kolomtype niet verandert. U kunt prijs * korting echter niet wijzigen in Tekst(prijs * korting) omdat daarvoor het kolomtype moet worden gewijzigd in tekenreeks.

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 voor 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.

Vereisten

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

Voorbeeld van natuurlijke taalinvoer

Stel je voor dat er een kolom Klantbeoordeling is waarin de beoordeling per account wordt weergegeven. Voorbeeld van 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 Goed aan en als minder dan 5 geef dan Gemiddeld aan en als de waarde leeg of nul is, geef dan Slecht aan en selecteer vervolgens de pijlknop (enter).

Kopieer vervolgens de Voorgestelde formule. Voorgestelde formule

En plak deze in het vak Een formule typen. Selecteer Save. Plak de formule in een vak Een 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 kolom Beoordelingsbeschrijving, die er als volgt 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:

De gegevenstypen valuta en keuze (voorheen optiesets) worden momenteel niet ondersteund.

Functietypen

U kunt de volgende functietypen in een formulekolom gebruiken:

  • Decimal
  • String
  • Booleaans
  • Optieset
  • 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, gepromoveerd tot decimaal

Functies

U kunt de volgende scalaire functies in een formulekolom gebruiken:

Abs

And

Day

Value *

If

Int

Len

Max

Mid

Min

Mod

Not

Or

Sum

Text *

Nu

* De functies Text en Value werken alleen met gehele getallen, waarbij geen decimaalteken 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 argument * StartOfWeek wordt niet ondersteund voor de functies WeekNum en Weekday in formulekolommen.

Voorbeeld van functie

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

Een decimale formulekolom maken

Maak een formulekolom die een decimaal getal retourneert.

  1. Wanneer u een kolom maakt, voert u de volgende informatie in:
    • Een weergavenaam voor de kolom.
    • Typ desgewenst een beschrijving van de kolom.
  2. Selecteer voor Gegevenstype de fx Formule.
  3. Voer een formule in die een numerieke waarde retourneert in de Formule balk. In dit voorbeeld wordt een formulekolom met de naam Totaalbedrag gemaakt. De kolom prijs per eenheid is van het decimaal gegevenstype. Schermafbeelding van een deelvenster voor het maken van een nieuwe formulekolom voor gebruik met een decimaal getal.
  4. Vouw Geavanceerde opties uit, selecteer Decimaal als het gegevenstype Formule en stel vervolgens het gewenste aantal decimalen in. Schermafbeelding van een decimale formule kolomdefinitie.
  5. Selecteer Save.

Een kolom met een formule voor gehele getallen maken

Maak een formulekolom die een geheel getal retourneert.

  1. Wanneer u een kolom maakt, voert u de volgende informatie in:
    • Een weergavenaam voor de kolom.
    • Typ desgewenst een beschrijving van de kolom.
  2. Selecteer voor Gegevenstype de fx Formule.
  3. Voer een formule in die een numerieke waarde retourneert in de Formule balk. In dit voorbeeld wordt een formulekolom met de naam Aantal eenheden gemaakt. De kolommen Totale prijs en prijs per eenheid zijn van het decimaal gegevenstype. Schermafbeelding van een deelvenster voor het maken van een nieuwe formulekolom voor gebruik met een geheel getal.
  4. Vouw Geavanceerde opties uit en selecteer Geheel getal als het Formule-gegevenstype en stel de gewenste opmaak voor de gehele getallenkolom in. Schermafbeelding van een formule voor gehele getallen kolomdefinitie.
  5. Selecteer Save.

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 Account.Jaaromzet
  • Direct gebruik van valutakolommen en wisselkoersen in de formule wordt momenteel niet ondersteund. Het gebruik van valuta- en wisselkoerskolommen wordt bereikt via de functie Decimal, zoals Decimal(currency column) of Decimal(exchange rate). De functie Decimal zorgt ervoor dat de uitvoer binnen het geaccepteerde bereik ligt. 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 een valutakolomtype 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 voor kolommen met datum-tijdformules de functie DateDiff wordt gebruikt:
    • De kolom voor lokaal gebruikersgedrag kan niet worden vergeleken of gebruikt met een gedragskolom DateTime(TZI)/DateOnly.
    • Kolommen voor lokaal gebruikersgedrag kunnen alleen worden vergeleken of gebruikt met een andere door de gebruiker ingestelde gedragskolom.
    • Gedragskolommen DateTime(TZI) kunnen worden vergeleken of gebruikt in functies DateDiff met een andere gedragskolom DateTime(TZI)/DateOnly.
    • Gedragskolommen DateOnly kunnen worden vergeleken of gebruikt in functies DateDiff met een andere gedragskolom DateTime(TZI)/DateOnly. Niet-ondersteunde datum-tijdconfiguratie met een formulekolom
  • De datum/tijd-kolommen en datum/tijd-functies UTCNow() Now() kunnen niet als parameter worden doorgegeven aan tekenreeksfuncties. Formulekolom met niet-ondersteunde parameter voor datum en tijd die in formule wordt doorgegeven

Gebruik van formulekolommen in samengetelde velden

  • Een eenvoudige formulekolom is waar de formule kolommen uit dezelfde record gebruikt of hardgecodeerde waarden gebruikt. Voor samengetelde kolommen moeten formulekolommen eenvoudige formulekolommen zijn, zoals dit voorbeeld van een samengetelde kolom. Voorbeeld van een eenvoudige formulekolom voor een samengetelde kolom Voorbeeld van een samengetelde kolomconfiguratie
  • Een formulekolom die afhankelijk is van tijdgebonden functies UTCNow() en UTCToday() kan niet worden gebruikt in een samengeteld veld.

Aanbevelingen voor Power Fx-tekstfuncties

  • Formulekolommen ondersteunen geen functies Text() met een enkel 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. We raden u aan Text(Number, Format) te gebruiken om een ​​getal naar tekst te converteren. In het geval dat een argument String wordt doorgegeven in een functie Text, wordt het argument Format niet ondersteund.
    • Hier is een voorbeeld waarbij 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 die als parameter wordt doorgegeven 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. a+b+c and If a = null, b=2, c=3 geeft dan bijvoorbeeld de formulekolom 0 + 2 + 3 = 5.
    • Dit gedrag verschilt in dit geval van berekende kolommen, omdat berekende kolommen null + 2 + 3 = null als resultaat 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 samenvoegkolommen.
    • 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 voor:
    • 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 tijdgebonden functie UTCNow() gebruikt.
  • 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 functie Now kan worden gebruikt met formulekolommen. Now() vertoont lokaal gebruikersgedrag 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 getallenformules wordt niet ondersteund.

Power Fx-funties worden momenteel niet ondersteund

  • Power
  • Sqrt
  • Exp
  • Ln
  • ^ (operator)

Formulekolommen met gegevenstypen die niet kunnen worden geproduceerd

  • Keuzen (behalve Ja/Nee-keuze)
  • Valuta

Zie ook

Typen kolommen

Overzicht van Microsoft Power Fx

Formule-, berekende en samengetelde kolommen met behulp van code