AddColumns, DropColumns, RenameColumns, और ShowColumns फ़ंक्शन

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

एक तालिका को, इसके स्तंभ जोड़ कर, छोड़ कर, नाम बदल कर और चयन करके आकार देता है.

**ForAll फ़ंक्शन का उपयोग मौजूदा स्तंभों से बनाए गए नए रिकॉर्डों की तालिका लौटाकर, तालिका को आकार देने के लिए भी किया जा सकता है।

ओवरव्यू

ये फ़ंक्शन, तालिका को इसके स्तंभों को समायोजित करके आकार देते हैं:

  • एकाधिक स्तंभों वाली तालिका को एकल स्तंभ तक कम करें, ताकि इसे एकल-स्तंभ फ़ंक्शनों के साथ उपयोग किया जा सके, जैसे कि Lower या Sqrt.
  • परिकलित स्तंभ को एक तालिका में जोड़ें (उदाहरण के लिए, कुल मूल्य स्तंभ जो मात्रा को इकाई मूल्य से गुणा करने के परिणामों को दर्शाता है).
  • उपयोगकर्ताओं को प्रदर्शित करने के लिए या सूत्रों में उपयोग के लिए, स्तंभ का नाम किसी सार्थक नाम में बदलें.

Power Apps में तालिका एक मान होती है, स्ट्रिंग या संख्या की तरह. आप एक सूत्र में एक तालिका को एक तर्क के रूप में निर्दिष्ट कर सकते हैं, और परिणामस्वरूप फ़ंक्शन एक तालिका को वापस लौटा सकते हैं.

नोट

इस विषय द्वारा वर्णित फ़ंक्शन मूल तालिका को संशोधित नहीं करते हैं. इसके बजाय, वे उस तालिका को एक तर्क के रूप में लेते हैं और परिवर्तन लागू करने के बाद एक नई तालिका लौटाते हैं. अधिक जानकारी के लिए, तालिकाओं के साथ कार्य करना देखें।

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

विवरण

AddColumns फ़ंक्शन एक स्तंभ को तालिका में जोड़ता है, और एक सूत्र उस स्तंभ में मानों को परिभाषित करता है. मौजूदा कॉलम असंशोधित रहते हैं.

तालिका के सभी रिकॉर्ड के लिए सूत्र का मूल्यांकन किया जाता है.

वर्तमान में संसाधित की जा रही रिकॉर्ड की फ़ील्ड फ़ॉर्मूला में उपलब्ध हैं. ThisRecord ऑपरेटर या केवल नाम से संदर्भ फ़ील्ड का उपयोग करें, जैसे आप किसी अन्य मान के साथ करेंगे. संसाधित किए जा रहे रिकॉर्ड को नाम देने के लिए As ऑपरेटर का भी उपयोग किया जा सकता है, जो आपके सूत्र को समझ पाना आसान बना सकता है और नेस्टेड रिकॉर्ड को सुलभ बना सकता है. अधिक जानकारी के लिए, नीचे दिए गए उदाहरणों को देखें और रिकॉर्ड कार्यक्षेत्र के साथ कार्य करें.

DropColumns फ़ंक्शन एक तालिका में स्तंभों को शामिल नहीं करता है. सभी अन्य कॉलम असंशोधित रहते हैं. DropColumns स्तंभों को शामिल नहीं करता है, और ShowColumns स्तंभों को शामिल करता है.

तर्क का कम से कम एक जोड़ा, जो ऐसे स्तंभ का नाम जो तालिका में शामिल है (पुराना नाम, जिसे आप बदलना चाहते हैं) और ऐसे स्तंभ का नाम जो तालिका में शामिल नहीं है (नया नाम, जिसका आप उपयोग करना चाहते हैं) निर्दिष्ट करता है, प्रदान करके तालिका के एक या अधिक स्तंभों को पुनर्नामित करने के लिए RenameColumns फ़ंक्शन का उपयोग करें. पुराना नाम पहले से ही तालिका में मौजूद होना चाहिए, और नया नाम मौजूद नहीं होना चाहिए. प्रत्येक स्तंभ नाम तर्क सूची में केवल एक बार ही प्रकट हो सकता है, या तो पुराने स्तंभ नाम के रूप में या नए स्तंभ नाम के रूप में। किसी स्तंभ को मौजूदा स्तंभ नाम में पुनर्नामित करने के लिए, पहले DropColumns से मौजूदा स्तंभ को छोड़ें या एक RenameColumns फ़ंक्शन को दूसरे फ़ंक्शन के भीतर रखकर मौजूदा स्तंभ को पुनर्नामित करें.

ShowColumns फ़ंक्शन, तालिका के सभी स्तंभों को शामिल करता है और अन्य सभी स्तंभों को छोड़ देता है. आप ShowColumns का उपयोग एक बहु-स्तंभ तालिका से एकल-स्तंभ तालिका बनाने के लिए कर सकते हैं. ShowColumns स्तंभों को शामिल करता है, और DropColumns स्तंभों को शामिल नहीं करता है.

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

इन फ़ंक्शन के तर्क प्रत्यायोजन का समर्थन करते हैं. उदाहरण के लिए, तर्क के रूप में Filter फ़ंक्शन का उपयोग किया गया ताकि सभी सूचियों से संबंधित रिकॉर्ड्स खोज को निकाला जा सके, भले ही '[dbo]. [AllListings]' डेटा स्रोत में एक लाख पंक्तियाँ हों:

AddColumns( RealEstateAgents,
   Listings,
   Filter(  '[dbo].[AllListings]', ListingAgentName = AgentName )
)

हालाँकि, इन फ़ंक्शन का आउटपुट गैर-प्रत्यायोजन रिकॉर्ड सीमा के अधीन है. इस उदाहरण में, केवल 500 रिकॉर्ड वापस लौटाए जाते हैं भले ही RealEstateAgents डेटा स्रोत के पास 501 या उससे अधिक रिकॉर्ड हों.

यदि आप इस तरीके से AddColumns का उपयोग करते हैं, तो Filter को RealEstateAgentsमें प्रत्येक प्रथम रिकॉर्ड के लिए डेटा स्रोत पर अलग-अलग कॉल करनी होगी, जिससे नेटवर्क में बहुत अधिक गड़बड़ी होती है। यदि [dbo](.[AllListings] काफी छोटा है और अक्सर नहीं बदलता है। जब आपका ऐप शुरू होता है तो उसमें डेटा स्रोत को कैश करने के लिए आप OnStart में Collect फ़ंक्शन को कॉल कर सकते हैं। एक विकल्प के रूप में, आप अपने ऐप का पुनर्निर्माण कर सकते हैं ताकि उपयोगकर्ता द्वारा पूछे जाने पर आप संबंधित रिकॉर्ड पुल कर सकें.

नोट

संस्करण 3.24042 से पहले, स्तंभ नामों को दोहरे उद्धरण चिह्नों का उपयोग करके एक टेक्स्ट स्ट्रिंग के साथ निर्दिष्ट किया जाता था, और यदि उन्हें डेटा स्रोत से जोड़ा जाता था तो उन्हें तार्किक नाम भी होना चाहिए था। Power Apps उदाहरण के लिए, उद्धरण चिह्नों के बिना प्रदर्शन नाम नाम के स्थान पर तार्किक नाम "cr43e_name" दोहरे उद्धरण चिह्नों के साथ" का उपयोग किया गया था। SharePoint और Excel डेटा स्रोतों के लिए जिनमें रिक्त स्थान के साथ स्तंभ नाम होते हैं, प्रत्येक रिक्त स्थान को "_x0020_" के साथ निर्दिष्ट किया गया था, उदाहरण के लिए "स्तंभ नाम" के रूप में "स्तंभ_x0020_नाम". इस संस्करण के बाद, सभी ऐप्स स्वचालित रूप से इस आलेख में वर्णित नए सिंटैक्स में अपडेट हो गए।

सिंटैक्स

AddColumns( Table, ColumnName1, Formula1 [, ColumnName2, Formula2, ...] )

  • Table - आवश्यक. वह तालिका जिस पर कार्रवाई की जानी है.
  • ColumnName(s) - आवश्यक. जोड़े जाने वाले स्तंभों के नाम.
  • Formula(s) - आवश्यक. प्रत्येक रिकॉर्ड के मूल्यांकन हेतु सूत्र. परिणाम को संबंधित नए स्तंभ के मान के रूप में जोड़ा जाता है. आप इस सूत्र में तालिका के अन्य स्तंभों को संदर्भित कर सकते हैं.

DropColumns( Table, ColumnName1 [, ColumnName2, ... ] )

  • Table - आवश्यक. वह तालिका जिस पर कार्रवाई की जानी है.
  • ColumnName(s) - आवश्यक. हटाए जाने वाले स्तंभों के नाम.

RenameColumns( Table, OldColumnName1, NewColumnName1 [, OldColumnName2, NewColumnName2, ... ] )

  • Table - आवश्यक. वह तालिका जिस पर कार्रवाई की जानी है.
  • OldColumnNames - आवश्यक. मूल तालिका से नाम बदलने हेतु स्तंभों के नाम. यह तत्व पहले तर्क जोड़ी में दिखाई देता है (या प्रत्येक तर्क जोड़ी में पहली बार अगर सूत्र में एक से अधिक जोड़ी शामिल है).
  • NewColumnNames - आवश्यक. प्रतिस्थापन नाम. यह तत्व तर्क जोड़ी में आखिर में दिखाई देता है (या प्रत्येक तर्क जोड़ी में आखिर में अगर सूत्र में एक से अधिक जोड़ी शामिल है).

ShowColumns( Table, ColumnName1 [, ColumnName2, ... ] )

  • Table - आवश्यक. वह तालिका जिस पर कार्रवाई की जानी है.
  • ColumnName(s) - आवश्यक. शामिल किये जाने वाले स्तंभों के नाम.

उदाहरण

इस सेक्शन के उदाहरण IceCreamSales डेटा स्रोत का उपयोग करते हैं जिसमें डेटा इस तालिका में शामिल है:

IceCream उदाहरण.

इनमें से कोई भी उदाहरण IceCreamSales डेटा स्रोत को संशोधित नहीं करते है. प्रत्येक फ़ंक्शन डेटा स्रोत के मान को तालिका के रूप में परिवर्तित करता है और परिणाम के रूप में उस मान को लौटाता है.

सूत्र विवरण परिणाम
कॉलम जोड़ें( आइसक्रीम बिक्री, राजस्व, इकाई मूल्य * बेची गई मात्रा ) परिणाम में Revenue स्तंभ जोड़ता है. प्रत्येक रिकॉर्ड के लिए, UnitPrice * QuantitySold का मूल्यांकन किया जाता है, और परिणाम को नए स्तंभ में रखा जाता है. स्ट्रॉबेरी, चॉकलेट और वेनिला के साथ परिणाम.
ड्रॉपकॉलम( आइसक्रीमसेल्स, यूनिटप्राइस ) परिणाम में UnitPrice स्तंभ को शामिल नहीं करता है. स्तंभों को शामिल न करने के लिए इस फ़ंक्शन का उपयोग करें और इन्हें शामिल करने के लिए ShowColumns का उपयोग करें. स्ट्राबेरी, चॉकलेट, वेनिला के साथ परिणाम केवल QuantitySold वाला कॉलम.
शोकॉलम( आइसक्रीमसेल्स, फ्लेवर ) परिणाम में केवल Flavor स्तंभ शामिल करता है. स्तंभों को शामिल करने के लिए इस फ़ंक्शन का उपयोग करें और इन्हें शामिल न करने के लिए DropColumns का उपयोग करें. केवल स्वाद कॉलम.
RenameColumns( आइसक्रीम बिक्री, यूनिट मूल्य, मूल्य) परिणाम में UnitPrice स्तंभ को पुनर्नामित करता है. स्वाद, मूल्य और राजस्व के साथ परिणाम.
RenameColumns( आइसक्रीम बिक्री, इकाई मूल्य, मूल्य, बेची गई मात्रा, संख्या) परिणाम में UnitPrice और QuantitySold स्तंभों को पुनर्नामित करता है. स्वाद, मूल्य, राजस्व के रूप में 3 आइसक्रीम और कॉलम के साथ परिणाम.
DropColumns(
RenameColumns(
AddColumns( आइसक्रीम बिक्री, राजस्व,
UnitPrice * QuantitySold ),
इकाईमूल्य, कीमत ),
मात्रा )
सूत्र के अंदर से शुरू करते हुए, निम्न तालिका को क्रम से रूपांतरित करता है:
  1. राजस्व स्तंभ जोड़ता है, जो इकाई मूल्य * मात्रा की प्रति रिकॉर्ड गणना पर आधारित है.
  2. UnitPrice को Price में पुनर्नामित करता है.
  3. Quantity स्तंभ को शामिल नहीं करता है.
क्रम महत्वपूर्ण है, उदाहरण के लिए नाम बदलने के बाद हम UnitPrice के साथ गणना नहीं कर सकते।
इकाई मूल्य के लिए आइसक्रीम का उदाहरण.

चरण दर चरण

आइये इस लेख में पहले दिए गए कुछ उदाहरणों को आज़माएँ।

  1. एक बटन नियंत्रण जोड़कर और इसके OnSelect गुण को इस सूत्र पर सेट करके एक संग्रह बनाएँ:

    ClearCollect( IceCreamSales,
       Table(
           { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 },
           { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 },
           { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 }
       )
    )
    
  2. Alt कुंजी को दबाए रखते हुए बटन का चयन करके सूत्र चलाएँ.

  3. एक दूसरा बटन नियंत्रण जोड़ें, इसके OnSelect गुण को इस सूत्र पर सेट करें, और फिर इसे चलाएं:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. फ़ाइल मेनू पर, संग्रह का चयन करें और फिर उस संग्रह को दिखाने के लिए IceCreamSales का चयन करें.

    जैसा कि इस ग्राफ़िक में दिखाया गया है, दूसरे सूत्र ने इस संग्रह को संशोधित नहीं किया. AddColumns फ़ंक्शन ने IceCreamSales का उपयोग एक पठन-योग्य तर्क के रूप में किया, फ़ंक्शन ने उस तालिका को संशोधित नहीं किया जिसे वह तर्क संदर्भित करता है.

    संग्रह व्यूअर जो आइसक्रीम विक्रय संग्रह के तीन रिकॉर्ड दिखाता है जिसमें आय स्तंभ शामिल नहीं है.

  5. FirstExample चुनें.

    जैसा कि इस ग्राफ़िक में दिखाया गया है, दूसरे सूत्र ने कॉलम जोड़ कर एक नई तालिका लौटाई है. ClearCollect फ़ंक्शन ने FirstExample संग्रह में नई तालिका को कैप्चर किया, मूल तालिका में कुछ जोड़ते हुए जैसे यह फ़ंक्शन में बिना स्रोत को प्रभावित किए प्रवाहित हुआ.

    संग्रह व्यूअर जो पहले उदाहरण संग्रह के तीन रिकॉर्ड दिखाता है जिसमें नया आय स्तंभ शामिल है.

एक घटक में मानचित्र स्तंभ

मानचित्र स्तंभ देखें।