अपडेट और अपडेटइफ फ़ंक्शन

इन पर लागू होता है: कैनवास ऐप्स मॉडल-संचालित ऐप्स

डेटा स्रोत में रिकॉर्ड अद्यतन करते हैं.

विवरण

Update फ़ंक्शन

डेटा स्रोत में पूरे रिकॉर्ड को बदलने के लिए Update फ़ंक्शन का उपयोग करें. इसके विपरीत, UpdateIf और Patch फ़ंक्शन रिकॉर्ड में एक या अधिक मानों को संशोधित करते हैं और अन्य मानों को अकेला छोड़ देते हैं.

संग्रह के लिए, समस्त रिकॉर्ड मैच करना चाहिए. संग्रह डुप्लिकेट रिकॉर्ड की अनुमति देते हैं, इसलिए कई रिकॉर्ड मैच कर सकते हैं. आप रिकॉर्ड की सभी प्रतियों को अपडेट करने के लिए RemoveFlags.All तर्क का उपयोग कर सकते हैं; अन्यथा, रिकॉर्ड की केवल एक प्रति अद्यतन की जाती है।

यदि डेटा स्रोत स्वचालित रूप से किसी स्तंभ का मान जनरेट करता है, तो उस स्तंभ के मान की पुनः पुष्टि की जानी चाहिए.

UpdateIf फ़ंक्शन

एक या अधिक शर्तों से मैच करने वाले एक या अधिक रिकॉर्ड में एक या अधिक मानों को संशोधित करने के लिए UpdateIf फ़ंक्शन का उपयोग करें. शर्त कोई भी ऐसा सूत्र हो सकती है, जिसका परिणाम सही या गलत होता है और जो नाम के अनुसार डेटा स्रोत के स्तंभों को संदर्भित कर सकती है. फ़ंक्शन, प्रत्येक रिकॉर्ड के लिए शर्त का मूल्यांकन करता है और किसी भी ऐसे रिकॉर्ड को संशोधित करता है, जिसके लिए परिणाम सही होता है.

संशोधन निर्दिष्ट करने के लिए, एक ऐसे परिवर्तन रिकॉर्ड का उपयोग करें, जिसमें नए गुण मान शामिल हों. यदि आप घुमावदार धनुकोष्ठक में यह परिवर्तन रिकॉर्ड इनलाइन प्रदान करते हैं, तो गुण सूत्र संशोधित किए जा रहे रिकॉर्ड के गुणों को संदर्भित कर सकते हैं. आप सूत्र के आधार पर रिकॉर्ड को संशोधित करने के लिए इस व्यवहार का उपयोग कर सकते हैं.

UpdateIf के समान, आप रिकॉर्ड के अन्य स्तंभों को प्रभावित किए बिना विशिष्ट स्तंभों को बदलने के लिए भी Patch फ़ंक्शन का उपयोग कर सकते हैं.

Update और UpdateIf दोनों संशोधित डेटा स्रोत को एक तालिका के रूप में दिखाते हैं. आपको व्यवहार सूत्र के अंदर किसी एक फ़ंक्शन का उपयोग करना होगा.

प्रत्यायोजन

जब डेटा स्रोत के साथ प्रयोग किया जाता है, तो इन कार्यों को प्रत्यायोजित नहीं किया जा सकता है। डेटा स्रोत का केवल पहला भाग पुनर्प्राप्त किया जाएगा और फिर फ़ंक्शन लागू होगा. यह पूरी कहानी का प्रतिनिधित्व नहीं कर सकता है। आपको इस सीमा की याद दिलाने के लिए लेखन के समय एक चेतावनी दिखाई दे सकती है।

प्रतिनिधिमंडल का समर्थन (प्रायोगिक)

अपडेटइफ और रिमूवइफ के लिए प्रतिनिधिमंडल समर्थन अब उन डेटा स्रोतों के लिए प्रायोगिक पूर्वावलोकन (डिफ़ॉल्ट बंद) में है जो इसका समर्थन करते हैं। यदि डेटा स्रोत इस सुविधा का समर्थन नहीं करता है, तो Power Apps अब सर्वर पर एक क्वेरी भेजेगा और अधिकतम 500, 2000 या डेटा पृष्ठ आकार तक फ़िल्टर अभिव्यक्ति से मेल खाने वाले सभी डेटा को पुनर्प्राप्त करेगा। फिर, यह उन रिकॉर्ड्स को अपडेट करेगा और प्रत्येक को अपडेट होने के लिए सर्वर पर वापस भेज देगा।

सिंटैक्स

अपडेट( डेटा स्रोत, OldRecord, NewRecord [, RemoveFlags.All ] )

  • DataSource – आवश्यक है. वह डेटा स्रोत, जिसमें वह रिकॉर्ड शामिल है, जिसे आप बदलना चाहते हैं.
  • OldRecord – आवश्यक. बदला जाने वाला रिकॉर्ड.
  • NewRecord – आवश्यक. प्रतिस्थापन रिकॉर्ड. यह परिवर्तन रिकॉर्ड नहीं है. पूरा रिकॉर्ड बदला गया है और अनुपलब्ध गुणों में रिक्त शामिल होगा.
  • रिमूवफ्लैग्स.सभी - वैकल्पिक। एक संग्रह में, एक ही रिकॉर्ड एक से अधिक बार दिखाई दे सकता है. रिकॉर्ड की सभी प्रतियों को अद्यतन करने के लिए RemoveFlags.All तर्क निर्दिष्ट करें।

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

  • DataSource – आवश्यक है. वह डेटा स्रोत, जिसमें वह रिकॉर्ड या वे रिकॉर्ड्स शामिल हैं, जिन्हें आप संशोधित करना चाहते हैं.
  • शर्त(शर्तें) – आवश्यक. वह सूत्र, जिसका उस रिकॉर्ड या उन रिकॉर्ड्स के लिए सही मूल्यांकन किया जाता है, जिसे या जिन्हें आप संशोधित करना चाहते हैं. आप सूत्र में DataSource के स्तंभ नामों का उपयोग कर सकते हैं.
  • ChangeRecord(s) - आवश्यक. प्रत्येक संगत शर्त के लिए, DataSource के रिकॉर्ड्स पर लागू किए जाने वाले नए गुण मानों का एक परिवर्तन रिकॉर्ड, जो शर्त को पूरा करता है. यदि आप घुमावदार धनुकोष्ठक का उपयोग करके रिकॉर्ड इनलाइन प्रदान करते हैं, तो गुण सूत्रों में मौजूदा रिकॉर्ड के गुण मानों का उपयोग किया जा सकता है.

उदाहरण

इन उदाहरणों में, आप IceCream नामक डेटा स्रोत, जो इस तालिका में डेटा से शुरू होता है, में रिकॉर्ड्स बदलेंगे या संशोधित करेंगे .

IceCream उदाहरण.

सूत्र विवरण परिणाम
अपडेट( IceCream,
पहला( फ़िल्टर( आइसक्रीम, फ़्लेवर="चॉकलेट") ), { ID: 1, Flavor: "Mint Chocolate", Quantity:150 } )
डेटा स्रोत के एक रिकॉर्ड को बदलता है. एक रिकॉर्ड बदलें.

IceCream डेटा स्रोत को संशोधित किया गया है.
UpdateIf( IceCream, मात्रा > 175, { Quantity: Quantity + 10 } ) 175 से अधिक Quantity वाले रिकॉर्ड्स को संशोधित करता है. Quantity फ़ील्ड में 10 की वृद्धि की गई है और कोई अन्य फ़ील्ड संशोधित नहीं की गई है. रिकॉर्ड संशोधित करें.

IceCream डेटा स्रोत को संशोधित किया गया है.
अपडेट( IceCream,
पहला (फ़िल्टर ( IceCream, स्वाद = "स्ट्रॉबेरी")),
{ ID: 3, Flavor: "Strawberry Swirl"} )
डेटा स्रोत के एक रिकॉर्ड को बदलता है. Quantity गुण को प्रतिस्थापन रिकॉर्ड में नहीं प्रदान किया गया है, ताकि परिणाम में गुण रिक्त हो. मात्रा की आपूर्ति न होने पर रिकार्ड बदलें।

IceCream डेटा स्रोत को संशोधित किया गया है.
UpdateIf( IceCream, true, { Quantity: 0 } ) डेटा स्रोत में सभी रिकॉर्ड के लिए Quantity गुण के मान को 0 पर सेट करता है. सभी के लिए मात्रा 0 पर सेट करें।

IceCream डेटा स्रोत को संशोधित किया गया है.

चरण दर चरण

  1. Inventory नामक संग्रह आयात करें या बनाएँ और उसे गैलरी में गैलरी में डेटा दिखाएँ के रूप में प्रदर्शित करें.

  2. गैलरी को ProductGallery नाम दें.

  3. UnitsSold नामक एक स्लाइडर जोड़ें और उसके Max गुण को इस व्यंजक पर सेट करें:
    ProductGallery.Selected.UnitsInStock

  4. एक बटन जोड़ें और उसके OnSelect गुण को इस सूत्र पर सेट करें:
    UpdateIf(Inventory, ProductName = ProductGallery.Selected.ProductName, {UnitsInStock:UnitsInStock-UnitsSold.Value})

  5. F5 दबाएं, गैलरी में एक उत्पाद चुनें, स्लाइडर के साथ एक मान निर्दिष्ट करें और उसके बाद बटन चुनें.

    आपके द्वारा निर्दिष्ट उत्पाद के लिए स्टॉक में इकाइयों की संख्या आपके द्वारा निर्दिष्ट मात्रा में घट जाती है.