सॉर्ट और सॉर्टबायकॉलम फ़ंक्शंस

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

तालिका को सॉर्ट करता है.

नोट

PAC CLI PAC Power-fx आदेश सॉर्टबायकॉलम फ़ंक्शन का समर्थन नहीं करते हैं

विवरण

Sort फ़ंक्शन सूत्र के आधार पर तालिका को सॉर्ट करता है.

तालिका के प्रत्येक रिकॉर्ड के लिए सूत्र का मूल्यांकन किया जाता है और तालिका को सॉर्ट करने के लिए परिणामों का उपयोग किया जाता है. सूत्र का परिणाम एक संख्या, स्ट्रिंग या बूलियन मान होना चाहिए; उसका परिणाम तालिका या रिकॉर्ड नहीं हो सकता.

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

पहले एक स्तंभ के आधार पर और उसके बाद दूसरे स्तंभ के आधार पर सॉर्ट करने के लिए, सॉर्ट सूत्र को दूसरे के अंदर एम्बेड करें. उदाहरण के लिए, आप इस सूत्र का उपयोग संपर्क तालिका को पहले LastName स्तंभ के आधार पर और उसके बाद FirstName स्तंभ के आधार पर सॉर्ट करने के लिए कर सकते हैं: सॉर्ट करें( सॉर्ट करें( संपर्क, LastName ), FirstName )

SortByColumns फ़ंक्शन का उपयोग एक या अधिक स्तंभों के आधार पर तालिका को सॉर्ट करने के लिए भी किया जा सकता है.

SortByColumns के लिए पैरामीटर सूची उन स्तंभों के नाम प्रदान करती है, जिनके आधार पर सॉर्ट किया जाना है और प्रति स्तंभ सॉर्ट दिशा प्रदान करती है. सॉर्टिंग पैरामीटर के क्रम में की जाती है (पहले प्रथम स्तंभ के आधार पर सॉर्ट करना, उसके बाद दूसरे के आधार पर और इसी तरह आगे). स्तंभ नामों को स्ट्रिंग्स के रूप में निर्दिष्ट किया जाता है, यदि पैरामीटर सूची में सीधे शामिल किए गए हैं, तो दोहरे उद्धरण चिह्नों की आवश्यकता होती है. उदाहरण के लिए, SortByColumns( CustomerTable, "LastName" ).

उपयोगकर्ताओं को यह चयन करने में सक्षम करने के लिए कि किस स्तंभ के आधार पर सॉर्ट करना है, आप SortByColumns को ड्रॉप डाउन या सूची बॉक्स से संयोजित कर सकते हैं.

आरोही या अवरोही क्रम में सॉर्ट करने के अलावा, SortByColumns मानों की एकल स्तंभ तालिका के आधार पर सॉर्ट कर सकता है. उदाहरण के लिए, आप सॉर्ट क्रम के रूप में [ "सोमवार", "मंगलवार", "बुधवार", "गुरुवार", "शुक्रवार", "शनिवार", "रविवार" ] प्रदान करके सप्ताह के दिन के नाम के आधार पर रिकॉर्ड को सॉर्ट कर सकते हैं. वे सभी रिकॉर्ड, जिनमें सोमवार है, वे पहले आएगा, उसके बाद मंगलवार और इसी तरह आगे. ऐसे पाए गए रिकॉर्ड्स, जो सॉर्ट तालिका में दिखाई नहीं देते हैं, उन्हें सूची के अंत में रखा जाता है.

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

प्रत्यायोजन

संभव होने पर, Power Apps माँग पर परिणामों के माध्यम से डेटा स्रोत और पृष्ठ पर फ़िल्टर और क्रमबद्ध कार्रवाइयाँ प्रत्यायोजित करेगा. उदाहरण के लिए, जब आप एक ऐसा ऐप शुरू करते हैं जो डेटा से भरी गैलरी नियंत्रण दिखाता है, तो शुरुआत में केवल रिकॉर्ड का पहला सेट ही लाया जाएगा. जैसे-जैसे उपयोगकर्ता स्क्रॉल करता है, डेटा स्रोत से अतिरिक्त डेटा नीटे आ जाता है. इसका परिणाम ऐप के लिए तेज़ प्रारंभ समय और बहुत बड़े डेटा सेट की पहुँच है.

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

यदि प्रत्यायोजन संभव न हो, तो Power Apps स्थानीय रूप से कार्य करने के लिए रिकॉर्ड का केवल एक छोटा सा सेट नीचे लाएगा. फ़िल्टर और सॉर्ट फंक्शन रिकॉर्ड के कम सेट पर काम करेंगे. गैलरी में जो उपलब्ध है, हो सकता है कि वह पूर्ण कहानी न हो, जो उपयोगकर्ताओं के लिए भ्रामक हो सकता है.

अधिक जानकारी के लिए, प्रत्यायोजन अवलोकन देखें.

सिंटैक्स

