Képletoszlopok használata

A képletoszlopok olyan oszlopok, amelyek számított értéket jelenítenek meg egy Microsoft Dataverse-táblában. A képletek a Power FX programnyelvet használják, amely egy hatékony, de felhasználóbarát programnyelv. A Dataverse képletoszlopaiban ugyanúgy hozhat létre képleteket, mint ahogyan azt a Microsoft Excelben is teszi. Az Intellisense gépelés során képleteket és szintaxisokat javasol, sőt segítséget nyújt a hibák kijavításában is.

Képletoszlop hozzáadása

  1. Jelentkezzen be a Power Apps szolgáltatásba itt: https://make.powerapps.com.

  2. Válassza a Táblák lehetőséget, majd nyissa meg azt a táblát, amelyhez hozzá szeretné adni a képletoszlopot. Ha az elem nem látható az oldalsó panelben, akkor válassza a ...Továbbiak lehetőséget, majd válassza ki a kívánt elemet.

  3. Válassza ki az Oszlopok lehetőséget, majd az Új oszlop lehetőséget.

  4. Adja meg a következő információkat:

    • Az oszlop Megjelenítendő név értéke.
    • Tetszés szerint adja meg az oszlop Leírását.
  5. Az Adattípus mezőben válassza az fx képlet lehetőséget.

  6. Írja be a képletet, vagy használjon képletjavaslatokat:

    Írja be a Power Fx-képletet a Képlet szövegmezőbe. További információ: Képlet beírása


  1. Válassza ki a további tulajdonságokat:
    • Válassza ki a Kereshető lehetőséget, ha az oszlopot elérhetővé akarja tenni a nézetek, diagramok, irányítópultok és az irányított keresés számára.
    • Speciális beállítások:
      • Ha a képlet decimális értéket ad vissza, bontsa ki a Speciális beállítások elemet a tizedes pontossági érték 0 és 10 közötti módosításához. Az alapértelmezett érték 2.
  2. Válassza a Mentés parancsot.

Képlet beírása

Az alábbi példa egy Teljes ár nevű képletoszlopot hoz létre. Az Egységek száma oszlop egy egész szám típusú adattípus. Az Ár oszlop decimális adattípus.

Képletoszlop definíciójának képernyőképe.

A képletoszlop az Ár és az Egységek száma szorzásával kapott eredményt jeleníti meg.

Képletoszlopot tartalmazó rekord képernyőképe.

Az oszloptípust a megadott képlet határozza meg. Az oszlop létrehozása után nem módosítható az oszlop típusa. Ez azt jelenti, hogy az oszlop létrehozása után csak akkor módosíthatja a képletet, ha az nem módosítja az oszloptípust.

Példa: az ár * kedvezmény képlet egy szám típusú oszlopot hoz létre. Az ár * árengedmény képletét módosíthatja ár * (árengedmény +10%) képletre, mivel ez az oszloptípust nem módosítja. Azonban az ár * árengedmény képlet nem változtatható Szöveg(ár * árengedmény) értékre, mivel ez az oszloptípus sztringre való megváltoztatását igényli.

Képletjavaslatok lekérése (előzetes verzió)

[Ez a témakör kiadás előtti dokumentáció, amely a későbbiekben változhat.]

Írja le, hogy mit szeretne tenni a képlettel, és kapja meg az AI által generált eredményeket. A képletjavaslatok a természetes nyelvi bevitelt elfogadva értelmezik azt, és Power FX-képleteteket javasolnak az alapján egy GPT-alapú AI-modell használatával.

Fontos

Ez egy előzetes funkció, amely kizárólag az egyesült államokbeli régiókban érhető el.

Az előzetes funkciókat nem célszerű termelési környezetben használni, és előfordulhat, hogy korlátozott funkcionalitással rendelkeznek. Ezek a funkciók a hivatalos kiadás előtt érhetők el, hogy az ügyfelek korán megismerkedhessenek velük, és visszajelzést adhassanak róluk.

