Partekatu honen bidez:


Funtzioarekin

Hauei aplikatzen zaie: Canvas aplikazioak Mahaigaineko fluxuak Modeloetan oinarritutako aplikazioak Power Pages Power Platform CLI

Balioak kalkulatzen ditu eta erregistro bakar baterako ekintzak egiten ditu, izendatutako balioen erlazionatutako erregistroak barne.

Deskribapenak

With funtzioak erregistro bakarraren formula ebaluatzen du. Formulak balio bat kalkulatu eta / edo ekintzak burutu ditzake, hala nola, datuak aldatu edo konexio batekin lan egitea. Erabili ForAll Funtzioa erregistro taulan dauden erregistro guztientzako formula bat ebaluatzeko.

Une honetan prozesatzen ari den erregistroko eremuak erabilgarri daude formulan. Beste balio bat erabili nahi baduzu, erabili ThisRecord eragilea edo aipatu eremuak beren izenen arabera. As eragilea erabil daiteke prozesatuko den erregistroari izena jartzeko; horri esker, formula errazagoa izango da eta habiaratutako erregistroak erabilerrazagoak izango dira. Informazio gehiago lortzeko, ikusi beheko adibideak eta erregistro-esparruarekin lan egitea.

Erabili With funtzioa formula konplexuen irakurterraztasuna hobetzeko, azpimultzo izendatu txikiagoetan banatuz. Balio izendatu horiek tokiko aldagai soil bezala jokatzen dute With propietatearen esparruan. UpdateContext funtzioarekin erabiltzen den erlazionatutako erregistroaren sintaxi bera erabil daiteke With funtzioarekin. With erbailtzea hobesten da testuinguru edo aldagai orokorren ordez, autonomoa eta ulertzeko erraza delako eta edozein adierazpen-testuingurutan erabil daitekeelako.

Erabili With Adabaki edo bezalako funtzioek itzultzen dituzten erregistroko eremuetara sartzeko. With formulak funtzio horietako balioa nahiko luze mantentzen du kalkulu edo ekintza gehiagotan erabiltzeko.

Erregistroa argumentua With formularekiko errorea bada, funtzioak akatsa itzuliko du eta formula ez da ebaluatuko.

Sintaxia

With( erregistroa, Formula )

  • Erregistroa – Beharrezkoa. Erabili beharreko erregistroa. Izenen balioetarako, erabili erlazionatutako sintaxi hau: { name1: value1, name2: value2, ... }
  • Formula – Beharrezkoa. Erregistro bakoitzerako ebaluatzeko formula. Formulak Erregistro-ko edozein eremuri egin diezaioke erreferentzia zuzenean erregistro-esparru gisa.

Adibideak

Izendatutako balio sinpleak

With( { radius: 10,
        height: 15 },
    Pi() * (radius*radius) * height
)
// Result: 4712.38898038 (as shown in a label control)

Adibide honek izendatutako balioen erregistro bat erabiltzen du zilindro baten bolumena kalkulatzeko. With sarrerako balio guztiak batera ateratzeko erabiltzen da, kalkulutik bereizi ahal izateko.

With habiaratua

Interes-kalkulagailua With funtzioa erabiliz.

With( { AnnualRate: RateSlider/8/100,        // slider moves in 1/8th increments and convert to decimal
        Amount: AmountSlider*10000,          // slider moves by 10,000 increment
        Years: YearsSlider,                  // slider moves in single year increments, no adjustment required
        AnnualPayments: 12 },                // number of payments per year
      With( { r: AnnualRate/AnnualPayments,  // interest rate
              P: Amount,                     // loan amount
              n: Years*AnnualPayments },     // number of payments
            r*P / (1 - (1+r)^-n)             // standard interest calculation
      )
)

Adibide honek With funtzioa habiaratzen du bi mailatako kalkulua sortzeko hileko hipotekaren ordainketetarako. Gatazkarik ez dagoen bitartean, kanpoko With balio izendatu guztiak barruko With-en eskuragarri daude.

Graduatzaile-kontrolak 1-eko gehikuntzatan bakarrik mugi daitezkeenez, graduatzaileak zatitu edo biderkatu egiten dira gehikuntza pertsonalizatua modu eraginkorrean sortzeko. Interes-tasaren kasuan, RateSlider propietateak Gehienezko propietatea 48 gisa du ezarrita, 8tan zatitzen da 1/8 puntuko gehikuntzarako eta 100 bider zatitzen da ehuneko batetik hamartar bihurtzeko, % 0,125 eta % 6 bitarteko tartea estaliz. Maileguaren zenbatekoaren kasuan, AmountSlider propietateak Gehienezko propietatea 60 gisa du ezarrita eta 10.000 biderkatuta, 10.000 eta 600.000 bitarteko tartea estaliz.

With automatikoki birkalkulatzen da graduatzaileak mugitu ahala eta maileguaren ordainketa berria bistaratzen den heinean. Ez da aldagairik erabiltzen eta ez da beharrezkoa graduatzaile-kontrolen OnChange propietatea erabiltzea.

Hona hemen aplikazioa sortzeko argibide zehatzak:

  1. Sortu aplikazio bat.
  2. Gehitu Graduatzaile kontrola eta izendatu honela: RateSlider. Ezarri Gehienezko propietatea 48 gisa.
  3. Gehitu Etiketaren kontrola graduatzaile-kontrolaren ezkerraldean. Ezarri bere Testuaren propietatea honetan: "Interes-tasa:".
  4. Gehitu Etiketaren kontrola graduatzaile-kontrolaren eskuinaldean. Ezarri bere Text propietatea formulan RateSlider/8 & "%".
  5. Gehitu beste graduatzaile kontrol bat eta izendatu honela: AmountSlider. Ezarri Gehienezko propietatea 60 gisa.
  6. Gehitu etiketaren kontrol bat graduatzaile-kontrolaren ezkerraldean. Ezarri bere Testuaren propietatea honetan: "Loan Amount:".
  7. Gehitu Etiketaren kontrola graduatzaile-kontrolaren eskuinaldean. Ezarri bere testuaren propietatea formula honetan: AmountSlider/8 * 10000.
  8. Gehitu beste graduatzaile kontrol bat eta izendatu honela: YearsSlider. Ezarri Gehienezko propietatea 40 gisa.
  9. Gehitu etiketaren kontrol bat graduatzaile-kontrolaren ezkerraldean. Ezarri bere Testuaren propietatea honetan: "Urte kopurua:".
  10. Gehitu Etiketaren kontrola graduatzaile-kontrolaren eskuinaldean. Ezarri bere Testuaren propietatea formula honetan: YearsSlider.
  11. Gehitu Label kontrola eta ezarri horren Testua propietatea goian erakutsitako formulan:
  12. Gehitu etiketaren kontrola azken etiketaren kontrolaren ezkerraldean. Ezarri bere Testua propietatea honetan: "Hileroko ordainketa errepikatua:".

Adabakitik itzulitako gako nagusia

With( Patch( Orders, Defaults( Orders ), { OrderStatus: "New" } ),
      ForAll( NewOrderDetails,
              Patch( OrderDetails, Defaults( OrderDetails ),
                     { Order: OrderID,          // from With's first argument, primary key of Patch result
                       Quantity: Quantity,      // from ForAll's NewOrderDetails table
                       ProductID: ProductID }   // from ForAll's NewOrderDetails table
              )
      )
)

Adibide honek erregistro bat gehitzen du Eskaeraren taulan, SQL Server-en. Eskaeraren itzultzeko gako nagusia erabiltzen du, Patch funtzioak itzulitakoa OrderID eremutik, erlazionatutako erregistroak sortzeko OrderDetails taulan.

Ateratako balioak ohiko adierazpenarekin

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)

Adibide honek orduak, minutuak eta segundoak ateratzen ditu ISO 8601 iraupenaren balio batetik eta ondoren azpi-emaitza hauek erabiltzen ditu Data/Ordua balioa sortzeko.

Kontuan izan azpimultzoak zenbakiak dituzten arren, testu-kate batean daudela. Erabili Value funtzioa zenbaki batera bihurtzeko eragiketa matematikoak egin aurretik.

Mapeatu erregistro bat osagai batean

Ikusi Esleitu erregistroa.