Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Power Fx on vähäisen koodin kieli, jota Microsoft Power Platform käyttää. Se on yleiskäyttöinen, vahvasti kirjoitettu, deklaratiivisen ja funktionaalinen ohjelmointikieli.
Power Fx ilmaistaan helposti ymmärrettävinä lausekkeina. Se on vähän koodia käyttävä kieli, jonka avulla tekijät voivat käsitellä suoraan Excelin tyyppisiä kaavarivejä tai Visual Studio Coden teksti-ikkunaa. Vähäistä koodaamista syntyy kielen ytimekkäästä ja yksinkertaisesta luonteesta, mikä tekee yleisistä ohjelmointitehtävistä helppoja sekä tekijöille että kehittäjille. Se mahdollistaa kaiken kehityksen no-codesta niille, jotka eivät ole koskaan ohjelmoineet ennen "prokoodaamista" kokeneelle ammattilaiselle, ilman oppimista tai kallioiden kirjoittamista uudelleen niiden välillä. Erilaiset tiimit voivat tehdä yhteistyötä sekä säästää aikaa ja kustannuksia.
Muistiinpano
- Microsoft Power Fx on Power Apps -kaaviosovellusten kaavakielen uusi nimi. Tämä yleiskatsaus ja siihen liittyvät artikkelit ovat työn alla, kun Microsoft poimii kielen pohjaan perustuvista sovelluksista, integroi sen muihin Microsoft Power Platform tuotteisiin ja tuo sen avoin lähdekoodi saataville. Jos haluat lisätietoja kielestä ja kokeilla sitä, aloita Power Apps -dokumentaation kohdasta Kaaviosovellusten kaavojen käytön aloittaminen ja rekisteröidy maksuttomaan Power Apps -kokeiluun.
- Tässä artikkelissa tekijät viittaavat käyttäjiin, jotka saattavat käyttää ominaisuutta ohjelmointitaidon spektrin kummassakin päässä. Kehittäjät viittaavat käyttäjiin, kun ominaisuus on kehittyneempi ja todennäköisesti tyypillisen Excel käyttäjän vaikutusalueen ulkopuolella.
Power Fx sitoo objekteja yhteen deklaratiivisia laskentataulukkomuotoisia kaavoja käyttäen. Oletetaan esimerkiksi, että käyttöliittymän ohjausobjektin Näkyvä-ominaisuus on Excel-laskentataulukon solu, joka sisältää kaavan, joka laskee sen arvon muiden ohjausobjektien ominaisuuksien perusteella. Kaavan logiikka laskee arvon automaattisesti samalla tavalla kuin laskentataulukko. Tämä vaikuttaa ohjausobjektin näkyvyyteen.
Power Fx sisältää myös tarvittaessa määräävän logiikan. Laskentataulukoissa ei yleensä ole painikkeita, jotka lähettävät muutoksia tietokantaan, mutta sovelluksissa usein on. Samaa lausekekieltä käytetään sekä deklaratiivisessa että imperatiivisessa logiikassa.
Microsoft tuo Power Fx:n saataville avoimen lähdekoodin ohjelmistona. Se on tällä hetkellä integroitu pohjaan perustuviin sovelluksiin, ja Microsoft on poimimassa sitä Power Apps käytettäväksi muissa Microsoft Power Platform tuotteissa ja avoin lähdekoodi. Lisätietoja: Microsoft Power Fx GitHubissa
Tässä artikkelissa on kielen ja sen suunnitteluperiaatteiden yleiskatsaus. Lisätietoja Power Fx -kielestä on seuraavissa artikkeleissa:
- Tietotyypit
- Operaattorit ja tunnisteet
- Taulukot
- Muuttujat
- Imperatiivinen logiikka
- Maailmanlaajuinen tuki
- Ilmaisun kielioppi
- YAML-kaavan kielioppi
Laskentataulukkoa muistuttava
Entä jos voisit luoda sovelluksen yhtä helposti kuin laskentataulukon Excelissä?
Entä jos voisit hyödyntää olemassa olevaa laskentataulukkotietämystäsi?
Nämä kysymykset innoittivat Power Apps ja Power Fx:n luomista. Sadat miljoonat ihmiset luovat laskentataulukoita, joissa on Excel joka päivä. Tuodaanpa heille sovellusten luonti helppoa ja helppoa ja käyttää Excel käsitteitä, jotka he jo tuntevat. Purkamalla Power Fx:n ulos Power Appsista näihin kysymyksiin vastataan automaation, virtuaaliagentin tai muiden alueiden kehittämisessä.
Kaikissa ohjelmointikielissä, myös Power Fx:ssä on lausekkeita: ne osoittavat lukujen, merkkijonojen tai muiden tietotyyppien laskennan. Esimerkiksi mass * acceleration ilmaisee useimmissa kielissä ominaisuuksien mass ja acceleration kertomista. Voit sijoittaa lausekkeen tuloksen muuttujaan, käyttää sitä argumenttina toimintosarjassa tai asettaa sen isompaan lausekkeeseen.
Power Fx vie tämän askeleen eteenpäin. Lauseke itse ei kerro mitään siitä, mitä lasketaan. Tekijän tehtävä on sijoittaa se muuttujaan tai välittää se funktioon. Power Fx:ssä sen sijaan, että kirjoittaisit vain lausekkeen, jolla ei ole tiettyä merkitystä, kirjoitat kaavan, joka sitoo lausekkeen tunnisteeseen. Kirjoita force = mass * acceleration kaavaksi, kun lasketaan force.
acceleration
force Muutokset mass päivittyvät automaattisesti uuteen arvoon. Lauseke kuvasi laskutoimituksen, kaava antoi laskutoimitukselle nimen ja käytti sitä valmistusohjeena. Siksi kutsumme Power Fx:ää kaavakieleksi.
Esimerkiksi tämä pinon ylivuodon kaava hakee merkkijonon käänteisessä järjestyksessä. Se näyttää Excelissä samalta kuin seuraavassa kuvassa.
Näyttökuva Excelin kaavarivistä ja kaavasta: =RIGHT(A1,LEN(A1)- FIND("|", SUBSTITUTE(A1," ","|", LEN(A1)-LEN(SUBSTITUTE(A1," ","")))) Solu A1 sisältää tekstin "Hei maailma! Hauska tavata sinut! Solu A2 sisältää tekstin sinut!
Power Fx toimii samalla kaavalla, jossa soluviittaukset korvattu ohjausobjektien ominaisuusviittauksilla:
Näyttökuva Power Fx -kaavarivistä Power Appsissa. Kaava on =RIGHT(Input.Text,Len(Input.Text)- FIND("|", SUBSTITUTE(Input.Text," ","|", Len(Input.Text)-Len(Substitute(Input.Text," ","")))) Kaavan alapuolella syöttökentässä on teksti "Hello, World! Hauska tavata sinut! tulee näkyviin kirjain kerrallaan. Samaan aikaan seliteruudussa viimeisen sanan kirjaimet tulevat näkyviin. Kun koko teksti näkyy syöttökentässä, sana sinut! tulee näkyviin Selite-ruutuun.
Ohjausobjektin Input arvon muuttuessa Label ohjausobjekti laskee kaavan automaattisesti uudelleen ja näyttää uuden arvon. Tapahtumakäsittelijöitä OnChange ei ole, toisin kuin useissa muissa kielissä.
Toinen esimerkki käyttää kaavaa Fill näytön värinä. Kun punaisia, vihreitä ja sinisiä liukusäätimiä muutetaan, taustaväri muuttuu automaattisesti, kun sitä lasketaan uudelleen.
Liukusäätimen ohjausobjekteissa ei ole tapahtumia OnChange toisin kuin muissa kielissä. Ominaisuuden Fill arvoa ei voi määrittää eksplisiittisesti. Jos väri ei toimi odotetulla tavalla, saat lisätietoja katsomalla tätä kaavaa. Sinun ei tarvitse hakea ominaisuuden odottamattomaan aikaan määrittävää koodia sovelluksen kautta, koska aikaelementtiä ei ole. Oikeita kaavan arvoja ylläpidetään aina.
Koska liukusäätimet on määritetty väriltään tummaksi, punaisen, vihreän ja sinisen selitteet kompensoivat sitä muuttumalla valkoisiksi. Tämä muutos tehdään yksinkertaisella kaavalla kunkin otsikko-ohjausobjektin -ominaisuudessa Color .
Hienoa tässä kaavassa on se, että se on eristetty siitä, mitä värille Fill tapahtuu: nämä ovat kaksi täysin erilaista laskutoimitusta. Suurten monoliittisten proseduurien sijaan Power Fx -logiikka koostuu yleensä toisistaan riippumattomista pienemmistä kaavoista. Tämä rakenne helpottaa niiden ymmärtämistä ja mahdollistaa parannukset häiritsemättä olemassa olevaa logiikkaa.
Power Fx on deklaratiivinen kieli, kuten Excelkin. Tekijä määrittää haluamansa toiminnan, mutta järjestelmän on itse määritettävä ja optimoitava, miten ja milloin se tehdään. Jotta tämä olisi mahdollisimman käytännöllistä , useimmat työt tehdään ilman sivuvaikutuksia aidoilla funktioilla, mikä tekee Power Fx:stä myös funktionaalisen kielen (kuten Excelkin).
Aina käytettävissä
Laskentataulukoiden tärkeät ominaisuudet ovat kokoaikainen reaaliakaisuus ja muutosten näkyminen välittömästi. Laskentataulukossa ei ole kääntämis- tai suoritustilaa. Kun muokkaat kaavaa tai annat arvon, laskentataulukko lasketaan heti uudelleen vastaamaan muutoksia. Havaitut virheet tulevat esiin välittömästi, eivätkä ne puutu laskentataulukkoon.
Power Fx toteuttaa saman asian. Se käyttää lisäävää kääntäjää pitääkseen ohjelman jatkuvasti synkronoituna niiden tietojen kanssa, joissa se toimii. Muutokset leviävät automaattisesti ohjelman kaavion kautta, mikä vaikuttaa riippuvaisten laskelmien tuloksiin. Nämä laskutoimitukset saattavat ohjata ominaisuuksia ohjausobjekteissa, kuten värissä tai sijainnissa. Lisäävä kääntäjä sisältää myös monipuolisen kaavan muokkauskokemuksen, sillä käytössä on IntelliSense, ehdotukset, automaattinen täyttö ja kirjoituksen tarkistus.
Seuraavassa animaatiossa tilausnumero näkyy liukusäätimestä riippuvaisena nimiohjausobjektissa, vaikka sen alla oleissa otsikoissa on kaksi virhettä. Sovellus on erittäin reagoiva ja vuorovaikutteinen. Kun kaava yritetään korjata ensimmäisellä kerralla syöttämällä .InvalidName, näkyviin tulee punainen viiva ja virhesanoma odotetulla tavalla, mutta sovelluksen suorittamista jatketaan.
Kun kirjoitat .Employeearvon , Data ruutu lisää Työntekijät-taulukon, noutaa tämän taulukon metatiedot ja tarjoaa sarakkeille heti ehdotuksia. Kävelit juuri suhteen yli taulukosta toiseen, ja järjestelmä teki tarvittavat muutokset sovelluksen viitetietoihin. Sama tapahtuu lisättäessä .Customer.
Liukusäädin jatkaa kunkin muutoksen jälkeen viimeisimmällä arvolla, ja mahdolliset muuttujat pitävät arvonsa. Koko ajan tilausnumero näkyy edelleen ylimmässä selitteessä. Sovellus on reaaliaikainen ja käsittelee oikeita tietoja koko ajan. Voit tallentaa sen, kävellä pois, ja muut voivat avata ja käyttää sitä aivan kuten Excel. Mitään koontivaihetta tai kääntämisvaihetta ei ole, saatavilla on vain julkaisuvaihe, jolla määritetään, mikä sovelluksen versio on valmis käyttäjille.
Vähän koodia
Power Fx kuvaa liiketoimintalogiikkaa tiiviissä mutta tehokkaissa kaavoissa. Suurin osa logiikasta rajataan yhdelle riville, ja siinä on runsaasti ilmaisuvuutta ja hallintaa monimutkaisempia tarpeita varten. Tavoitteena on pitää niiden käsitteiden määrä, jotka tekijöiden on ymmärrettävä, mahdollisimman vähäisinä. Parhaassa tapauksessa niitä ei ole enemmän kuin mitä Excel-käyttäjä jo tuntee.
Jos esimerkiksi haluat etsiä työntekijän etunimen tilausta varten, kirjoitat Power Fx-kaavan, joka näkyy seuraavassa animaatiossa. Ainoa käsite, jota Excelissä ei ole, on piste (.) -merkintä tietorakenteeseen porautumista varten. Tässä tapauksessa se on .Employee.'First Name'. Animaatio näyttää Power Fx -kaavan osien yhdistämismäärityksen ja käsitteet, jotka on koodattava eksplisiittisesti vastaavaan JavaScript-koodiin.
Katsotaanpa tarkemmin kaikkia asioita, joita Power Fx tekee meille, ja vapautta, joka sillä on optimoitava, koska kaava on deklaratiivista:
Asynkroninen: Kaikki tietotoiminnot Power Fx ovat asynkronisia. Tekijän ei tarvitse määrittää tätä, eikä tekijän tarvitse synkronoida toimintoja tämän kutsun jälkeen. Tekijän ei tarvitse olla lainkaan tietoinen tästä käsitteestä, eikä heidän tarvitsee tietää, mikä promise- tai lambda-funktio on.
Paikallinen ja etäkäyttöinen: Power Fx käyttää samaa syntaksia ja funktioita paikallisille muistissa oleville tiedoille ja yhdistää tietokannan tai palvelun etäyhteydellä. Käyttäjän ei tarvitse miettiä tätä erottelua. Power Fx delegoi palvelimelle automaattisesti kaiken mahdollisen, koska palvelin voi käsitellä suodattimia ja lajitella tietoja siellä tehokkaammin.
Relaatiotiedot: Tilaukset ja Asiakkaat ovat kaksi eri taulukkoa, joissa on monta yhteen -suhde. OData-kyselyyn tarvitaan $expand ja tieto viiteavaimesta, mikä vastaa SQL:n Join-toimintoa. Kaavassa ei käytetä mitään näistä, sillä myös tietokanta-avaimet ovat käsite, josta tekijän ei tarvitse välittää. Tekijä saa käyttöönsä koko tietueen suhdekaavion yksinkertaisesti käyttämällä pistettä merkintätapana.
Projektio: Kyselyä kirjoitettaessa monet kehittäjät kirjoittavat
select * from table, mikä tuo takaisin kaikki tietosarakkeet. Power Fx analysoi kaikki sovelluksen kautta käytetyt sarakkeet myös kaavariippuvuuksien kautta. Noudettavien tietojen valinta optimoidaan automaattisesti, eikä tekijän tarvitse tietää, mitä noudettavien tietojen valinta tarkoittaa.Hae vain se, mitä tarvitaan: Tässä esimerkissä funktio tarkoittaa,
LookUpettä vain yksi tietue tulee noutaa ja se on kaikki, mitä palautetaan. Jos pyydetään useita tietueita käyttämälläFilter-funktiota (jolloin saatetaan saada tuhansia tietueita), kerralla palautetaan vain yksi sivullinen tietoja. Sivulla on 100 tietuetta. Käyttäjän on elettävä valikoiman tai tietotaulukon läpi, jotta hän näkee enemmän tietoja, ja se tuo heille automaattisesti lisää tietoja. Tekijä voi käsitellä suuria tietojoukkoja ilman, että hänen on mietittävä tietopyyntöjen rajoittamista hallittaviksi paloiksi.Suoritetaan vain tarvittaessa: Määrität kaavan otsikko-ohjausobjektin ominaisuudelle
Text. Kun valittu muuttuja vaihtuu,LookUplasketaan automaattisesti uudelleen ja selite päivitetään. Tekijän ei tarvinnut kirjoittaa OnChange-käsittelijää valinnalle eikä muistaa, että tämä otsikko on siitä riippuvainen. Kyse on aiemmin käsitellystä deklaratiivisesta ohjelmoinnista, ja tekijä on määrittänyt, mitä selitteeseen ei halutaan eikä sitä, miten ja milloin se noudetaan. Jos tämä selite ei ole näkyvissä, koska se on näytössä, joka ei ole näkyvissä tai senVisibleominaisuus on false, voit lykätä tätä laskutoimitusta, kunnes selite on näkyvissä, ja poistaa sen tehokkaasti, jos sellaista tapahtuu harvoin.Excel syntaksikäännös : Monet käyttäjät tietävät, että et-merkkiä (& ) käytetään merkkijonon ketjuttamiseen Excel. JavaScript käyttää plusmerkkiä (+). Muissa kielissä käytetään pistettä (.).Näyttönimet ja lokalisointi:käytetään
First Namekaavassa Power Fx , kun taasnwind_firstnamesitä käytetään JavaScript-vastineessa. Microsoft Dataversessa ja SharePointissa on näyttönimi sarakkeille ja taulukoille yksilöllisen loogisen nimen lisäksi. Näyttönimet ovat usein paljon käyttäjäystävällisiä, kuten tässä tapauksessa. Toinen näyttönimien tärkeä ominaisuus on, että ne voidaan lokalisoida. Jos sinulla on monikielinen ryhmä, jokainen ryhmän jäsen näkee taulukon ja kentän nimet omalla kielellään. Power Fx varmistaa aina, että oikea looginen nimi lähetetään automaattisesti tietokantaan.
Ei koodausta
Sinun ei tarvitse lukea tai kirjoittaa Power Fx:ää aloittaaksesi logiikan ilmaisemisen. Voit ilmaista monia mukautuksia ja logiikkaa yksinkertaisten valitsimien ja käyttöliittymän muodostajien avulla. Nämä koodittomuustyökalut on luotu Power Fx:n lukemiseen ja kirjoittamiseen, joten sen viemiseen eteenpäin on paljon tilaa. Koodittomuustyökalut eivät kuitenkaan koskaan tarjoa koko kielen ilmaisuvuutta. Vaikka käyttäisit koodittoman koodin luojia, kaavarivi on Power Apps edessä ja keskellä, jotta tekijälle kerrotaan, mitä heidän puolestaan tehdään, jotta he voivat alkaa opetella Power Fx:n käyttöä.
Tarkastellaan joitakin esimerkkejä. Power Appsin ominaisuuspaneelissa ohjausobjektien ominaisuuksiin liittyviä kytkimiä ja säätimiä, joiden käyttöön ei tarvita koodia. Käytännössä useimmat ominaisuusarvot ovat staattisia. Voit vaihtaa kohteen Gallery taustavärin värien muodostintyökalun avulla. Huomaa, että kaavarivi reagoi tähän muutokseen ja päivittää kaavan toiseksi kutsuksi, jonka muoto on RGBA. Voit milloin tahansa siirtyä kaavariville ja viedä tätä muutosta vielä pidemmälle tässä esimerkissä säätämällä väriä -toiminnolla ColorFade . Värin ominaisuus näkyy yhä ominaisuuspaneelissa, muttafx-kuvake näkyy, kun hiiri viedään paneelin yläpuolelle, ja sinut ohjataan kaavariviin. Tämä toimii täysin kahdella eri tavalla: jos kutsu ColorFade poistetaan, väriksi palautetaan sellainen väri, jota ominaisuuspaneeli ymmärtää, ja voit käyttää sitä uudelleen värin määrittämisessä.
Seuraava on edellistä monimutkaisempi esimerkki. Valikoimassa näkyy Dataversen työntekijäluettelo. Dataversessa on näkymiä taulukon tietoihin. Voit valita jonkin näistä näkymistä, ja kaava muuttuu käyttämään funktiota tämän näkymän Filter nimen kanssa. Kahden avattavan valikon avulla voit valita oikean taulukon ja tarkastella sitä koskematta kaavariviin. Oletetaan, että haluat lisätä siihen lajittelun. Voit lisätä kyseisen funktion kaavariville, niin ominaisuuspaneelissa näkyy taas fx-kuvake ja se ohjaa kaavarivin muutokset. Ja jälleen kerran, jos yksinkertaistat kaavan asiaksi, jota ominaisuuspaneeli voi lukea ja kirjoittaa, sitä voidaan käyttää.
Nämä esimerkit ovat yksinkertaisia. Power Fx on mainio kieli koodittomuustoimien kuvaamiseen. Se on ytimekäs, tehokas ja helppo jäsentää. Se tarjoaa päähuoneen, jota tarvitaan niin usein "ei kallioita" matalaan koodiin asti.
Ammattimainen koodaus
Vähäistä koodaamista käyttävät tekijät rakentavat joskus ratkaisuja, jotka tarvitsevat asiantuntijan apua tai joita ammattikehittäjä hallitsee ylläpitääkseen ja parantaakseen. Myös ammattilaiset arvostavat sitä, että vähän koodia käyttävä ympäristö voi olla kätevämpi, nopeasti ja edullisempi kuin ammattimaisen työnkalun muodostaminen. Kaikkiin tilanteisiin ei tarvita Visual Studion kaikkia ominaisuuksia.
Ammattilaiset haluavat käyttää ammattilaistyökaluja, koska ne tehostavat toimintaa. Voit tallentaa Power Fx -kaavoja YAML-lähdetiedostoihin, joita on helppo muokata Visual Studio Code, Visual Studio tai millä tahansa muulla tekstieditorilla. Kun tallennat kaavoja YAML-tiedostoihin, voit asettaa Power Fx:n lähdehallintaan käyttämällä GitHub, Azure DevOps tai mitä tahansa muuta lähdekoodin hallintajärjestelmää.
Power Fx tukee kaavapohjaisia osia jakamiseen ja uudelleenkäyttöön. Se tukee komponenttiominaisuuksien parametreja, minkä ansiosta voidaan luoda käyttäjän määrittämiä puhtaita funktioita ja muita parannuksia tulossa.
Power Fx on myös hyvä kokoamaan yhteen ammattilaisten rakentamat komponentit ja palvelut. Valmiit liittimet mahdollistavat käytön sadoille tietolähteille ja verkkopalveluille. Mukautettujen liittimien avulla Power Fx voi keskustella minkä tahansa REST-verkkopalvelun kanssa. Koodikomponenttien avulla Power Fx voi käsitellä täysin mukautettua JavaScriptiä näytöllä ja sivulla.
Suunnitteluperiaatteet
Yksinkertaista
Power Fx on suunniteltu kohdentaakseen tekijäyleisölle, jonka jäseniä ei ole koulutettu kehittäjiksi. Aina kun mahdollista, kieli käyttää tietämystä, jonka tämä yleisö jo tietää tai pystyy oppimaan nopeasti. Onnistuneeseen käyttöön tarvittavien käsitteiden määrä on pidetty mahdollisimman pienenä.
Yksinkertaisuus on hyödyllistä myös kehittäjille. Kehittäjäryhmälle Power Fx pyrkii olemaan vähäisen koodin kieli, joka lyhentää ratkaisun rakentamiseen kuluvaa aikaa.
Yhdenmukaisuus Excelin kanssa
Microsoft Power Fx -kieli lainaa paljon asioita Excelin kaavakielestä. Se hyödyntää Excel käyttävien monien tekijöiden Excel tietoa ja kokemusta. Tyyppien, operaattorien ja funktioiden semantiikka muistuttaa Exceliä mahdollisimman paljon.
Jos Excel ei ole vastausta, Power Fx näyttää seuraavaksi SQL:ltä. SQL on Excelin jälkeen seuraavaksi yleisin määrittävä kieli. Se voi antaa ohjeita tietojen toiminnoissa ja vahvassa tyypityksessä, jota Excel ei tee.
Deklaratiivinen
Tekijä kuvaa, mitä hän haluaa logiikan tekevän, ei täsmällisesti miten tai milloin se tulisi tehdä. Tämän lähestymistavan avulla kääntäjä voi optimoida suorittamalla toimintoja rinnakkain, lykkäämällä työtä tarvittaessa sekä asettamalla välimuistiin tallennetut tiedot valmiiksi ja uudelleenkäyttämällä niitä.
Esimerkiksi Excel laskentataulukossa tekijä määrittää solujen väliset suhteet, mutta Excel päättää, milloin ja missä järjestyksessä kaavoja arvioidaan. Vastaavasti voit ajatella kaavoja sovelluksessa uudelleenlaskentana tarpeen mukaan käyttäjän toimintojen, tietokannan muutosten tai ajastintapahtumien perusteella.
Funktionaalinen
Käytä puhtaita funktioita, joilla ei ole sivuvaikutuksia. Tämä lähestymistapa tuottaa logiikan, jota on helpompi ymmärtää ja antaa kääntäjälle eniten vapautta optimoida.
Excel poiketen sovellukset luonnostaan tekevät mutaation tilan. Sovelluksissa on esimerkiksi painikkeita, jotka tallentavat muutoksia tietokannan tietueeseen. Joillakin funktioilla on siis sivuvaikutuksia, vaikka ne rajoittavat näitä sivuvaikutuksia mahdollisimman paljon.
Yhdistäminen
Lisää mahdollisuuksien mukaan toimintoja, jotka toimivat hyvin olemassa olevilla toiminnoilla. Voit hajottaa tehokkaita funktioita pienempiin osiin, joita voit käyttää helpommin itsenäisesti.
Esimerkiksi Valikoima-ohjausobjektilla ei ole erillisiä ominaisuuksia Sort ja Filter. Sen sijaan voit kirjoittaa - ja Filter -Sortfunktiot yhteen Items -ominaisuuteen. Kerrostat käyttöliittymän ilmaisua Sort ja Filter toimintaa varten ominaisuuden Items päälle käyttämällä kaksisuuntaista editoria tälle ominaisuudelle.
Vahva tyypitys
Kaikkien arvojen tyypit tunnetaan kääntäjän aikana. Tämän lähestymistavan avulla virheet ja monipuoliset ehdotukset voidaan havaita aikaisessa vaiheessa luomisen aikana.
Polymorfisia tyyppejä tuetaan, mutta ennen kuin voit käyttää niitä, ne on liitettävä staattiseen tyyppiin, ja kyseinen tyyppi on tiedettävä kääntäjän aikana. IsType- ja AsType-funktiot ovat käytettävissä testaus- ja määritystyyppeinä.
Tyyppipäättely
Tyypit johdetaan niiden käytöstä ilman määrittämistä. Jos muuttujan arvoksi määritetään esimerkiksi numero, muuttujan tyypiksi määritetään numero.
Tyypin käytön ristiriidat aiheuttavat käännösaikavirheen.
Aluekohtaiset asetukset huomioon ottavat desimaalierottimet
Pistettä (.) käytetään desimaalierottimena joillain alueilla, kun taas toisilla alueilla käytetään pilkkua (,). Excel noudattaa tätä alueellista yleissopimusta. Muissa ohjelmointikielissä käytetään yleensä kanonista pistettä (.) desimaalierottimena kaikille käyttäjille ympäri maailmaa. Jotta tekijät kaikilla tasoilla voivat käyttää erottimia, on tärkeää, että 3,14 on desimaaliluku ranskalaiselle, joka on käyttänyt tätä syntaksia koko elämänsä ajan.
Desimaalierottimen valita vaikuttaa myös luetteloerottimeen, jota käytetään funktion kutsuargumentissa, ja ketjutusoperaattorissa.
| Tekijän kielen desimaalierotin | Power Fx:n desimaalierotin | Power Fx:n luetteloerotin | Power Fx:n ketjutusoperaattori |
|---|---|---|---|
| . (piste) | . (piste) | , (pilkku) | ;(puolipiste) |
| , (pilkku) | , (pilkku) | ;(puolipiste) | ;; (kaksinkertainen puolipiste) |
Lisätietoja: Yleinen tuki
Ei olioperusteinen
Excel ei ole objektipohjainen, eikä ole myöskään Power Fx. Joissakin kielissä esimerkiksi merkkijonon pituus ilmastaan merkkijonon ominaisuutena, kuten "Hei maailma".length JavaScriptissä. Excel ja Power Fx ilmaisevat tämän sen sijaan funktiona Len( "Hei maailma" ).
Komponentit, joilla on ominaisuuksia ja menetelmiä, ovat objektikeskeisiä, ja Power Fx toimii helposti niiden kanssa. Mutta mikäli mahdollista, suosi toiminnallista lähestymistapaa.
Laajennettava
Tekijät voivat luoda komponentit ja toiminnot Power Fx:n avulla. Kehittäjät voivat luoda komponentteja ja funktioita kirjoittamalla JavaScriptiä.
Kehittäjälle sopiva
Vaikka tekijät ovat ensisijainen kohde, yritä olla kehittäjille ystävällisiä aina, kun se on mahdollista. Jos se ei ole ristiriidassa aiemmin kuvattujen suunnitteluperiaatteiden kanssa, tee asioita kehittäjän arvostamalla tavalla. Excel ei esimerkiksi voi lisätä kommentteja, joten käytä C-muistuttaa riviä ja tekstiin tallennettuja kommentteja.
Kielen kehittyminen
Ohjelmointikielien muuttuminen on sekä välttämätöntä että hankalaa. Kaikki ovat oikeutetusti huolissaan siitä, että muutos – vaikkakin hyvää tarkoittava – voi rikkoa aiemmin luodun koodin ja edellyttää käyttäjiltä uuden mallin oppimista. Power Fx ottaa yhteensopivuuden aiempien versioiden kanssa vakavasti, mutta Power Fx -tiimi uskoo myös vahvasti, etteivät he aina saa sitä oikein ensimmäisellä kerralla ja että yhteisö oppii yhdessä, mikä on parasta. Ohjelmointikielen on kehityttävä, ja Power Fx on suunniteltu tukemaan kielen kehitystä alusta alkaen.
Jokainen tallennettu Power Fx -asiakirja sisältää kieliversiomerkinnän. Jos Power Fx -tiimi haluaa tehdä yhteensopimattoman muutoksen, hän kirjoittaa niin ikään "takaisinkäsittelymuunnin"-tekstin, joka kirjoittaa kaavan automaattisesti uudelleen seuraavan muokkauksen jälkeen. Jos muutos on merkittävä asia, josta tiimin on koulutettava käyttäjää, sovellus näyttää sanoman, jossa on linkki asiakirjoihin. Käyttämällä tätä toimintoa Power Fx voi edelleen ladata sovelluksia, jotka on luotu Power Apps esikatseluversioilla monta vuotta sitten, huolimatta kaikista sen jälkeen tapahtuneista muutoksista.
Esimerkiksi Power Fx -tiimi esitteli funktion ShowError , joka näyttää virhepalkin punaisella taustalla.
Käyttäjät rakastivat sitä, mutta he pyysivät myös tapaa näyttää onnistumispalkki (vihreä tausta) tai tietopalkki (sininen tausta). Tiimi keksi siis yleisemmän Notify funktion, joka ottaa toisen argumentin ilmoituksen tyypille. Joukkue olisi voinut vain lisätä Notify ja pitää ShowError haluamansa, mutta sen sijaan he korvasivat ShowError kohteen .Notify He poistivat aiemmin tuotannossa olleen funktion ja korvasivat sen jollakin muulla. Koska olisi ollut kaksi tapaa tehdä sama asia, tämä muutos olisi aiheuttanut sekaannusta – erityisesti uusille käyttäjille – ja mikä tärkeintä, se olisi lisännyt monimutkaisuutta. Kukaan ei valittanut, kaikki arvostivat muutosta ja sitten siirryttiin seuraavan ilmoitustoimintoon.
Saman sovelluksen ulkoasu on seuraavanlainen, kun se ladataan Power Appsin uuteen versioon. Käyttäjältä ei vaadittu toimintoja tämän muutoksen suorituksessa. Se tapahtui automaattisesti sovelluksen avaamisen yhteydessä.
Käyttämällä tätä toimintoa Power Fx voi kehittyä nopeammin ja aggressiivisemmin kuin useimmat ohjelmointikielet.
Ei määrittämätöntä arvo
Joissakin kielissä, kuten JavaScriptissä, käytetään määrittämätön-arvon käsitettä muuttujissa, joita ei ole alustettu, tai puuttuvissa ominaisuuksissa. Yksinkertaisuuden vuoksi Power Fx välttää tämän käsitteen. Ilmentymiä, jotka ovat määrittämättömiä muissa kielissä, käsitellään virheinä tai tyhjinä arvoina. Esimerkiksi kaikkien alustamattomien muuttujien alussa on tyhjä arvo. Tyhjää arvoa voi käyttää kaikissa tietotyypeissä.
Liittyvät artikkelit
Tietotyypit
Operaattorit ja tunnisteet
Taulukot
Muuttujat
Imperatiivinen logiikka
Maailmanlaajuinen tuki
Ilmaisun kielioppi
YAML-kaavan kielioppi
Kaavat pohjaan perustuvissa sovelluksissa