Jelenleg az egyetlen táblára hivatkozó képletjavaslatok támogatottak. A kapcsolódó tábla oszlopára hivatkozó képletjavaslatok nem támogatottak.

Előfeltételek

A funkció engedélyezéséhez engedélyeznie kell az AI-javaslatok képletoszlopokhoz környezeti beállítást. Tovább információ: AI-javaslatok képletoszlopokhoz

Példa természetes nyelvi bevitelre

Tegyük fel, hogy van egy Ügyfélértékelés oszlop, amely fiókonként mutatja az értékeléseket. Példa ügyfélértékelési oszlopra

A Képletjavaslatok lekérése szövegmezőbe írja be a képletet természetes nyelven, például: Ha az értékelési oszlopban az értékelés egyenlő vagy nagyobb, mint 5, akkor azt Jó értékelésként kell feltüntetni, ha 5-nél kisebb, akkor azt Átlag értékelésként kell feltüntetni, ha pedig az érték üres vagy nulla, akkor azt Hibás értékelésként kell feltüntetni; ezt követően válassza a nyíl gombot (Enter).

Ezután másolja ki a Javasolt képletet. Javasolt képlet

És illessze be a Képlet beírása szövegmezőbe. Válassza a Mentés parancsot. Képlet beillesztése a Képlet beírása szövegmezőbe.

Így jelenik meg a képlet beillesztéskor.

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

Ellenőrizze a generált Értékelés leírása képletoszlopot, amely a következőképpen jelenik meg.

A képletoszlop eredményeinek ellenőrzése

Felelősen alkalmazott mesterséges intelligencia

A felelősen alkalmazott mesterséges intelligenciával kapcsolatos információkért tekintse meg az alábbi forrásokat:

Operators

A képletoszlopban a következő operátorok használhatók:
+, -, *, /, %, in, exactin, &

További információkért lásd: Operátorok a Power Apps alkalmazásban.

Adattípusok

A következő adattípusok jeleníthetők meg a képletoszlopban:

További információ: Képletoszlopok létrehozása decimális, egész szám, lebegőpontos és feleletválasztás adattípusokkal\

A pénznem adattípus jelenleg nem támogatott.

Függvénytípusok

A következő képlettípusok jeleníthetők meg a képletoszlopban:

  • Tizedesjegy
  • Sztring
  • logikai
  • Választási lehetőség
  • DateTime (TZI)
  • DateTime (Felhasználó helyi időzónája) (csak más felhasználói helyi időzónaértékekkel, valamint a DateAdd és DateDiff függvényekkel való összehasonlításra korlátozva)
  • DateTime (Csak dátum) (csak más csak dátum értékekkel, valamint a DateAdd és DateDiff függvényekkel való összehasonlításra korlátozva)
  • Currency
  • Egész szám

Functions

A képletoszlopokban használható skaláris függvényekért lépjen a Képlethivatkozás – Dataverse-képletoszlopok lehetőségre.

* A Szöveg és Érték függvények csak egész számok esetén használhatók, tizedes elválasztó nélkül. A tizedes elválasztó a területi beállítások függvényében változik. Mivel a rendszer a képletoszlopokat a területi beállítás ismerete nélkül értékeli, nem lehet megfelelően értelmezni vagy létrehozni a tizedes elválasztót.

* A StartOfWeek argumentum nem támogatott a WeekNum és a Weekday függvények esetében a képletoszlopokban.

Példafüggvény

Adatfolyam leírása Példa
Dátumérték lekérése. DateAdd(UTCNow(),-1,TimeUnit.Years)

Irányelvek és korlátozások

Ez a szakasz a Dataverse-képletoszlopok irányelveit és ismert korlátozásait ismerteti.

Pénznemet tartalmazó mezők használatának ellenőrzése

  • A képletoszlopok nem támogatják a kapcsolódó tábla pénznemoszlopának használatát a képletben, mint ahogy ez ebben a példában is látszik. Képletoszlop nem támogatott Account.Annual Revenue képlettel
  • A pénznemoszlopok és az árfolyam közvetlen használata a képletben jelenleg nem támogatott. A pénznem- és árfolyamoszlopok használata a(z) Decimal függvényen keresztül érhető el, például: Decimal(currency column) vagy Decimal(exchange rate). A(z) Decimal funkció gondoskodik arról, hogy a kimenet az elfogadott tartományon belül legyen. Ha a pénznem- vagy az árfolyamoszlop értéke meghaladja az elfogadott tartományt, akkor a képlet null értéket ad vissza.
  • Az alappénznem-oszlopok nem támogatottak a képletoszlop-kifejezésekben, mert azok jelentéskészítési célokra használt rendszeroszlopok. Ha hasonló eredményt szeretne, használhat pénznemoszlop-típust az árfolyam-oszlopkombinációval együtt (például: CurrencyField_Base = (CurrencyField / ExchangeRate)).

Dátum/idő oszlopok használatának ellenőrzése

  • A dátum/idő képletoszlopok viselkedése csak akkor frissíthető, ha azok nincsenek használatban egy másik képletoszlopban.
  • A dátum/idő képletoszlopok esetében a(z) DateDiff függvény használata közben győződjön meg a következőkről:
    • A felhasználó helyi időzónája oszlop nem hasonlítható össze és nem használható a(z) DateTime(TZI)/DateOnly viselkedési oszloppal.
    • A felhasználó helyi időzónája oszlopok csak egy másik felhasználói helyi időzóna oszloppal hasonlíthatók össze vagy használhatók fel.
    • A(z) DateTime(TZI) viselkedési oszlopok összehasonlíthatók vagy használhatók DateDiff függvényekben egy másik DateTime(TZI)/DateOnly viselkedési oszloppal.
    • A(z) DateOnly viselkedési oszlopok összehasonlíthatók vagy használhatók DateDiff függvényekben egy másik DateTime(TZI)/DateOnly viselkedési oszloppal. Nem támogatott dátum/idő konfiguráció egy képletoszloppal
  • A(z) UTCNow() és Now() dátum/idő oszlopok és a dátum/idő függvények nem adhatók át paraméterként a sztringfüggvényeknek. Képletoszlop nem támogatott dátum/idő paraméterrel a képletben

Képletoszlop használata az összesítő mezőkben

  • Az egyszerű képletoszlop esetében a képlet ugyanannak a rekordnak az oszlopait használja, vagy véglegesen kódolt értékeket használ. Összesítő oszlopok esetén a képletoszlopoknak egyszerű képletoszlopoknak kell lenniük, mint például ez a példa összesítő oszlop. Példa egyszerű képletoszlopra összesítő oszlophoz Példa összesítő oszlop konfigurációjára
  • Az olyan képletoszlop, amely a(z) UTCNow() és UTCToday() időhöz kötött függvényektől függ, nem használható összesítő mezőben.

Power Fx szöveges függvényekre vonatkozó javaslatok

  • A képletoszlopok nem támogatják az egyetlen Szám típusú argumentummal rendelkező Text() függvényeket. A szám lehet egész, decimális vagy pénznem. Képletoszlop nem támogatott szöveges függvénnyel, szám argumentummal

  • A képletoszlopok nem támogatják a számok használatát a következő konfigurációkban:

    • Sztringfüggvényekben. Ezek olyan sztringfüggvények, amelyekben szöveges argumentum várható: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute, és Replace.
    • Az implicit képletekben, mint például 12 & "foo", 12 & 34 vagy "foo" & 12.
    • A belső szám szöveggé kényszerítése nem támogatott. Javasoljuk a(z) Text(Number, Format) használatát, hogy egy számot szöveggé alakítson. Abban az esetben, ha egy String argumentumot egy Text függvényben adnak át, akkor a(z) Format argumentum nem támogatott.
    • Íme, egy példa a(z) Text függvény használatával egy szám szöveggé alakítására és egy sztring hozzáfűzésére:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • A területibeállítás-specifikus formázási tokenek, mint például a „.” és a „,” nem támogatottak a képletoszlopokban. Nem támogatott területibeállítás-specifikus formázási token paraméterként átadva a képlet Text (Szöveg) függvényének

