Update және UpdateIf функциялары
Қолданылады: Canvas қолданбалары
Үлгіге негізделген қолданбалар
Деректер көзіндегіжазбаларды жаңартады.
Сипаттама
Update функциясы
Update функциясын деректер көзіндегі бүкіл жазбаны ауыстыру үшін пайдаланыңыз. Керісінше, UpdateIf және Patch функциялары жазбадағы бір немесе бірнеше мәнді өзгертеді, ал басқа мәндерді жалғыз қалдырады.
Жинақ үшін бүкіл жазба сәйкес келуі керек. Жинақтар қайталанатын жазбаларға рұқсат етеді, сондықтан бірнеше жазбалар сәйкес болуы мүмкін. Жазбаның барлық көшірмелерін жаңарту үшін RemoveFlags.All аргументін пайдалануға болады; әйтпесе жазбаның бір ғана көшірмесі жаңартылады.
Егер деректер көзі бағанның мәнін автоматты түрде жасаса, сол бағанның мәнін қайта растау керек.
UpdateIf функциясы
UpdateIf функциясын бір немесе бірнеше шартқа сәйкес бір немесе бірнеше жазбада бір немесе бірнеше мәнді өзгерту үшін пайдаланыңыз. Шарт true немесе false мәніне әкелетін кез келген формула болуы мүмкін және деректер көзінің бағандарына атау бойынша сілтеме жасай алады. Функция әр жазбаның шартын есептейді және нәтиже true болатын кез келген жазбаны өзгертеді.
Өзгертуді көрсету үшін жаңа сипат мәндерін қамтитын өзгерту жазбасын пайдаланыңыз. Егер осы өзгеріс жазбасын ирек жақшалармен қамтамасыз етсеңіз, сипат формулалары өзгертіліп жатқан жазбаның сипаттарына сілтеме жасай алады. Бұл мінез-құлықты формула негізінде жазбаларды өзгерту үшін пайдалана аласыз.
UpdateIf функциясына ұқсас, сондай-ақ жазбаның белгілі бір бағандарын басқа бағандарға әсер етпей өзгерту үшін Patch функциясын пайдалануға болады.
Update және UpdateIf функцияларының екеуі де өзгертілген деректер көзін кесте түрінде қайтарады. Функциялардың кез келгенін мінез-құлық формуласында пайдалану керек.
Өкіл
деректер көзі файлымен пайдаланылғанда, бұл функцияларды өкілеттік беру мүмкін емес. Деректер көзінің бірінші бөлімі ғана алынып, функция қолданылады. Бұл толық оқиғаны көрсетпеуі мүмкін. Бұл шектеуді еске түсіру үшін авторлық уақытта ескерту пайда болуы мүмкін.
Делегацияны қолдау
Тек кейбір деректер көздері UpdateIf қызметін қолдайды. Егер деректер көзі бұл мүмкіндікті қолдамаса, Power Apps енді серверге сұрау жібереді және сүзгі өрнегі ең көбі 500 немесе 2000 немесе деректер беті өлшеміне сәйкес келетін барлық деректерді шығарып алады. Содан кейін ол осы жазбаларды жаңартады және әрқайсысын жаңарту үшін серверге жібереді.
Синтаксис
Жаңарту( DataSource, OldRecord, NewRecord [, Жалауларды жою.Барлығын ] )
- Деректер көзі – Міндетті. Сіз ауыстырғыңыз келетін жазбаны қамтитын деректер көзі.
- OldRecord – Міндетті. Ауыстыратын жазба.
- NewRecord – Міндетті. Ауыстыратын жазба. Бұл өзгеріс жазбасы емес. Бүкіл жазба ауыстырылады және жетіспейтін сипаттар blank мәнін қамтиды.
- RemoveFlags.All – Қосымша. Жинақта бір жазба бірнеше рет көрінуі мүмкін. Жазбаның барлық көшірмелерін жаңарту үшін RemoveFlags.All аргументін көрсетіңіз.
ЖаңартуЕгер( Дереккөз, 1-шарт, Жазбаны өзгерту1 [, 2-шарт, Жазбаны2 өзгерту, ... ])
- Деректер көзі – Міндетті. Өзгерткіңіз келетін жазбаны немесе жазбаларды қамтитын деректер көзі.
- Шарттар – Міндетті. Өзгерткіңіз келетін жазба немесе жазбалар үшін есептегенде true мәнін беретін формула. Сіз DataSource баған атауларын формулада пайдалана аласыз.
- Жазбаларды өзгерту - Міндетті. Әр сәйкес шарт үшін шартқа сай DataSource жазбаларына қолданатын жаңа сипат мәндерінің өзгеріс жазбасы. Егер сіз жазбаны ирек жақшаларды пайдалана отырып көрсетсеңіз, бар жазбаның сипат мәндерін сипат формулаларында пайдалануға болады.
Мысалдар
Осы мысалдарда сіз IceCream деп аталатын және мына кестедегі деректерден басталатын деректер көзіндегі жазбаларды ауыстырасыз немесе өзгертесіз:
Формула | Сипаттамасы | Нәтиже |
---|---|---|
Жаңарту( балмұздақ, First( Filter( IceCream, Flavor="Chocolate" ) ), { ID: 1, Flavor: "Mint Chocolate", Quantity:150 } ) |
Жазбаны деректер көзінен ауыстырады. |
![]() IceCream деректер көзі өзгертілді. |
UpdateIf( IceCream, Саны > 175, { Саны: Саны + 10 } ) | Quantity мәні 175-тен үлкенірек жазбаларды өзгертеді. Quantity өрісі 10 қадамымен арттырылады және ешбір басқа өрістер өзгертілмейді. |
![]() IceCream деректер көзі өзгертілді. |
Жаңарту (балмұздақ, First( Filter( IceCream, Flavor="Strawberry" ) ), { ID: 3, Flavor: "Strawberry Swirl"} ) |
Жазбаны деректер көзінен ауыстырады. Ауыстыру жазбасында Quantity сипаты берілмеген, сондықтан бұл сипат нәтижеде blank болады. |
![]() IceCream деректер көзі өзгертілді. |
UpdateIf( IceCream, шын, { Саны: 0 } ) | Деректер көзіндегі барлық жазбалардың Quantity сипатының мәнін 0-ге орнатады. |
![]() IceCream деректер көзі өзгертілді. |
Қадамдық
Галереяда деректерді көрсету бөлімінде сипатталғандай Қор деп аталатын жинақты импорттайды немесе жасайды.
Галереяны ProductGallery деп атаңыз.
UnitsSold деп аталатын жүгірткіні қосыңыз және оның Max сипатын мына өрнекке орнатыңыз:
ProductGallery.Selected.UnitsInStockТүймешік қосыңыз және оның OnSelect сипатын мына формулаға орнатыңыз:
ЖаңартуЕгер(Түгендеу, ӨнімАты = ӨнімГалереясы.Таңдалған.ӨнімАты, {UnitsInStock:UnitsInStock-UnitsSold.Value})F5 пернесін басыңыз, галереяда өнімді таңдаңыз, жүгірткімен мәнді көрсетіңіз, содан кейін түймешікті таңдаңыз.
Сіз көрсеткен өнімнің қордағы бірліктер саны сіз көрсеткен мөлшерге азаяды.