Sort( Table, Formula [, SortOrder ] )

  • Table - आवश्यक. सॉर्ट की जाने वाली तालिका.
  • Formula - आवश्यक. तालिका के प्रत्येक रिकॉर्ड के लिए इस सूत्र का मूल्यांकन किया जाता है और तालिका को सॉर्ट करने के लिए परिणामों का उपयोग किया जाता है. आप तालिका के भीतर स्तंभों को संदर्भित कर सकते हैं.
  • SortOrder - वैकल्पिक. अवरोही क्रम में तालिका को सॉर्ट करने के लिए, SortOrder.Descending निर्दिष्ट करें. SortOrder.Ascending डिफ़ॉल्ट मान है.

SortByColumns( Table, ColumnName1 [, SortOrder1, ColumnName2, SortOrder2, ... ] )

  • Table - आवश्यक. सॉर्ट की जाने वाली तालिका.

  • ColumnName(s) - आवश्यक. स्ट्रिंग के रूप में सॉर्ट किए जाने वाले स्तंभ नाम.

  • SortOrder(s) - वैकल्पिक. SortOrder.Ascending या SortOrder.Descending. SortOrder.Ascending डिफ़ॉल्ट है. यदि कई ColumnNames दिए जाते हैं, तो सभी लेकिन अंतिम स्तंभ में आवश्यक रूप से SortOrder शामिल होना चाहिए.

    नोट

    उन SharePoint और Excel डेटा स्रोत के लिए, जिनमें रिक्ति के साथ कॉलम का नाम हैं, प्रत्येक रिक्ति को "_x0020_" के रूप में निर्दिष्ट करें. उदाहरण के लिए, "स्तंभ नाम" को "Column_x0020_Name" के रूप में निर्दिष्ट करें.

SortByColumns( Table, ColumnName, SortOrderTable )

  • Table - आवश्यक. सॉर्ट की जाने वाली तालिका.

  • ColumnName - आवश्यक. स्ट्रिंग के रूप में सॉर्ट किया जाने वाला स्तंभ नाम.

  • SortOrderTable - आवश्यक. सॉर्ट की जाने वाली मानों की एकल स्तंभ तालिका.

    नोट

    उन SharePoint और Excel डेटा स्रोत के लिए, जिनमें रिक्ति के साथ कॉलम का नाम हैं, प्रत्येक रिक्ति को "_x0020_" के रूप में निर्दिष्ट करें. उदाहरण के लिए, "स्तंभ नाम" को "Column_x0020_Name" के रूप में निर्दिष्ट करें.

उदाहरण

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

IceCream उदाहरण.

सूत्र विवरण परिणाम
Sort( IceCream, Flavor )

SortByColumns( IceCream, "Flavor" )
IceCream को उसके Flavor स्तंभ के आधार पर सॉर्ट करता है. Flavor स्तंभ में स्ट्रिंग हैं, इसलिए तालिका वर्णानुक्रम में सॉर्ट की जाती है. डिफ़ॉल्ट रूप से, सॉर्ट क्रम आरोही होता है. वर्णानुक्रम में क्रमबद्ध.
Sort( IceCream, Quantity )

SortByColumns( IceCream, "Quantity" )
IceCream को उसके Quantity स्तंभ के आधार पर सॉर्ट करता है. Quantity स्तंभ में संख्याएँ हैं, इसलिए तालिका संख्यात्मक रूप से सॉर्ट की जाती है. डिफ़ॉल्ट रूप से, सॉर्ट क्रम आरोही होता है. संख्यात्मक रूप से सॉर्ट किया गया.
Sort( IceCream, Quantity, SortOrder.Descending )

SortByColumns( IceCream, "Quantity", SortOrder.Descending )
IceCream को उसके Quantity स्तंभ के आधार पर सॉर्ट करता है. Quantity स्तंभ में संख्याएँ हैं, इसलिए सॉर्टिंग संख्यात्मक रूप से की जाती है. सॉर्ट क्रम को अवरोही के रूप में निर्दिष्ट किया गया है. संख्यात्मक रूप से सॉर्ट और अवरोही.
Sort( IceCream, Quantity + OnOrder ) अलग-अलग प्रत्येक रिकॉर्ड के लिए, IceCream को उसके Quantity और OnOrder स्तंभों के योग के आधार पर सॉर्ट करता है. योग एक संख्या है, इसलिए तालिका को संख्यात्मक रूप से सॉर्ट किया जाता है. डिफ़ॉल्ट रूप से, सॉर्ट क्रम आरोही होता है. चूँकि हम सूत्र के आधार पर सॉर्ट कर रहे हैं और पंक्ति स्तंभ मानों के आधार पर नहीं, इसलिए SortByColumns का उपयोग करना समतुल्य नहीं है. संख्यात्मक रूप से सॉर्ट और आरोही.
Sort( Sort( IceCream, OnOrder ), Quantity )

सॉर्टबायकॉलम (आइसक्रीम, "ऑनऑर्डर", सॉर्टऑर्डर.आरोही, "मात्रा", सॉर्टऑर्डर.आरोही)
IceCream को पहले उसके OnOrder स्तंभ के आधार पर और उसके बाद उसके Quantity स्तंभ के आधार पर सॉर्ट करता है. ध्यान दें कि OnOrder के आधार पर "Pistachio", "Vanilla" के ऊपर होता है और उसके बाद वे एक-साथ Quantity के आधार पर अपने उपयुक्त स्थान पर चले जाते हैं. वेनिला के ऊपर पिस्ता के साथ सॉर्ट.
SortByColumns( IceCream, "Flavor", [ "Pistachio", "Strawberry" ] ) "Pistachio" और "Strawberry" वाली एकल स्तंभ तालिका के आधार पर, IceCream को उसके Flavor स्तंभ के आधार पर सॉर्ट करता है. ऐसे रिकॉर्ड, जिनमें "Pistachio" का Flavor है, वे परिणाम में पहले दिखाई देंगे, उसके बाद वे रिकॉर्ड दिखाई देंगे, जिनमें "Strawberry" शामिल है. Flavor स्तंभ में उन मानों के लिए, जो मैच नहीं करते, जैसे "Vanilla", वे मैच हुए आइटम के बाद दिखाई देंगे. स्ट्रॉबेरी के ऊपर पिस्ता के साथ सॉर्ट.

चरण दर चरण

इन उदाहरणों को स्वयं चलाने के लिए, एक संग्रह के रूप में IceCream डेटा स्रोत बनाएँ:

  1. एक बटन जोड़ें और उसके OnSelect गुण को इस सूत्र पर सेट करें:
    ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100, OnOrder: 150 }, { Flavor: "Vanilla", Quantity: 200, OnOrder: 20 }, { Flavor: "Strawberry", Quantity: 300, OnOrder: 0 }, { Flavor: "Mint Chocolate", Quantity: 60, OnOrder: 100 }, { Flavor: "Pistachio", Quantity: 200, OnOrder: 10 } )
  2. ऐप का पूर्वावलोकन करें, बटन का चयन करें और उसके बाद डिफ़ॉल्ट कार्यस्थान पर वापस लौटने के लिए Esc दबाएं.
  3. उस संग्रह को प्रदर्शित करने के लिए, जो आपने अभी-अभी बनाया है, फ़ाइल मेनू पर संग्रह चुनें और उसके बाद डिफ़ॉल्ट कार्यस्थान पर वापस लौटने के लिए Esc दबाएँ.

क्रमित करें

  1. अन्य बटन जोड़ें और उसके OnSelect गुण को इस सूत्र पर सेट करें:
    ClearCollect( SortByFlavor, Sort( IceCream, Flavor ) )

    पिछला सूत्र दूसरा संग्रह बनाता है, जिसका नाम SortByFlavor है, जिसमें वही डेटा है, जो Ice Cream में है. हालाँकि, नए संग्रह में डेटा को Flavor स्तंभ के आधार पर आरोही क्रम में वर्णानुक्रम सॉर्ट किया गया है.

  2. F5 दबाएं, नया बटन चुनें और उसके बाद Esc दबाएं.

  3. दोनों संग्रह को प्रदर्शित करने के लिए, फ़ाइल मेनू पर संग्रह चुनें और उसके बाद डिफ़ॉल्ट कार्यस्थान पर वापस लौटने के लिए Esc दबाएं.

  4. पिछले तीन चरणों को दोहराएं, लेकिन उस संग्रह का नाम बदलें, जिसे आप बनाना चाहते हैं और सॉर्ट सूत्र को इस सेक्शन में उदाहरणों की तालिका में मौजूद एक भिन्न सूत्र से प्रतिस्थापित करें, जो सॉर्ट का उपयोग करता है.

SortByColumns

  1. अन्य बटन जोड़ें और उसके OnSelect गुण को इस सूत्र पर सेट करें:
    ClearCollect (सॉर्टबायक्वांटिटी, सॉर्टबायकॉलम्स (आइसक्रीम, "क्वांटिटी", सॉर्टऑर्डर.आरोही, "फ्लेवर", सॉर्टऑर्डर.अवरोही) ) )

    पिछला सूत्र एक तीसरा संग्रह बनाता है, जिसका नाम SortByQuantity है, जिसमें वही डेटा है, जो Ice Cream में है. हालाँकि, नए संग्रह में Quantity स्तंभ के आधार पर आरोही क्रम में संख्यात्मक रूप से सॉर्ट किया गया और उसके बाद Flavor स्तंभ के आधार पर अवरोही क्रम में सॉर्ट किया गया डेटा शामिल है.

  2. F5 दबाएं, नया बटन चुनें और उसके बाद Esc दबाएं.

  3. सभी तीनों संग्रह को प्रदर्शित करने के लिए, फ़ाइल मेनू पर संग्रह चुनें और उसके बाद डिफ़ॉल्ट कार्यस्थान पर वापस लौटने के लिए Esc दबाएं.

  4. पिछले तीन चरणों को दोहराएं, लेकिन उस संग्रह का नाम बदलें, जिसे आप बनाना चाहते हैं और SortByColumns सूत्र को इस सेक्शन में उदाहरणों की तालिका में मौजूद एक भिन्न सूत्र से प्रतिस्थापित करें, जो SortByColumns का उपयोग करता है.