Tartományellenőrzés a képletoszlopokon

  • A képletoszlopok Minimális érték vagy Maximális érték tulajdonságai nem állíthatók be.
  • Minden belső számításnak a Dataverse -100000000000 és 100000000000 közötti decimális típusú képletoszlopok tartományán belül kell lennie.
  • A képletsávba beírt véglegesen kódolt konstans értéknek a Dataverse-tartományon belül kell lennie.
  • Ha van egy numerikus oszlop, amely null, akkor a köztes műveletben 0-nak számít. Példa: a+b+c and If a = null, b=2, c=3, majd ezt követően a képletoszlop eredménye 0 + 2 + 3 = 5.
    • Ez a viselkedés ebben az esetben eltér a számított oszlopoktól, mert a számított oszlopok eredménye null + 2 + 3 = null.

Általános ellenőrzések a képletoszlopokon

  • A képletoszlopok hivatkozhatnak más képletoszlopokra, de a képletoszlopok nem hivatkozhatnak önmagukra.
  • A képletoszlopok nem támogatják a ciklikus láncokat, például F1 = F2 + 10, F2 = F1 * 2.
  • A képletkifejezés maximális hossza a képletoszlopokban 1000 karakter.
  • A képletoszlopokban megengedett maximális mélység 10. A mélység a képletoszlopok láncolata, amelyek más képletekre vagy összesítő oszlopokra hivatkoznak.
    • Például: table E1, F1 = 1*2, table E2, F2 - E1*2. Ebben a példában az F2 mélysége 1.
  • A modellvezérelt alkalmazásokban a rendezés le van tiltva a következők esetében:
    • Egy kapcsolódó tábla oszlopát tartalmazó képletoszlop.
    • Egy logikai oszlopot tartalmazó képletoszlop (például címoszlop).
    • Egy másik számított vagy képletoszlopot tartalmazó képletoszlop.
    • A(z) UTCNow() időhöz kötött függvényt használó képletoszlop.
  • A Nyelv, Időtartam, Időzóna formátumú Egész szám típusú oszlopok nem támogatottak a képletoszlopokban.
  • Az E-mail, Szövegterület, Tőzsdei azonosító, URL-cím formátumú Sztring típusú oszlopok nem támogatottak a képletoszlopokban.
  • A képletoszlopok nem jelenítik meg az értékeket, ha az alkalmazás mobil offline módban van.
  • Nem indíthat munkafolyamatokat vagy beépülő modulokat képletoszlopok alapján.
  • Nem javasoljuk a számított oszlopok használatát a képletoszlopokban, és fordítva.
  • A Képletoszlopokon a duplikáltelem-észlelési szabályok nem indulnak el.
  • A(z) Now függvény képletoszlopokkal használható. Now() felhasználói helyi viselkedéssel rendelkezik, és UTCNow() időzónától független viselkedéssel rendelkezik.
  • Beállíthatja a pontossági tulajdonságot a decimális oszlopokhoz.
  • A képlet adattípusának alapértelmezett értéke Decimális a numerikus értékeket visszaadó képletekhez.
  • Az egész szám képletoszlopa formátumának frissítése nem támogatott.

Adattípusú képletoszlopok nem állíthatók elő

  • Currency

Kapcsolódó információk

Oszloptípusok

A Microsoft Power Fx áttekintése

Speciális oszlopok