इसके माध्यम से साझा किया गया


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

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

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

विवरण

Update फ़ंक्शन

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

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

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

UpdateIf फ़ंक्शन

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

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

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

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

प्रत्यायोजन

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

प्रतिनिधिमंडल का समर्थन

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

सिंटैक्स

अपडेट( डेटा स्रोत, पुराना रिकॉर्ड, नया रिकॉर्ड [, RemoveFlags.All ] )

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

अपडेटइफ़( डेटा स्रोत, स्थिति1, ChangeRecord1 [, Condition2, ChangeRecord2, ... ] )

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

उदाहरण

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

IceCream उदाहरण.

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

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

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

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

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

चरण दर चरण

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

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

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

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

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

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