Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Power Appsben létrehozhat olyan vászonalapú alkalmazást, amely a Microsoft Excel, a SharePoint vagy az SQL Server rekordokban és táblákban tárolt adataihoz férhet hozzá. Annak érdekében, hogy az ilyen adatokkal a leghatékonyabban tudjon dolgozni, érdemes áttekinteni azokat a fogalmakat, amelyek fontosak az ilyen adatstruktúrákban.
- Egy rekord egy vagy több kategóriába tartozó információt tárol például személyekről, helyekről vagy tárgyakról. Így egy rekord tartalmazhatja például egy meghatározott felhasználó nevét, e-mail-címét és telefonszámát. Előfordulhat, hogy más források és eszközök a rekordokat „sor” vagy „tétel” néven említik.
- Egy tábla egy vagy több olyan rekordot tartalmaz, amelyek mind ugyanolyan kategóriájú információt tárolnak. Így például egy táblában tárolható 50 ügyfél neve, e-mail-címe és telefonszáma.
Az alkalmazásban képleteket fog használni a rekordok és táblák létrehozásához, frissítéséhez és kezeléséhez. Valószínűleg egy külső adatforrásba fog olvasni és írni fog adatokat, amely egy kiterjesztett tábla. Emellett létrehozhat egy vagy több belső táblát, amelyeket gyűjteményeknek nevezünk.
Sokféle képletet hozhat létre, amelyek argumentumként egy tábla nevét kérik ahhoz hasonlóan, ahogy az Excelben hozhat létre olyan képleteket, amelyek argumentuma egy vagy több cellára való hivatkozás lehet. A Power Appsben használhatók olyan képletek is, amelyek egy másik argumentumhoz használható táblát adnak vissza. Képletek hozhatók létre többek között az alábbi feladatokra:
- Tábla rekordjának frissítése a tábla Patch függvény több argumentumának egyikeként történő megadásával
- Oszlopok hozzáadása, eltávolítása és átnevezése egy táblában a tábla argumentumaként az AddColumns, DropColumns vagy RenameColumns...függvény argumentumaként való megadásával. ... Ezek közül egyik függvény sem módosítja az eredeti táblát, hanem a megadott argumentumok alapján egy új táblát ad vissza.
A tábla elemei
Rekordok
Minden rekord legalább egy információtípust tartalmaz egy személyről, egy helyről vagy egy tárgyról. A fenti példában egy olyan rekord látható, amelyben van egy-egy rekord minden termékhez (Chocolate – csokoládé, Bread – kenyér, valamint Water – víz), és egy-egy oszlop tartozik minden információkategóriához (Price – ár, Quantity on Hand – rendelkezésre álló mennyiség, valamint Quantity on Order – megrendelt mennyiség).
Képletekben egy rekordra hivatkozni önmagában, a tábla kontextusán kívül kapcsos zárójelek használatával lehet. Ez a rekord például nem hivatkozik táblára: { Name: "Strawberries", Price: 7.99 }. Vegye figyelembe, hogy a mezőnevek, mint a példában szereplő Name (Név) és Price (Ár), nem kerülnek idézőjelek közé.
Mezők
A mező egy rekordon belüli önálló információegység. A mező úgy is elképzelhető, mint egy adott rekord oszlopának értéke.
Csakúgy, mint egy vezérlőelem esetében, a rekord mezőjére a használatával hivatkozhat.operátor a nyilvántartásban. Például a First(Products).Name a Products tábla első (First = első) rekordjának Name mezőjét adja vissza.
Egy mező tartalmazhat egy másik rekordot vagy táblát, ahogy azt a GroupBy függvény példája is mutatja. A rekordok és táblák egymásba ágyazása korlátlanul folytatható.
Oszlopok
Az oszlop egy táblázat egy vagy több rekordjának ugyanazon mezőjére utal. A fenti példában minden termékhez tartozik egy „price” (ár) mező, amely minden termék esetében ugyanabban az oszlopban található. A fenti példában szereplő táblának négy oszlopa van, amelyek vízszintesen a tábla tetején láthatóak:
- Név
- Ár
- Kéznél lévő mennyiség
- Mennyiség megrendelve
Az oszlop neve az oszlopban található mező neve is egyben.
Egy oszlopban minden érték ugyanabba az adattípusba tartozik. A fenti példában a „Quantity on Hand” (Elérhető mennyiség) oszlop minden esetben számot tartalmaz, és egyetlen rekordnál sem tartalmazhat sztringet, pl. „12 darab”. Bármely mező rendelkezhet blank, azaz üres értékkel is.
Az oszlopokat más eszközökben „field” vagy „mező” néven is ismerheti.
Feljegyzés
Az olyan adatforrások esetében, mint az SharePoint Excel, vagy Power BI az oszlopneveket szóközökkel tartalmazó csempék, Power Apps a szóközöket a "_x0020_" kifejezésre cseréli. Például," Oszlopnév" SharePoint, Excelben vagy Power BI csempe" Column_x0020_Name "-ban Power Apps jelenik meg, ha megjelenik az adatelrendezésben vagy képletben használják.
Table
Egy tábla egy vagy több rekordot tartalmaz, amelyekben több mező található, és a mezőnevek minden rekord esetében változatlanok.
Az adatforrásokban vagy gyűjteményekben tárolt táblák mindig rendelkeznek névvel is, amelyet függvények argumentumaként megadva az adott táblára hivatkozhat. Táblát függvények és képletek is adhatnak eredményül.
Az alábbi példához hasonlóan a Table függvény és a kapcsos zárójelek között kifejezett táblázatok képletben is kifejezhetők:
Table( { Value: "Strawberry" }, { Value: "Vanilla" } )
Egyoszlopos táblát szögletes zárójelek között is lehet definiálni: A fentivel megegyező eredményt adja az alábbi:
[ "Strawberry", "Vanilla" ]
Táblaképletek
Az Excelben és a Power Appsben hasonlóképpen használhatóak a képletek számok és sztringet tartalmazó szövegek kezelésére:
- Az Excelben beírhatja például a 42 értéket az A1 cellába, majd egy másik cellába beírhatja például az A1+2 képletet, ami a 44 értéket jeleníti meg.
- Power AppsÁllítsa a Slider1Alapértelmezett tulajdonságát 42-re, és állítsa a címke Szöveg tulajdonságát Slider1.Value + 2 értékre a 44 értékénekmegjelenítéséhez.
A kiszámított érték mindkét esetben automatikusan megváltozik, ha az argumentumok értéke (például az A1 cellában lévő szám, vagy a Csúszka1 értéke) megváltozik.
Képleteket ehhez hasonlóan arra is használhat, hogy táblák adatait vagy rekordjait érje el vagy módosítsa. Egyes képletekben a táblanevek argumentumként is használhatóak, így például a Min(Catalog, Price) a Catalog tábla Price (ár) oszlopának legalacsonyabb értékét mutatja meg. Olyan képletek is vannak, amelyek teljes táblát adnak visszatérési értékként. Ilyen többek között a RenameColumns(Catalog, "Price", "Cost"), amely a Catalog tábla minden rekordját visszaadja, de a Price (ár) oszlop nevét Cost (költség) névre változtatja.
Ahogy azt a számoknál is láttuk, a táblákat és a rekordokat érintő képletek automatikusan frissülnek, ha az érintett tábla rekordjai megváltoznak. Ha a Katalógus táblában szereplő termék költsége az előző minimum alá csökken, a Min képlet visszatérési értéke automatikusan megváltozik, hogy megfeleljen neki.
Most vizsgáljunk meg néhány egyszerű példát.
Hozzon létre egy üres alkalmazást egy telefonhoz, és adjon hozzá egy függőleges Katalógus vezérlőt, amely más vezérlőket tartalmaz.
Alapértelmezés szerint a képernyőn egy CustomGallerySample nevűtábla helyőrző szövege jelenik meg. A képernyő Katalógus vezérlőjének Elemek tulajdonsága automatikusan erre a táblára van beállítva.
Feljegyzés
A jobb illusztráció kedvéért egyes vezérlőelemeket áthelyeztünk és felnagyítottunk.
Ahelyett, hogy az Elemek tulajdonságot egy tábla nevére állítaná, állítsa be egy olyan képletre, amely argumentumként tartalmazza a tábla nevét, ahogy az alábbi példában látható:
Sort(CustomGallerySample, SampleHeading, SortOrder.Descending)
Ez a képlet tartalmazza a Sort függvényt , amely első argumentumként egy tábla nevét, a tábla egyik oszlopának nevét pedig második argumentumként veszi fel. A függvény egy nem kötelező harmadik argumentummal is használható, amely azt határozza meg, hogy az adatokat csökkenő sorrendben kell megjeleníteni.
Állítsa az Elemek tulajdonságot egy olyan képletre, amely az előző lépés képletét veszi át argumentumként, és egy táblázatot ad vissza, ahogy az alábbi példában látható:
FirstN(Sort(CustomGallerySample, SampleHeading, SortOrder.Descending), 2)
Ebben a képletben az ElsőN függvénnyel adott számú rekordot jeleníthet meg egy táblában. A Sort függvényt használja az ElsőN első argumentumaként , a második argumentumként pedig egy számot (ebben az esetben 2 ), amely meghatározza, hogy hány rekordot jelenítsen meg.
A teljes képlet egy olyan táblát ad vissza, amely tartalmazza a CustomGallerySample tábla első két rekordját, a SampleHeading oszlop szerint csökkenő sorrendben rendezve.
Táblafüggvények és vezérlőelem-tulajdonságok
Fontolja meg a Lower függvény használatát. Ha az üdvözöljük változó a "Helló, világ" szöveges karakterláncot tartalmazza, akkor a Lower (üdvözöljük) függvény "helló, világ" értéket ad vissza. Ez a funkció semmilyen módon nem változtatja meg az adott változó értékét. Az alacsonyabb tiszta függvény, mivel csak a bemenetet dolgozza fel és kimenetet állít elő. Ez minden; nincs mellékhatása. Az Excel alkalmazás összes függvénye, és a Power Apps legtöbb függvénye tiszta függvény, amelyek lehetővé teszik a munkafüzet vagy az alkalmazás automatikus újraszámítását.
A Power Apps a táblákat azonos módon kezelő függvények halmazát nyújtja. Ezek a függvények bemenetként táblázatokat használnak, és adatok teljes táblázatait szűrik, rendezik, alakítják át, csökkentik és összegzik. Valójában a Lower és sok más függvény, amely általában egyetlen értéket használ fel, egyoszlopos táblázatot is felhasználhatnak bemenetként.
- Rendezés, szűrés ... – Rendezi és szűri a rekordokat.
- FirstN,LastN... - A tábla első N vagy utolsó N rekordját adja vissza.
- Abs,Sqrt,Round,RoundUp,RoundDown............ - Aritmetikai műveletek egy egyoszlopos tábla minden rekordján, ami egyoszlopos eredménytáblát eredményez.
- Balra,Középre,Jobbra,Csere,Helyettesítés,Vágás,Alacsony,Felső,Megfelelő........................ karakterlánc-manipulációk egy egyoszlopos tábla minden rekordján, ami egyoszlopos karakterlánc-táblát eredményez.
- Len – Sztringek oszlopa esetén egy egyoszlopos táblát ad vissza, amely tartalmazza az egyes sztringek hosszát.
- Összefűzés – Több karakterlánc-oszlopot fűz össze, ami egy egyoszlopos sztringtáblát eredményez.
- AddColumns,DropColumns,RenameColumns,ShowColumns......... - A tábla oszlopmanipulációja, amely egy új táblát eredményez különböző oszlopokkal.
- Distinct – Eltávolítja az ismétlődő rekordokat.
- Keverés – A rekordokat véletlenszerű sorrendbe keveri.
- HashTags - Hashtageket keres egy karakterláncban.
- Hibák – Hibainformációkat szolgáltat az adatforrás használatakor.
Sok ilyen funkció bemenetként egy egyoszlopos táblázatot vesz igénybe. Ha egy teljes táblának csak egy oszlopa van, akkor név szerint megadhatja azt. Ha egy táblának több oszlopa van, akkor adja meg az oszlopok egyikét a Table.Column szintaxis használatával. A Products.Namepéldául a Termékek táblázatból csak az Név értékek egyoszlopos táblázatát adja eredményül.
A táblákat tetszés szerint teljesen átalakíthatja az AddColumns , RenameColumns, ShowColumns vagy DropColumns... függvény használatával. Ismét, ezek a függvények csak a kimenetüket változtatják meg, nem a forrásukat.
A vezérlőelemek tulajdonságai a következő táblázatok is lehetnek:
- Elemek – Galériákra, listákra és kombinált listákra vonatkozik. Ez a tulajdonság adja meg azt a táblázatot, amelyet a katalógus vagy a lista megjelenít.
- SelectedItems - Listákra és kombinált listákra vonatkozik. Ez a tulajdonság határozza meg a felhasználó által kiválasztott elemek tábláját, ha a SelectMultiple engedélyezve van.
Viselkedési képletek
Az egyéb függvények kifejezetten az adatok módosítására szolgálnak, és mellékhatásokkal rendelkeznek. Mivel ezek a függvények nem tiszták, körültekintően kell felépíteni őket, és nem vehetnek részt az alkalmazásban szereplő értékek automatikus újraszámításában. Ezeket a függvényeket csak viselkedési képleteken belül használhatja.
- Collect,Clear,ClearCollect...... - Gyűjteményeket hoz létre, törli őket, és adatokat ad hozzájuk.
- Patch – Módosítja a rekord egy vagy több mezőjét.
- Update,UpdateIf... - Frissíti azokat a rekordokat, amelyek megfelelnek egy vagy több megadott feltételnek.
- Remove,RemoveIf... – Törli azokat a rekordokat, amelyek megfelelnek egy vagy több megadott feltételnek.
Rekordképletek
Olyan képlet is létrehozható, amely egy adott rekord adatát számítja ki, vagy egy adott rekordot kér argumentumként, és egy rekordot ad visszatérési értékként. Visszatérve a fenti katalóguspéldához, a Gallery1.Selected tulajdonsággal jelenítsük meg a felhasználó által a katalógusban kiválasztott rekord adatait.
Adjon hozzá egy gombot, és állítsa be az OnSelect tulajdonságát a következő képletre:
Collect( SelectedRecord, Gallery1.Selected )Az Alt billentyűt lenyomva tartva válassza ki a gombot.
A Fájl menüben válassza a Gyűjtemények lehetőséget .
Ez a képlet egy olyan rekorddal tér vissza, amely nem csak a gyűjteményben aktuálisan kiválasztott rekord adatait tartalmazza, de a gyűjtemény összes vezérlőjét is. A rekord például tartalmaz egy SampleText oszlopot, amely megegyezik az eredeti tábla SampleText oszlopával, és egy Subtitle1 oszlopot, amely az oszlop adatait megjelenítő címkét jelöli. Válassza a Subtitle1 oszlopban található táblázat ikont az adatok részletezéséhez.
Feljegyzés
A Subtitle1 oszlop neve Subtitle2 vagy hasonló lehet, ha a témakörben megadottaktól eltérő elemeket adott hozzá.
Most, hogy megvan a kiválasztott rekord, kivonhatja belőle az egyes mezőket a . operátor.
Adjon hozzá egy Címke vezérlőelemet, majd helyezze át a katalógus és a gomb alá.
Állítsa a címke Text tulajdonságát a következő kifejezésre:
"Selected: " & Gallery1.Selected.SampleHeading
Vette a Selected tulajdonságot , amely egy rekord, és kinyerte belőle a SampleHeading tulajdonságot .
Rekordot egymással kapcsolatban álló értékek általános célú tárolójaként is használhat.
- Ha az UpdateContext és aNavigate függvény köré épít képletet, egy rekord segítségével gyűjtse össze a frissíteni kívánt környezeti változókat .
- Az Űrlap szerkesztése vezérlőelem Frissítések tulajdonságával összegyűjtheti a felhasználó által az űrlapon végrehajtott módosításokat.
- A Patch függvénnyel frissítheti az adatforrásokat, de egyesítheti a rekordokat is.
Mindezekben az esetekben a rekord soha nem volt tábla része.
Rekordfüggvények és vezérlőelem-tulajdonságok
Rekorddal visszatérő függvények:
- FirstN,LastN... - A tábla első vagy utolsó rekordját vagy rekordjait adja vissza.
- Keresés – Egy tábla első rekordját adja vissza, amely megfelel egy vagy több feltételnek.
- Patch – Frissít egy adatforrást vagy egyesíti a rekordokat.
- Defaults– Egy adatforrás alapértelmezett értékeit adja vissza.
Rekordokkal visszatérő tulajdonságok:
- Kijelölve – Katalógusokra és listákra vonatkozik. Az aktuálisan kiválasztott rekorddal tér vissza.
- Frissítések – Katalógusokra vonatkozik. Együttesen kéri le a felhasználó által az adatbeviteli űrlapon végzett összes módosítást.
- Frissítés – A beviteli vezérlőkre, például a szövegbeviteli vezérlőkre és a csúszkákra vonatkozik. Az gyűjteményre vonatkozó egyes tulajdonságokat állítja be.
Rekordhatókör
Bizonyos függvények a képletet egy adott tábla minden egyes rekordjára vonatkozólag kiértékelik. A képlet eredménye különféle módon használható:
- Az AddColumns - Formula megadja a hozzáadott mező értékét.
- Átlag,Max,Min,Sum,StdevP,VarP - A képlet megadja az összesítendő értéket.
- Filter,Lookup - A képlet meghatározza, hogy a rekordot bele kell-e foglalni a kimenetbe.
- Concat- A képlet meghatározza az összefűzendő karakterláncokat.
- Distinct – A képlet egy értéket ad vissza, amely az ismétlődő rekordok azonosítására szolgál.
- ForAll - A képlet bármilyen értéket visszaadhat, potenciálisan mellékhatásokkal.
- Rendezés – A képlet megadja a rekordok rendezéséhez szükséges értéket.
- A képlet bármilyen értéket visszaadhat, potenciálisan mellékhatásokkal.
Ezekben a képletekben hivatkozhat a feldolgozandó rekord mezőire. Ezek közül minden függvény létrehoz egy „rekordhatókört”, amelyben a képlet kiértékelése történik, ahol a rekord mezői felső szintű azonosítókként érhetőek el. Az alkalmazás egészéből hivatkozhatók vezérlőtulajdonságok és további értékek is.
Vegyünk például egy táblázatot a Termékek között:
Ha ezt a példatáblázatot szeretné létrehozni az alkalmazásban, szúrjon be egy gombot, állítsa be az OnSelect tulajdonságát erre a képletre, majd jelölje ki a gombot (kattintson rá, miközben lenyomva tartja az Alt billentyűt Power Apps Studio):
Set( Products,
Table(
{ Product: "Widget", 'Quantity Requested': 6, 'Quantity Available': 3 },
{ Product: "Gadget", 'Quantity Requested': 10, 'Quantity Available': 20 },
{ Product: "Gizmo", 'Quantity Requested': 4, 'Quantity Available': 11 },
{ Product: "Apparatus", 'Quantity Requested': 7, 'Quantity Available': 6 }
)
)
Az alábbi módon lehet megállapítani, hogy van-e olyan termék, amelyből több a rendelés, mint amennyi rendelkezésre áll belőle:
Filter( Products, 'Quantity Requested' > 'Quantity Available' )
A Filter (Szűrés) első argumentuma az a tábla, amely a megfelelő rekordokat tartalmazza, a második argumentum pedig egy képlet. A Szűrő létrehoz egy rekordhatókört a képlet kiértékeléséhez, amelyben az egyes rekordok mezői elérhetők, ebben az esetben a Termék, a Kért mennyiség és a Rendelkezésre álló mennyiség. Az összehasonlítás eredménye minden egyes rekord esetén meghatározza, hogy az adott rekord bekerüljön-e a függvény eredményébe:
Ugyanezt a példát kibővíthetjük úgy, hogy azt is megmutassa, mennyit kell rendelni az egyes termékekből:
AddColumns(
Filter( Products, 'Quantity Requested' > 'Quantity Available' ),
"Quantity To Order", 'Quantity Requested' - 'Quantity Available'
)
Itt egy számított oszlopot adunk hozzá az eredményhez. Az AddColumns saját rekordhatókörrel rendelkezik, amely a kért és az elérhető értékek közötti különbség kiszámítására szolgál.
Végül szűkíthetjük az eredménytáblát úgy, hogy csak a szükséges oszlopokat tartalmazza:
ShowColumns(
AddColumns(
Filter( Products, 'Quantity Requested' > 'Quantity Available' ),
"Quantity To Order", 'Quantity Requested' - 'Quantity Available'
),
"Product",
"Quantity To Order"
)
Figyelje meg, hogy a fenti példákban néhol idézőjeleket ("), máshol pedig félidézőjelet (') használtunk. A félidézőjel akkor szükséges, amikor egy objektum olyan értékére, például mezőre vagy táblára hivatkozunk, amelyben az objektum neve szóközt tartalmaz. A dupla idézőjellel nem hivatkozunk objektum értékére, hanem említjük azt, különösen is ha az objektum maga még nem is létezik, mint például az AddColumns esetén.
Egyértelműsítés
A rekordra vonatkozó hatókörrel felvett mezőnevek felülbírálják az alkalmazásban máshol előforduló azonos neveket. Ebben az esetben továbbra is elérheti a rekordhatókörön kívüli értékeket az @ egyértelműsítő operátorral:
- A rekordra vonatkozó beágyazott hatókörök értékeit a @ operátor és a műveleti tábla nevének együttes használatával érheti el. Használandó minta:
Tábla[@Mezőnév] - A globális értékek (például adatforrások, gyűjtemények és környezeti változók) elérésére használja a következő mintát: [@ObjektumNév] (tábla megadása nélkül).
Ha a művelettel megcélzott tábla kifejezés, például Filter(Tábla, ... ), akkor az egyértelműsítő operátor nem használható. Ebben a táblában csak a legbelső rekordhatókör tud hozzáférni a mezőkhöz az egyértelműsítő operátor használata nélkül.
Tegyük fel például, hogy van egy X gyűjteményünk:
Ezt a gyűjteményt így lehet létrehozni: ClearCollect( X, [1, 2] ).
Vegyen fel egy újabb gyűjteményt Y néven:
Ehhez használja ezt a képletet: ClearCollect( Y, ["A", "B"] ).
Definiáljon még meg egy Value nevű változót ezzel a képlettel: UpdateContext( {Value: "!"} )
Nézzük most meg összességében. Ebben a kontextusban ez a képlet:
Ungroup(
ForAll( X,
ForAll( Y,
Y[@Value] & Text( X[@Value] ) & [@Value]
)
),
"Value"
)
ezt a táblát eredményezi:
Vajon mi történt? A legkülső ForAll függvény meghatározza az X rekordhatókörét, így hozzáférhetővé válik minden egyes rekord Value nevű mezője a feldolgozás során. A hozzáférés egyszerűen a Value szó vagy az X[@Value] használatával történik.
A legbelső ForAll függvény egy másik, Y rekordhatókört határoz meg. Mivel ez a tábla szintén tartalmaz egy definiált Value mezőt, az itt használt Value az Y rekordján belüli mezőre hivatkozik, és nem az X-ére. Ha itt szeretnénk hozzáférni az X-hez tartozó Value mezőhöz, akkor az egyértelműsítő operátort tartalmazó hosszabb változatot kell használnunk.
Mivel az Y a legbelső rekordhatókör, ennek a táblának a mezői egyértelműsítés nélkül is elérhetőek, így használhatjuk ezt a képletet ugyanazzal az eredménnyel:
Ungroup(
ForAll( X,
ForAll( Y,
Value & Text( X[@Value] ) & [@Value]
)
),
"Value"
)
A ForAll rekordhatókörei mindig felülírják a globális hatókört. A definiált Value környezeti változó az egyértelműsítő operátor használata nélkül nem érhető el. Az érték eléréséhez használja a [@Value] elemet.
A csoportbontás simítja az eredményt, mert a beágyazott ForAll függvények beágyazott eredménytáblát eredményeznek.
Egyoszlopos táblák
Ha egy tábla egyetlen oszlopán szeretne dolgozni, használja a ShowColumns függvényt az ebben a példában megadott módon:
ShowColumns( Products, "Product" )
Ez a képlet ezt az egyoszlopos táblázatot állítja elő:
Rövidebb alternatíva érdekében adja meg a Table.Column elemet, amely kinyeri a csak Oszlop egyoszlopos táblázatot a Táblázat elemből. Ez a képlet például pontosan ugyanazt az eredményt adja, mint a ShowColumns használata.
Products.Product
Belső rekordok
A rekordokat kapcsos zárójelek közé kell tenni, amelyben a mezők nevei és értékei szerepelnek. A témakör elején szereplő tábla első rekordját az alábbi képlettel lehet kifejezni:
{ Name: "Chocolate", Price: 3.95, 'Quantity on Hand': 12, 'Quantity on Order': 10 }
Képleteket más képletekbe is be lehet ágyazni, ahogy az alábbi példában látható:
{ Name: First(Products).Name, Price: First(Products).Price * 1.095 }
A rekordokat beágyazni a kapcsos zárójelek beágyazásával lehet, ahogy az alábbi példában látható:
{ 'Quantity': { 'OnHand': ThisItem.QuantOnHand, 'OnOrder': ThisItem.QuantOnOrder } }
Minden olyan oszlopnevet, amely speciális karaktereket (például szóközt vagy kettőspontot) tartalmaz, egyszeres idézőjelek közé kell tenni. Ha az oszlopnévben egyszeres idézőjelet (aposztrófot) szeretne használni, akkor duplán kell írni az egyszeres idézőjelet.
Figyelje meg, hogy a Price (Ár) oszlopban található értékek nem tartalmaznak pénznem (például dollár) jelet. Ezt a formázást az érték megjelenítésénél lehet elvégezni.
Belső táblázatok
Táblát a Table függvénnyel és egy rekordkészlettel hozhat létre. A témakör elején szereplő tábla az alábbi képlettel fejezhető ki:
Table(
{ Name: "Chocolate", Price: 3.95, 'Quantity on Hand': 12, 'Quantity on Order': 10 },
{ Name: "Bread", Price: 4.95, 'Quantity on Hand': 34, 'Quantity on Order': 0 },
{ Name: "Water", Price: 4.95, 'Quantity on Hand': 10, 'Quantity on Order': 0 }
)
Táblákat be is lehet ágyazni:
Table(
{ Name: "Chocolate",
'Quantity History': Table( { Quarter: "Q1", OnHand: 10, OnOrder: 10 },
{ Quarter: "Q2", OnHand: 18, OnOrder: 0 } )
}
)
Belső értéktáblázatok
Egyetlen oszlopot tartalmazó táblát úgy hozhat létre, hogy szögletes zárójelek között adja meg az értékeket. Az eredményül kapott táblának egyetlen, Value nevű oszlopa van.
Például az [ 1, 2, 3, 4 ]
megegyezik a Table( { Value: 1 }, { Value: 2 }, { Value: 3 }, { Value: 4 } )
elemmel, és a következő táblázatot adja vissza: