Share via


Update және UpdateIf функциялары

Қолданылады: Canvas қолданбалары Үлгіге негізделген қолданбалар

Деректер көзіндегіжазбаларды жаңартады.

Сипаттама

Update функциясы

Update функциясын деректер көзіндегі бүкіл жазбаны ауыстыру үшін пайдаланыңыз. Керісінше, UpdateIf және Patch функциялары жазбадағы бір немесе бірнеше мәнді өзгертеді, ал басқа мәндерді жалғыз қалдырады.

Жинақ үшін бүкіл жазба сәйкес келуі керек. Жинақтар қайталанатын жазбаларға рұқсат етеді, сондықтан бірнеше жазбалар сәйкес болуы мүмкін. Жазбаның барлық көшірмелерін жаңарту үшін RemoveFlags.All аргументін пайдалануға болады; әйтпесе, жазбаның бір ғана көшірмесі жаңартылады.

Егер деректер көзі бағанның мәнін автоматты түрде жасаса, сол бағанның мәнін қайта растау керек.

UpdateIf функциясы

UpdateIf функциясын бір немесе бірнеше шартқа сәйкес бір немесе бірнеше жазбада бір немесе бірнеше мәнді өзгерту үшін пайдаланыңыз. Шарт true немесе false мәніне әкелетін кез келген формула болуы мүмкін және деректер көзінің бағандарына атау бойынша сілтеме жасай алады. Функция әр жазбаның шартын есептейді және нәтиже true болатын кез келген жазбаны өзгертеді.

Өзгертуді көрсету үшін жаңа сипат мәндерін қамтитын өзгерту жазбасын пайдаланыңыз. Егер осы өзгеріс жазбасын ирек жақшалармен қамтамасыз етсеңіз, сипат формулалары өзгертіліп жатқан жазбаның сипаттарына сілтеме жасай алады. Бұл мінез-құлықты формула негізінде жазбаларды өзгерту үшін пайдалана аласыз.

UpdateIf функциясына ұқсас, сондай-ақ жазбаның белгілі бір бағандарын басқа бағандарға әсер етпей өзгерту үшін Patch функциясын пайдалануға болады.

Update және UpdateIf функцияларының екеуі де өзгертілген деректер көзін кесте түрінде қайтарады. Функциялардың кез келгенін мінез-құлық формуласында пайдалану керек.

Өкіл

деректер көзі файлымен пайдаланылғанда, бұл функцияларды өкілеттік беру мүмкін емес. Деректер көзінің бірінші бөлімі ғана алынып, функция қолданылады. Бұл толық оқиғаны көрсетпеуі мүмкін. Бұл шектеуді еске түсіру үшін авторлық уақытта ескерту пайда болуы мүмкін.

Делегацияны қолдау (эксперименттік)

UpdateIf және RemoveIf үшін өкілдік қолдау қазір оны қолдайтын деректер көздері үшін Эксперименттік алдын ала қарау режимінде (әдепкі ӨШІРУЛІ). Егер деректер көзі бұл мүмкіндікті қолдамаса, Power Apps енді серверге сұрау жібереді және сүзгі өрнегі 500, 2000 немесе деректер беті өлшеміне сәйкес келетін барлық деректерді шығарып алады. Содан кейін ол осы жазбаларды жаңартады және әрқайсысын жаңарту үшін серверге жібереді.

Синтаксис

Жаңарту( DataSource, OldRecord, NewRecord [, Жалауларды жою.Барлығын ] )

  • DataSource – Міндетті. Сіз ауыстырғыңыз келетін жазбаны қамтитын деректер көзі.
  • OldRecord – Міндетті. Ауыстыратын жазба.
  • NewRecord – Міндетті. Ауыстыратын жазба. Бұл өзгеріс жазбасы емес. Бүкіл жазба ауыстырылады және жетіспейтін сипаттар blank мәнін қамтиды.
  • RemoveFlags.All – Қосымша. Жинақта бір жазба бірнеше рет көрінуі мүмкін. Жазбаның барлық көшірмелерін жаңарту үшін RemoveFlags.All аргументін көрсетіңіз.

UpdateIf( DataSource, Condition1, ChangeRecord1 [, Condition2, ChangeRecord2, ... ] )

  • DataSource – Міндетті. Өзгерткіңіз келетін жазбаны немесе жазбаларды қамтитын деректер көзі.
  • Condition(s) - Міндетті. Өзгерткіңіз келетін жазба немесе жазбалар үшін есептегенде true мәнін беретін формула. Сіз DataSource баған атауларын формулада пайдалана аласыз.
  • ChangeRecord(s) – Міндетті. Әр сәйкес шарт үшін шартқа сай DataSource жазбаларына қолданатын жаңа сипат мәндерінің өзгеріс жазбасы. Егер сіз жазбаны ирек жақшаларды пайдалана отырып көрсетсеңіз, бар жазбаның сипат мәндерін сипат формулаларында пайдалануға болады.

Мысалдар

Осы мысалдарда сіз IceCream деп аталатын және мына кестедегі деректерден басталатын деректер көзіндегі жазбаларды ауыстырасыз немесе өзгертесіз:

Icecream мысалы.

Формула Сипаттамасы Нәтиже
Update( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ), { ID: 1, Flavor: "Mint Chocolate", Quantity:150 } )
Жазбаны деректер көзінен ауыстырады. Жазбаны ауыстырыңыз.

IceCream деректер көзі өзгертілді.
UpdateIf( IceCream, Quantity > 175, { Quantity: Quantity + 10 } ) Quantity мәні 175-тен үлкенірек жазбаларды өзгертеді. Quantity өрісі 10 қадамымен арттырылады және ешбір басқа өрістер өзгертілмейді. Жазбаларды өзгерту.

IceCream деректер көзі өзгертілді.
Update( IceCream,
First( Filter( IceCream, Flavor="Strawberry" ) ),
{ ID: 3, Flavor: "Strawberry Swirl"} )
Жазбаны деректер көзінен ауыстырады. Ауыстыру жазбасында Quantity сипаты берілмеген, сондықтан бұл сипат нәтижеде blank болады. Саны жеткізілмеген кезде жазбаны ауыстырыңыз.

IceCream деректер көзі өзгертілді.
UpdateIf( IceCream, true, { Quantity: 0 } ) Деректер көзіндегі барлық жазбалардың Quantity сипатының мәнін 0-ге орнатады. Барлығы үшін мөлшерді 0-ге орнатыңыз.

IceCream деректер көзі өзгертілді.

Қадамдық

  1. Галереяда деректерді көрсету бөлімінде сипатталғандай Қор деп аталатын жинақты импорттайды немесе жасайды.

  2. Галереяны ProductGallery деп атаңыз.

  3. UnitsSold деп аталатын жүгірткіні қосыңыз және оның Max сипатын мына өрнекке орнатыңыз:
    ProductGallery.Selected.UnitsInStock

  4. Түймешік қосыңыз және оның OnSelect сипатын мына формулаға орнатыңыз:
    UpdateIf(Inventory, ProductName = ProductGallery.Selected.ProductName, {UnitsInStock:UnitsInStock-UnitsSold.Value})

  5. F5 пернесін басыңыз, галереяда өнімді таңдаңыз, жүгірткімен мәнді көрсетіңіз, содан кейін түймешікті таңдаңыз.

    Сіз көрсеткен өнімнің қордағы бірліктер саны сіз көрсеткен мөлшерге азаяды.