Duomenų tipai „Power Apps” platformoje
Informacijos srautai programoje naudojant mažas, abstrakčias reikšmes, labai panašiai kaip skaičiuoklės langelius. Pavyzdžiui, duomenys Gimtadienio lauke ir Sukakties lauke turėtų būti pateikiami kaip Datos reikšmė, kurioje yra metai, mėnuo ir diena. Programa žino, kaip formatuoti šias reikšmes, tinkamai apriboti įvestį ir bendrinti reikšmes su duomenų baze. Gimtadieniai skiriasi nuo žmonių sukakčių, tačiau sistema juos tvarko vienodai. Šiuo atveju Data yra duomenų tipo pavyzdys.
Šiame straipsnyje pateikiama informacija apie duomenų tipus, kuriuos palaiko drobės programa. Kai programa prisijungia prie išorinio duomenų šaltinio, kiekvienas to šaltinio duomenų tipas susiejamas su drobės programų duomenų tipu.
| Duomenų tipas | Aprašas | Pavyzdžiai |
|---|---|---|
| Bulio logika | Teisinga arba klaidinga reikšmė. Galima tiesiogiai naudoti If, Filter ir kitas funkcijas be palyginimo. | teisingas |
| Spalva | Spalvų specifikacija, įskaitant alfa kanalą. | Color.Red ColorValue( "#102030" ) RGBA( 255, 128, 0, 0.5 ) |
| Valiuta | Valiutos reikšmė – skaičius su slankiuoju kableliu. Valiutos reikšmės yra tokios pat kaip skaičių reikšmės su valiutos formatavimo parinktimis. | 123 4.56 |
| Data | Data be laiko programos vartotojo laiko juostoje. | Data( 2019, 5, 16 ) |
| DateTime | Data su laiku programos vartotojo laiko juostoje. | DateTimeValue( „2019 m. gegužės 16 d. 1:23:09 PM“ ) |
| GUID | A Visuotinis unikalusis identifikatorius. | GUID() GUID( "123e4567-e89b-12d3-a456-426655440000" ) |
| Hipersaitas | Teksto eilutė, kurioje yra hipersaitas. | „https://powerapps.microsoft.com“ |
| Vaizdas | Visuotinio išteklių identifikatoriaus (URI) teksto eilutė vaizdui .jpeg, .png, .svg, .gif arba kitu įprastu žiniatinklio vaizdo formatu. | MyImage įtraukta kaip programos ištekliai „https://northwindtraders.com/logo.jpg“ „appres://blobmanager/7b12ffa2...“ |
| Medija | URI teksto eilutė vaizdo arba garso įrašymui. | MyVideo įtraukta kaip programos ištekliai „https://northwindtraders.com/intro.mp4“ „appres://blobmanager/3ba411c...“ |
| Skaičius | Slankiojo kablelio skaičius. | 123 -4.567 8.903e121 |
| Pasirinkimas | Pasirinkimas iš parinkčių rinkinio, kurį palaiko skaičius. Šis duomenų tipas sujungia lokalizuojamo teksto žymą su skaitine reikšme. Žyma rodoma programoje, o skaitinė reikšmė saugoma ir naudojama palyginimams. | ThisItem.OrderStatus |
| Įrašas | Duomenų reikšmių įrašas. Šiame kombinuotų duomenų tipe yra kitų duomenų tipų, išvardytų šioje temoje, egzempliorių. Daugiau informacijos: Darbas su lentelėmis. | { Įmonė: „Northwind Traders“, Darbuotojai: 35, NonProfit: klaidinga } |
| Įrašo nuoroda | Nuoroda į įrašą lentelėje. Tokios nuorodos dažnai naudojamos su polimorfinėmis peržvalgomis. Daugiau informacijos: Darbas su nuorodomis. | First(Accounts).Owner |
| Table | Įrašų lentelė. Visuose įrašuose turi būti tokie patys laukų pavadinimai su tais pačiais duomenų tipais, o praleisti laukai yra tvarkomi kaip tušti. Šiame kombinuotų duomenų tipe yra kitų duomenų tipų, išvardytų šioje temoje, egzempliorių. Daugiau informacijos: Darbas su lentelėmis. | Lentelė( { FirstName: „Sidney“, LastName: „Higa“ }, { FirstName: „Nancy“, LastName: „Anderson“ } ) |
| Tekstas | Unikodo teksto eilutė. | „Labas, pasauli” |
| Laikas | Laikas be datos programos vartotojo laiko juostoje. | Laikas( 11, 23, 45 ) |
| Dvi parinktys | Pasirinkimas iš dviejų parinkčių rinkinio, kurį palaiko Bulio logikos reikšmė. Šis duomenų tipas sujungia lokalizuojamo teksto žymą su Bulio logikos reikšme. Žyma rodoma programoje, o Bulio logikos reikšmė saugoma ir naudojama palyginimams. | ThisItem.Taxable |
Daugelis šių duomenų tipų yra panašūs ir turi tą patį pateikimą, pvz., Hipersaito lauką, laikomą Tekstu. Papildomi duomenų tipai suteikia geresnį numatytąjį formų bei kitų valdiklių naudojimą.
Tuščia
Visų duomenų tipų reikšmė gali būti tuščia (kitaip sakant, jokių reikšmių). Tokiai sąvokai duomenų bazėse dažnai vartojamas terminas „neapibrėžta“.
Naudokite funkciją Blank su funkcija Set arba Patch, kad nustatytumėte kintamąjį arba lauką į tuščia. Pavyzdžiui, Set( x, Blank() ) pašalina bet kokią reikšmę visuotiniame kintamajame x.
Patikrinkite tuščia reikšmę naudodami IsBlank funkciją. Pakeiskite galimas tuščias reikšmes netuščiomis reikšmėmis naudodami funkciją Coalesce.
Visi duomenų tipai palaiko tuščia, todėl Bulio logikos ir Dviejų parinkčių duomenų tipai turi tris galimas reikšmes.
Tekstas, hipersaitas, vaizdas ir medija
Visi keturi šie duomenų tipai pagrįsti Unikodo teksto eilute.
Įdėtasis tekstas
Įdėtosios teksto eilutės formulėje pateikiamos dvigubose kabutėse. Kartu naudokite dvi dvigubas kabutes, kad nurodytumėte vieną viengubą kabutę teksto eilutėje. Pavyzdžiui, naudodami tokią formulę valdiklio Button OnSelect ypatybėje:
Notify( "Jane said ""Hello, World!""" )
rezultatai reklamos juostoje, nuspaudus mygtuką, kur pirmosios ir paskutinės dvigubos kabutės praleidžiamos (nes jos atriboja teksto eilutę) ir pasikartojančios dvigubos kabutės aplink Sveikas, pasauli! pakeičiamos vienomis dvigubomis kabutėmis:

Pavienės kabutės naudojamos identifikatorių pavadinimams, kuriuose yra specialiųjų simbolių ir kurie neturi ypatingos reikšmės teksto eilutėje.
Stygų interpoliacija
Norėdami įterpti formules į teksto eilutę, naudokite eilutės interpoliaciją. Tai dažnai lengviau dirbti ir vizualizuoti išvestį nei naudojant "Concatenate " funkciją ar & operatorių.
Priešdėlis teksto eilutę su dolerio ženklu $ ir pridėkite formulę, kuri turi būti įterpta su garbanotais petnešomis {}. Norėdami į teksto eilutę įtraukti garbanotą petnešą, naudokite pasikartojančius garbanotus petnešas: {{ arba }}. Eilutės interpoliaciją galima naudoti visur, kur galima naudoti standartinę teksto eilutę.
Pavyzdžiui, apsvarstykite šią formulę su pasauliniais kintamaisiais Obuoliai nustatyti į 3, o bananai - į 4:
$"We have {Apples} apples, {Bananas} bananas, yielding {Apples+Bananas} fruit total."
Ši formulė grąžina teksto eilutę Mes turime 3 obuolius, 4 bananus, iš viso 7 vaisius. Kintamieji Obuoliai ir bananai įterpiami į tekstą, pakeičiant garbanotus petnešas, kartu su matematinės formulės "Apples + Bananas" rezultatu. Erdvės ir kiti simboliai aplink garbanotus petnešas yra išsaugoti tokie, kokie jie yra.
Įdėtosios formulės gali apimti bet kokias funkcijas ar operatorius. Viskas, ko reikia, yra tai, kad formulės rezultatas gali būti priverstas į teksto eilutę. Pavyzdžiui, ši formulė į sveikinimą įterps NickName, jei ji pateikta, arba Vardą, jei ne:
$"Welcome {Coalesce( NickName, FirstName )}, it's great to meet you!" )
Jei "NickName" nustatytas kaip "Joe", tada ši formulė sukuria teksto eilutę "Welcome Joe", puiku susitikti su jumis!. Bet jei NickName yra tuščias ir Vardas yra "Juozapas", tada ši formulė gamina brangų Juozapą, puiku susitikti su jumis! Vietoj to.
Eilučių interpoliavimas gali apimti standartines teksto eilutes įdėtojoje formulėje. Pavyzdžiui, jei nebuvo pateikta nei "NickName", nei "FirstName", mes vis tiek galėtume pateikti "Draugą" kaip pakaitalą:
$"Welcome {Coalesce( NickName, FirstName, "Friend" )}!"
Stygų interpoliacijos netgi gali būti įdėtos. Apsvarstykite šį pavyzdį, kai pirmasis, vidurinis ir pavardės sujungiami į sveikinimą. Net jei viena ar dvi iš šių reikšmių yra tuščios, teisingas tarpų skaičius bus tarp pavadinimo dalių. Jei nė viena iš dalių nepateikiama, vidinė stygų interpoliacija sutrauks iki tuščios eilutės ir bus pakeista "Coalesce " funkcija "Draugas".
$"Welcome {Coalesce( Trim( $"{First} {Middle} {Last}"}), "Friend" )}!"
| Pirmas | Viduryje | Paskutinis | Rezultatas |
|---|---|---|---|
| John | Qunicy | Doe | Welcome John Quincy Doe! |
| John | tuščia | Doe | Welcome John Doe! |
| tuščia | tuščia | Doe | Welcome Doe! |
| tuščia | tuščia | tuščia | Welcome Friend! |
Naujos linijos
Įdėtojo teksto eilutėse gali būti naujų eilučių. Pavyzdžiui, apsvarstykite galimybę nustatyti žymės valdiklio ypatybę Tekstas taip:
"Line 1
Line 2
Line 3"
Pirmiau pateiktoje formulėje pateikiamos trys etiketės valdiklyje parodytos eilutės:
Naujos linijos taip pat palaikomos stygų interpoliacija, kaip parodyta toliau:
$"Line {1}
Line {1+1}
Line {1+1+1}"
Pirmiau pateikta formulė duoda tą pačią išvestį:
Vaizdų ir medijos ištekliai
Meniu Failas galite įtraukti vaizdo, vaizdo įrašų ir garso įrašų failų kaip programos išteklių. Importuoto failo pavadinimas programoje tampa išteklių pavadinimu. Šiame grafiniame elemente į programą įtrauktas „Northwind Traders“ logotipas, pavadintas nwindlogo:

Norėdami naudoti šį išteklių programoje, nurodykite jį valdiklio Image Vaizdo ypatybėje:

Vaizdų ir kitos medijos URI
Galite išsamiau panagrinėti paskutinį pavyzdį nustatydami valdiklio Label Teksto ypatybę į nwindlogo. Žymoje rodoma teksto eilutė:

Drobės programos nurodo kiekvieną vaizdą ar kitą medijos failą neatsižvelgiant į tai, ar jis yra debesyje, ar įtraukiamas kaip programos išteklius naudojant URI teksto eilutę.
Pavyzdžiui, vaizdo valdiklio Vaizdo ypatybė priima ne tik programos išteklius, bet ir žiniatinklio vaizdų saitus, pvz., „https://northwindtraders.com/logo.jpg“. Ypatybė taip pat priima įdėtuosius vaizdus, kuriuose naudojama duomenų URI schema, kaip šiame pavyzdyje:
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFAQMAAACtnVQoAAAABlBMVEUAAAB0J3UMNU6VAAAAAXRSTlMAQObYZgAAABRJREFUCNdjUGJgCGVg6GgAkkA2AA8/AffqCEBsAAAAAElFTkSuQmCC"
Tame URI rodoma padidinta dviejų violetinių deimantų versija:

Galite parodyti naujausią vaizdą, užfiksuotą valdiklyje Camera, jei vaizdo valdiklio Vaizdo ypatybę nustatote į fotoaparato valdiklio Nuotraukos ypatybę. Programa laiko vaizdą atmintyje, o fotoaparato valdiklio Nuotraukos ypatybė pateikia vaizdo URI nuorodą. Pavyzdžiui, galite fotografuoti, o fotoaparato Nuotraukos ypatybė gali grąžinti „appres://blobmanager/7b12ffa2ea4547e5b3812cb1c7b0a2a0/1“.
Galite naudoti URI norėdami nurodyti vaizdą arba kitą medijos failą, saugomą duomenų bazėje. Taip programa negauna realių duomenų, kol jų iš tikrųjų nereikia. Pavyzdžiui, lentelės priedas gali pateikti „Microsoft Dataverse“ lentelė gali grįžti "appres://datasources/Contacts/table/..." kaip vaizdo kameros pavyzdyje, šį vaizdą galite matyti nustatę vaizdo valdiklio ypatybę Vaizdas su šia nuoroda, kuria nuskaitomi dvejetainiai duomenys.
Įrašius medijos duomenų tipą, pvz., vaizdą, į duomenų bazę, programa siunčia realius vaizdo arba medijos duomenis, o ne URI nuorodą.
Dydžio apribojimai
Kaip teksto eilutės ir URI, šie duomenų tipai neturi nustatyto ilgio apribojimo.
Dvejetainiai duomenys, kuriuos nurodo šie duomenų tipai, taip pat neturi nustatyto dydžio apribojimo. Pavyzdžiui, naudojant fotoaparato valdiklį užfiksuotas vaizdas, kuris dabar nurodomas kaip „appres://...“, gali būti tokio dydžio ir skiriamosios gebos, kokį gali pateikti įrenginio fotoaparatas. Skiriamoji geba, kadrų dažnis ir kiti medijos failų atributai nėra ribojami pagal duomenų tipą, tačiau savų apribojimų gali turėti specialūs medijos leidimo ir fiksavimo valdikliai.
Tačiau visi duomenų dydžiai priklauso nuo programoje esančios atminties kiekio. Stalinių kompiuterių naršyklės paprastai palaiko daugiau nei 100 megabaitų duomenų. Tačiau įrenginio, pvz., telefono, atminties kiekis gali būti gerokai mažesnis, paprastai 30–70 megabaitų. Norėdami nustatyti, ar programa veiks pagal šiuos apribojimus, patikrinkite įprastus scenarijus visuose įrenginiuose, kuriuose ji turėtų veikti.
Geriausia laikyti duomenis atmintyje tik tol, kol reikia. Kuo greičiau nusiųskite vaizdus į duomenų bazę; atsisiųskite vaizdus tik tada, kai programos vartotojas jų prašo.
Skaičius ir valiuta
Skaičiaus ir Valiutos duomenų tipai naudoja IEEE 754 dvigubo tikslumo slankiojo kablelio standartą. Šiame standarte pateikiama labai daug skaičių, kuriuos galima naudoti: nuo –1,79769 x 10308 iki 1,79769 x 10308. Mažiausia reikšmė, kuri gali būti pateikiama, yra 5 x 10–324.
Drobės programos gali tiksliai pateikti sveikuosius skaičius nuo –9 007 199 254 740 991 (–(253 – 1)) iki 9 007 199 254 740 991 (253 – 1), imtinai. Šis diapazonas yra didesnis nei 32 bitų (arba 4 baitų) sveikųjų skaičių duomenų tipai, kuriuos paprastai naudoja duomenų bazės. Tačiau drobės programos negali pateikti 64 bitų (arba 8 baitų) sveikųjų skaičių duomenų tipų. Gali reikėti išsaugoti skaičių teksto lauke arba naudoti apskaičiuojamąjį stulpelį, jei norite nukopijuoti skaičių į teksto lauką, kad jis būtų susietas su Teksto duomenų tipu drobės programoje. Tokiu būdu galite laikyti, rodyti ir įvesti šias reikšmes bei lyginti jas ir nustatyti, ar jos vienodos; tačiau šioje formoje negalima su jomis atlikti skaičiavimų.
Slankiojo kablelio aritmetika yra apytikrė, todėl kartais galimi netikėti rezultatai su daugeliu dokumentuotų pavyzdžių. Galite tikėtis, kad formulė 55 / 100 * 100 pateiks 55, o (55 / 100 * 100) - 55 pateiks nulį. Tačiau pastaroji formulė pateikia 7,1054 x 10–15 – tai yra labai mažai, bet ne nulis. Šis nedidelis skirtumas paprastai nesukelia problemų ir programa jį suapvalina rodydama rezultatą. Tačiau nedidelių skirtumų gali susidaryti vėlesniuose skaičiavimuose ir bus pateiktas klaidingas atsakymas.
Duomenų bazių sistemos dažnai saugo valiutas ir atlieka skaičiavimus naudodamos dešimtainę matematinę raišką, kuri siūlo mažesnį diapazoną, tačiau didesnį tikslumą. Pagal numatytuosius nustatymus drobės programos susieja valiutas su slankiojo kablelio reikšmėmis arba nesusieja; todėl rezultatas gali skirtis nuo skaičiavimų, atliktų naudojant paprastą dešimtainių duomenų tipą. Jei tokio tipo nesutapimas sukels problemų, galite su šiomis reikšmėmis dirbti kaip su Tekstu ir su anksčiau šiame skyriuje aprašytais dideliais sveikaisiais skaičiais.
Data, laikas ir DateTime
Laiko juostos
Datos / laiko reikšmės priskiriamos šioms kategorijoms:
- Konvertuoti pagal laiko juostą: šios reikšmės saugomos UTC (universalusis laikas), bet programos vartotojo laiko juosta paveikia, kaip programa rodo šias reikšmes ir kaip programos vartotojas jas nurodo. Pavyzdžiui, tas pats momentas rodomas skirtingai Kanados vartotojui ir Japonijos vartotojui.
- Nekonvertuoti pagal laiko juostą: programa rodo šias reikšmes taip pat ir programos vartotojas nurodo taip pat, neatsižvelgiant į laiko juostą. Tas pats momentas Kanados vartotojui ir Japonijos vartotojui rodomas vienodai. Programų autoriai, kurie nesitiki, kad jų programos bus naudojamos skirtingose laiko juostose, naudoja šias reikšmes, nes jos apskritai paprastesnės.
Šioje lentelėje pateikiami keli pavyzdžiai:
| Datos / laiko tipas | Duomenų bazėje saugoma reikšmė | Reikšmė, rodoma ir įvesta 7 valandos į vakarus nuo UTC | Reikšmė, rodoma ir įvesta 4 valandos į rytus nuo UTC |
|---|---|---|---|
| Konvertuoti pagal laiko juostą | Sekmadienis, 2019 m. gegužės 19 4:00 |
Šeštadienis, 2019 m. gegužės 18 21:00 |
Sekmadienis, 2019 m. gegužės 19 8:00 |
| Nekonvertuoti pagal laiko juostą | Sekmadienis, 2019 m. gegužės 19 4:00 |
Sekmadienis, 2019 m. gegužės 19 4:00 |
Sekmadienis, 2019 m. gegužės 19 4:00 |
Naudojant Konvertuoti pagal laiko juostą datą / laiką, drobės programos naudoja naršyklės arba įrenginio laiko juostą, bet modeliu pagrįstos programos naudoja vartotojo nustatymą, esantį „Dataverse“. Šie parametrai paprastai atitinka, tačiau rezultatai skirsis, jei skirsis šie parametrai.
Naudokite DateAdd ir TimeZoneInformation funkcijas norėdami konvertuoti vietinį laiką į UTC ir atvirkščiai. Šių funkcijų pavyzdžius žr. dokumentų pabaigoje.
Skaitiniai atitikmenys
Drobės programos išlaiko ir apskaičiuoja visas datos / laiko reikšmes – UTC naudojant ir Konvertuoti pagal laiko juostą, ir Nekonvertuoti pagal laiko juostą. Programa pakeis reikšmes, pagrįstas programos vartotojo laiko juosta, kai jos bus rodomos ir kai programos vartotojas jas nurodys.
Kai drobės programa nuskaito Nekonvertuoti pagal laiko juostą reikšmę iš duomenų šaltinio arba parašo tokią reikšmę duomenų šaltinyje, programa automatiškai pakoreguoja reikšmę, kad kompensuotų atsižvelgiant į programos vartotojo laiko juostą. Tada programa traktuoja reikšmę kaip UTC reikšmę, kuri atitinka visas kitas programos datos / laiko reikšmes. Dėl šio kompensavimo originali Nekonvertuoti pagal laiko juostą reikšmė rodoma, kai programa pakoreguoja programos vartotojo laiko juostos UTC reikšmę.
Galite atidžiau stebėti šį veikimą naudodami Value funkciją, kad pasiektumėte esamą skaitinę datos / laiko reikšmę. Ši funkcija pateikia datos / laiko reikšmę kaip milisekundžių skaičių nuo 1970 m. sausio 1 d. 00:00:00.000 UTC.
Kadangi kiekviena datos / laiko reikšmė laikoma UTC, formulė Value( Date( 1970, 1, 1 ) ) nepateiks nulio daugelyje pasaulio dalių, nes Date funkcija pateikia datą UTC. Pavyzdžiui, formulė pateiks 28 800 000 laiko juostoje, kuri kompensuojama UTC atžvilgiu aštuoniomis valandomis. Šis skaičius atitinka aštuonių valandų milisekundžių skaičių.
Grįžimas į mūsų ankstesnį pavyzdį:
| Datos / laiko tipas | Duomenų bazėje saugoma reikšmė | Reikšmė, rodoma ir įvesta 7 valandos į vakarus nuo UTC | Value funkcija pateikia |
|---|---|---|---|
| Konvertuoti pagal laiko juostą | Sekmadienis, 2019 m. gegužės 19 4:00 |
Šeštadienis, 2019 m. gegužės 18 21:00 |
1,558,238,400,000 (Sekmadienis, 2019 m. gegužės 19 4:00 AM UTC) |
| Nekonvertuoti pagal laiko juostą | Sekmadienis, 2019 m. gegužės 19 4:00 |
Sekmadienis, 2019 m. gegužės 19 4:00 |
1,558,263,600,000 (Sekmadienis, 2019 m. gegužės 19 11:00 AM UTC) |
„Unix“ laiko konvertavimas
„Unix“ laikas parodo sekundžių skaičių nuo 1970 m. sausio 1 d. 00:00:00 UTC. Kadangi drobės programos milisekundes naudoja vietoj sekundžių, galima konvertuoti iš vienų į kitas dauginant arba dalijant iš 1000.
Pavyzdžiui, „Unix“ laikas rodo 2001 m. rugsėjo 9 d. 01:46:40 UTC kaip 1 000 000 000. Jei norite matyti tą datos / laiko reikšmę drobės programoje, padauginkite tą skaičių iš 1000, kad konvertuotumėte į milisekundes, tada naudokite jį Text funkcijoje. Formulė Text( 1000000000 * 1000, DateTimeFormat.UTC ) pateikia eilutę 2001-09-09T01:46:40.000Z.
Tačiau ši funkcija pateikia 2001 m. rugsėjo 8 d., šeštadienis 18:46:40, jei naudojate DateTimeFormat.LongDateTime24 formatą laiko juostoje, kuri -7 valandomis kompensuojama UTC atžvilgiu (7 valandos į vakarus nuo UTC). Šis rezultatas rodo DateTime reikšmę teisingai, atsižvelgiant į vietos laiko juostą.
Norėdami konvertuoti į „Unix“ laiką, padalykite Reikšmės rezultatą iš 1000:
RoundDown( Value( UnixTime ) / 1000, 0 )
Jei reikia „Unix“ laiko Datos reikšmės tolesniems skaičiavimams arba norint parodyti „Power Apps“, naudokite šią formulę:
DateAdd( Date( 1970,1,1 ), UnixTime, Seconds )
„SQL Server‟
„SQL Server“ yra Datetime, Datetime2 ir kiti datos / laiko duomenų tipai, neapimantys laiko juostos kompensavimo ir nenurodantys buvimo laiko juostos. Drobės programose laikoma, kad šios reikšmės saugomos UTC ir traktuojamos kaip Konvertuoti pagal laiko juostą. Jei reikšmės turi būti nekonvertuojamos pagal laiko juostą, pakoreguokite UTC konvertavimą naudodami TimeZoneOffset funkciją.
Drobės programos naudoja įtrauktą laiko juostos informaciją Datetimeoffset laukuose, kai reikšmė konvertuojama į programos vidinę UTC pateiktį. Kai rašo duomenis, programos visada kaip laiko juostą naudoja UTC (nulinės laiko juostos kompensavimas).
Drobės programos skaito ir rašo Laiko duomenų tipo reikšmes „SQL Server“ kaip teksto eilutes ISO 8601 trukmės formatu. Pavyzdžiui, turite išanalizuoti šį eilutės formatą ir naudoti Time funkciją norėdami konvertuoti teksto eilutę PT2H1M39S į Laiko reikšmę:
With(
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ),
Time( Value( hours ), Value( minutes ), Value( seconds ) )
)
// Result: 2:01 AM (as shown in a label control, use the Text function to see the seconds)
Datos ir laiko informacijos sumaišymas
Data, Laikas ir DateTime pavadinimai skirtingi, tačiau visur laikoma ta pati informacija apie datas ir laiką.
Datos reikšmėje gali būti laiko informacija, kuri paprastai yra vidurnaktis. Laiko reikšmėje gali būti datos informacija, kuri paprastai yra 1970 m. sausio 1 d. „Dataverse“ taip pat saugoma laiko informacija su Tik datos lauku, bet pagal numatytuosius nustatymus rodoma tik datos informacija. Panašiai, drobės programos kartais atskiria šiuos duomenų tipus, kad būtų nustatyti numatytieji formatai ir valdikliai.
Nerekomenduojama datos ir laiko reikšmių pridėti bei atimti tiesiogiai, nes laiko juostos ir kitos konversijos gali pateikti klaidinančių rezultatų. Naudokite Value funkciją norėdami konvertuoti datos / laiko reikšmes į milisekundes ir atsižvelgti į programos vartotojo laiko juostą arba naudokite DateAdd ir DateDiff funkcijas norėdami pridėti arba atimti iš vienos iš šių reikšmių.
Pasirinkimai ir Taip /Ne
Pasirinkimai ir dviejų parinkčių duomenų tipai teikia du ar daugiau pasirinkimų, kuriuos programos vartotojas gali pasirinkti. Pavyzdžiui, pasirinkta užsakymo būsena gali pasiūlyti pasirinkimus Naujas, Išsiųstas, Išrašyta, ir Uždaryta. Dviejų parinkčių duomenų tipas siūlo tik du pasirinkimus.
Abu šie duomenų tipai rodo jų žymas teksto eilutės kontekste. Pavyzdžiui, žymos valdiklis rodo vieną iš užsakymo būsenos parinkčių, jei valdiklio teksto ypatybė nustatyta į tą, kurią pasirinkti nurodo formulė. Parinkčių žymos gali būti lokalizuotos programos vartotojams skirtingose vietose.
Kai programos vartotojas pasirenka parinktį ir įrašo pakeitimą, programa duomenis perduoda į duomenų bazę, kuri saugo šiuos duomenis nepriklausomai nuo kalbos. Pasirinkimo parinktis perduodama ir saugoma kaip skaičius, o dviejų parinkčių duomenų tipo parinktis perduodama ir saugoma kaip bulio logikos reikšmė.
Žymos skirtos tik rodymo tikslams. Negalima tiesiogiai lyginti naudojant žymas, nes jos priklauso nuo kalbos. Vietoj to kiekvienas pasirinkimas turi išvardijimas, kuris veikia su pagrindiniu skaičiumi arba bulio logikos reikšme. Pavyzdžiui, negalima naudoti šios formulės:
If( ThisItem.OrderStatus = "Active", ...
Tačiau galite naudoti šią formulę:
If( ThisItem.OrderStatus = OrderStatus.Active, ...
Visuotinių pasirinkimų (lentelių bendrinimo) parinkčių rinkinio išvardijimo pavadinimas atitinka visuotinio pasirinkimo pavadinimą. Vietinių pasirinkimų (kurie apima lentelę) pavadinime gali būti lentelės pavadinimas. Taip išvengiama konfliktų, jei kelios lentelės turi tokį patį pavadinimą. Pavyzdžiui, klientai Paskyros lentelė gali turėti OrderStatus pasirinkimą, o jo pavadinimas gali būti OrderStatus (Paskyros). Pavadinime yra vienas ar daugiau tarpų ir skliaustų, todėl turite rašyti jį viengubose kabutėse, jei nurodote jį formulėje.
Be to, dviejų parinkčių reikšmės taip pat gali veikti kaip Bulio logikos reikšmės. Pavyzdžiui, dviejų parinkčių reikšmė, pavadinta TaxStatus, gali turėti žymas Apmokestinama ir Neapmokestinama, kurios atitinka teisinga ir klaidinga. Norėdami parodyti galite naudoti šią formulę:
If( ThisItem.Taxable = TaxStatus.Taxable, ...
Be to, galite naudoti šią lygiavertę formulę:
If( ThisItem.Taxable, ...
Pastaba
Ar galite mums pranešti apie dokumentacijos kalbos nuostatas? Atlikite trumpą apklausą. (atkreipkite dėmesį, kad ši apklausa yra anglų kalba)
Apklausą atliksite per maždaug septynias minutes. Asmeniniai duomenys nėra renkami (privatumo nuostatos).
Atsiliepimai
Pateikti ir peržiūrėti atsiliepimą, skirtą