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


Power Apps में ऑपरेटर और पहचानकर्ता

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

इनमें से कुछ ऑपरेटर लेखक की भाषा पर निर्भर हैं. कैनवास ऐप में भाषा समर्थन के बारे में अधिक जानकारी के लिए, ग्लोबल ऐप देखें.

चिह्न Type उदाहरण विवरण
'...' पहचानकर्ता 'खाता नाम' पहचानकर्ता जिनमें रिक्त स्थान सहित विशेष वर्ण होते हैं, एकल उद्धरणों में संलग्न होते हैं
"..." पाठ की पंक्ति "हैलो वर्ल्ड" पाठ स्ट्रिंग दोहरे उद्धरण में संलग्न होते हैं
$"..." स्ट्रिंग इंटरपोलेशन $"प्रिय {FirstName}," पाठ स्ट्रिंग के भीतर एम्बेड किए गए सूत्र
. गुण चयनकर्ता स्लाइडर1.मूल्य
Color.Red
त्वरण.X
एक तालिका, नियंत्रण, सिग्नल या एन्युमरेशन से एक गुण निकालता है. पश्चगामी संगतता के लिए, ! का उपयोग किया जा सकता है.
.
[भाषा पर निर्भर]
दशमलव विभाजक 1.23 किसी संख्या के पूरे और भिन्नात्मक भागों के बीच विभाजक. चरित्र भाषा पर निर्भर करता है.
( ) कोष्टक फ़िल्टर(T, A < 10)

(1 + 2) * 3
बड़े व्यंजक में पूर्ववर्ती आदेश और समूह उप-व्यंजक लागू करता है
+ अंकगणितीय आपरेटर १ + २ जुड़ने
-   2 - 1 घटाव और संकेत
*   2 * 3 गुणन
/   2 / 3 विभाजन (यह भी देखें Mod function)
^   2 ^ 3 घातांक, Power फ़ंक्शन के बराबर
%   20% प्रतिशत ("* 1/100" के बराबर)
= तुलना ऑपरेटर्स मूल्य = 100 इसके बराबर
>   मूल्य > 100 इससे अधिक
>=   मूल्य >= 100 इससे अधिक या इसके बराबर
<   मूल्य < 100 इससे कम
<=   मूल्य <= 100 इससे कम या इसके बराबर
<>   मूल्य <> 100 इसके बराबर नहीं
& स्ट्रिंग संघटन ऑपरेटर "नमस्ते" & " " & "दुनिया" कई तार निरंतर दिखाई देते हैं
&& या और तार्किक ऑपरेटर्स मूल्य < 100 && स्लाइडर1.मूल्य = 20
या कीमत < 100 And Slider1.Value = 20
तार्किक संयोजन, And फ़ंक्शन के बराबर
|| या या   मूल्य < 100 || स्लाइडर1.मूल्य = 20 या मूल्य < 100 या स्लाइडर1.मूल्य = 20 तार्किक वियोजन, Or फ़ंक्शन के बराबर
! या नहीं   !(कीमत < 100) या नहीं (कीमत < 100) तार्किक निषेध, Not फ़ंक्शन के बराबर
एक्ज़ैक्टिन सदस्यता संचालक गैलरी1.चयनित सटीक सहेजे गए आइटम संग्रह या तालिका से संबंधित
एक्ज़ैक्टिन   "विंडोज" exactin "विंडोज ऑपरेटिंग सिस्टम में विंडोज़ प्रदर्शित करने के लिए..." पदार्थ परीक्षण (केस-संवेदी)
में   गैलरी1. सहेजे गए आइटम में चयनित किसी संग्रह या तालिका से संबंधित
में   "कीबोर्ड और मॉनिटर..." में "द" पदार्थ परीक्षण (केस-असंवेदनशील)
@ विसंबद्धता ऑपरेटर माईटेबल[@fieldname] क्षेत्र में असंतोष
@   [@माईवेरिएबल] वैश्विक असंतोष
,
[भाषा पर निर्भर]
सूची विभाजक यदि( X < 10, "कम", "अच्छा")
{ एक्स: 12, वाई: 32 }
[ 1, 2, 3 ]
विभाजक: यह चरित्र भाषा पर निर्भर करता है.
;
[भाषा पर निर्भर]
फॉर्मूला चैनिंग कलेक्ट(T, A); नेविगेट(S1, "") व्यवहार गुणों में कार्यों के अलग-अलग आह्वान. चेनिंग ऑपरेटर भाषा पर निर्भर करता है.
जैसा ऑपरेटर के रूप में सभीग्राहकग्राहक के रूप में गैलरी में ThisItem और ThisRecord और रिकॉर्ड कार्यक्षेत्र फ़ंक्शन ओवरराइड करता है. जैसा बेहतर, विशिष्ट नाम प्रदान करने के लिए उपयोगी है और नेस्टेड परिदृश्यों में विशेष रूप से महत्वपूर्ण है।
खुद स्वयं संचालक स्व.भरण वर्तमान नियंत्रण के गुणों तक पहुंच
माता-पिता मूल ऑपरेटर जनक.भरें एक नियंत्रण कंटेनर के गुणों तक पहुंच
यह आइटम ThisItem ऑपरेटर यहआइटम.प्रथमनाम गैलरी या प्रपत्र नियंत्रण के क्षेत्रों तक पहुंच
यहरिकॉर्ड यहरिकॉर्ड ऑपरेटर यहरिकॉर्ड.प्रथमनाम ForAll, Sum, With और अन्य रिकॉर्ड कार्यक्षेत्र फ़ंक्शन में पूर्ण रिकॉर्ड और रिकॉर्ड की अलग-अलग फ़ील्ड तक पहुँच बनाता है. As ऑपरेटर के साथ ओवरराइड किया जा सकता है.

नोट

@ ऑपरेटर का उपयोग डेटा स्रोत के विरुद्ध रिकॉर्ड ऑब्जेक्ट के प्रकार को सत्यापित करने के लिए भी किया जा सकता है. उदाहरण के लिए, Collect(coll,Account@{'Account Number: 1111')

और सटीक ऑपरेटर

डेटा स्रोत में स्ट्रिंग, जैसे की संग्रह और आयात की गई तालिका, को खोजने के लिए in और exactin ऑपरेटर्स का उपयोग करें. in ऑपरेटर मामले की परवाह किए बिना मिलानों की पहचान करता है, और exactin ऑपरेटर मिलान की पहचान तभी करता है जब वे उसी तरह कैपिटलाइज़ होते हैं. यहाँ एक उदाहरण है:

  1. इन्वेंटरी नामक एक संग्रह बनाएं या आयात करें और इसे एक गैलरी में दिखाएं, जैसा कि गैलरी में चित्र और पाठ दिखाएं में पहली प्रक्रिया के रूप में वर्णित किया गया है."

  2. इस सूत्र के लिए गैलरी का गुण आइटम पर सेट करें:
    फ़िल्टर(इन्वेंटरी, ProductName में "E")

    गैलरी कैलिस्टो को छोड़कर सभी उत्पादों को दिखाती है, क्योंकि उस उत्पाद का नाम केवल वही है जिसमें आपके द्वारा निर्दिष्ट शब्द शामिल नहीं है.

  3. गैलरी के गुण आइटम को इस सूत्र में बदलें:
    फ़िल्टर(इन्वेंट्री, "E" सटीक ProductName)

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

ThisItem, ThisRecord और As ऑपरेटर्स

कुछ नियंत्रण और फ़ंक्शन तालिका के अलग-अलग रिकॉर्ड पर सूत्र लागू करते हैं. सूत्र में किसी व्यक्तिगत रिकॉर्ड को संदर्भित करने के लिए, निम्न में से किसी एक का उपयोग करें:

ऑपरेटर इस पर लागू होता है वर्णन
यह आइटम गैलरी नियंत्रण
फॉर्म संपादित करें नियंत्रण
प्रदर्शन प्रपत्र नियंत्रण
Gallery या form नियंत्रण में वर्तमान रिकॉर्ड के लिए डिफ़ॉल्ट नाम.
यहरिकॉर्ड सभी के लिए, फ़िल्टर, के साथ, योग और अन्य रिकॉर्ड स्कोप फ़ंक्शन ForAll और अन्य रिकॉर्ड कार्यक्षेत्र फ़ंक्शन में वर्तमान रिकॉर्ड के लिए डिफ़ॉल्ट नाम.
जैसानाम गैलरी नियंत्रण
ForAll, फ़िल्टर, With, Sum और अन्य रिकॉर्ड स्कोप फ़ंक्शन
डिफ़ॉल्ट ThisItem या ThisRecord को बदलते हुए, वर्तमान रिकॉर्ड के लिए एक नाम परिभाषित करता है. सूत्रों को समझने में आसान बनाने और नेस्टिंग के दौरान अस्पष्टता को हल करने के लिए As का उपयोग करें.

ThisItem ऑपरेटर

उदाहरण के लिए, नीचे दिए गए गैलरी नियंत्रण में, आइटम गुण कर्मचारी डेटा स्रोत पर सेट है (जैसे कि कर्मचारी तालिका नार्थविंड ट्रेडर्स नमूना) के साथ शामिल है:

Employees

कर्मचारियों को एक गैलरी में दिखाया गया है।

गैलरी में पहला आइटम एक टेम्पलेट है, जिसे प्रत्येक कर्मचारी के लिए दोहराया जाता है. टेम्पलेट में, चित्र का सूत्र वर्तमान आइटम को संदर्भित करने के लिए ThisItem का उपयोग करता है:

ThisItem.Picture

एक कर्मचारी के चित्र के लिए सूत्र.

इसी तरह, नाम का सूत्र भी ThisItem का उपयोग करता है:

ThisItem.'First Name' & " " & ThisItem.'Last Name'

किसी कर्मचारी के प्रथम और अंतिम नाम के लिए सूत्र।

ThisRecord ऑपरेटर

ThisRecord का उपयोग उन फ़ंक्शन में किया जाता है, जिनमें रिकॉर्ड स्कोप होता है। उदाहरण के लिए, हम केवल उन नामों को दिखाने के लिए, जिनके प्रथम नाम M से शुरू होते हैं, अपनी गैलरी के Items गुण के साथ Filter फ़ंक्शन का उपयोग कर सकते हैं:

Filter( Employees, StartsWith( ThisRecord.Employee.'First Name', "M" ) )

ThisRecord का उपयोग करके नाम के आधार पर कर्मचारियों को फ़िल्टर करना।

ThisRecord वैकल्पिक है और फ़ील्ड का सीधे उपयोग करके निहित है, उदाहरण के लिए, इस मामले में, हम लिख सकते थे:

Filter( Employees, StartsWith( 'First Name', "M" ) )

हालांकि वैकल्पिक है, लेकिन ThisRecord का उपयोग सूत्रों को समझना आसान बना सकता है और ऐसी अस्पष्ट परिस्थितियों में आवश्यक हो सकता है, जहां एक फ़ील्ड नाम, संबंध नाम भी हो सकता है. ThisRecord वैकल्पिक है जबकि ThisItem हमेशा आवश्यक है.

Patch, Collect और अन्य रिकॉर्ड कार्यक्षेत्र फ़ंक्शन के साथ पूरे रिकॉर्ड को संदर्भित करने के लिए ThisRecord का उपयोग करें. उदाहरण के लिए, निम्न सूत्र सभी निष्क्रिय कर्मचारियों की स्थिति को सक्रिय पर सेट करता है:

With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
      ForAll( InactiveEmployees,
              Patch( Employees, ThisRecord, { Status: 'Status (Employees)'.Active } ) ) )

As ऑपरेटर

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

उदाहरण के लिए, इसकी पहचान करने के लिए कि हम किसी कर्मचारी के साथ कार्य कर रहे हैं, आप As का उपयोग करने के लिए हमारी गैलरी के Items गुण को संशोधित कर सकते हैं:

Employees As Employee

कर्मचारियों की गैलरी, As ऑपरेटर का उपयोग करके।

चित्र और नाम के सूत्र, वर्तमान रिकॉर्ड के लिए इस नाम का उपयोग करने हेतु समायोजित किए गए हैं:

Employee.Picture

As ऑपरेटर के साथ कर्मचारी नाम सेट का उपयोग करते हुए किसी कर्मचारी का चित्र।

Employee.'First Name' & " " & Employee.'Last Name'

As ऑपरेटर के साथ सेट किए गए कर्मचारी नाम का उपयोग करते हुए किसी कर्मचारी का प्रथम और अंतिम नाम.

As का उपयोग डिफ़ॉल्ट नाम ThisRecord को प्रतिस्थापित करने के लिए रिकॉर्ड स्कोप फ़ंक्शन के साथ भी किया जा सकता है. हम उस रिकॉर्ड का स्‍पष्टीकरण करने के लिए, जिसके साथ हम कार्य कर रहे हैं, हम इसे अपने पिछले उदाहरण पर लागू कर सकते हैं:

With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
      ForAll( InactiveEmployees As Employee,
              Patch( Employees, Employee, { Status: 'Status (Employees)'.Active } ) ) )

गैलरी और रिकॉर्ड कार्यक्षेत्र फ़ंक्शन को नेस्ट करने के दौरान, ThisItem और ThisRecord बाहरी कार्यक्षेत्र में रिकॉर्ड को अनुपलब्ध छोड़ते हुए हमेशा सबसे आंतरिक कार्यक्षेत्र को संदर्भित करते हैं. प्रत्येक रिकॉर्ड कार्यक्षेत्र को एक अद्वितीय नाम देकर, उन सभी को उपलब्ध बनाने के लिए As का उपयोग करें.

उदाहरण के लिए, यह सूत्र दो ForAll फ़ंक्शन को नेस्ट करके पाठ स्ट्रिंग के रूप में एक चेस्बोर्ड पैटर्न उत्पन्न करता है:

Concat(
    ForAll( Sequence(8) As Rank,
        Concat(
            ForAll( Sequence(8) As File,
                    If( Mod(Rank.Value + File.Value, 2) = 1, " X ", " . " )
            ),
            Value
        ) & Char(10)
    ),
    Value
)

Label नियंत्रण के Text गुण को इस सूत्र प्रदर्शन पर सेट करना:

लेबल नियंत्रण में दिखाया गया शतरंज बोर्ड पाठ.

आइए देखते हैं कि यहाँ क्या हो रहा है:

  • हम Sequence फ़ंक्शन के साथ 8 क्रमांकित रिकॉर्ड की अनामांकित तालिका की पुनरावृत्ति से शुरू करते हैं. यह लूप बोर्ड की प्रत्येक पंक्ति के लिए है, जिसे सामान्यता Rank कहा जाता है, इसलिए हमने इसे यह नाम दिया है.
  • प्रत्येक पंक्ति के लिए, हमने 8 स्तंभों वाली एक अन्य अनामांकित तालिका की पुनरावृत्ति की है और हमने उसे सामान्य नाम File दिया है.
  • यदि Rank.Value + File.Value एक विषम संख्या है, तो इसका वर्ग X होता है अन्यथा डॉट होता है. सूत्र का यह भाग, दोनों ForAll लूप को संदर्भित करता है, जो As ऑपरेटर के उपयोग के कारण संभव हुआ है.
  • Concat का प्रयोग दो बार किया जाता है, पहले स्तंभों को जोड़ने के लिए और फिर पंक्तियों को, तथा a Char(10) को एक नई पंक्ति बनाने के लिए डाला जाता है।

एक समान उदाहरण ForAll फ़ंक्शन के बजाय नेस्टेड Gallery नियंत्रणों के साथ संभव है. आइए Rank के लिए अनुलंब गैलरी के साथ शुरू करते हैं. इस गैलरी नियंत्रण का एक Items सूत्र होगा:

Sequence(8) as Rank

बाहरी गैलरी का चित्रण जो रैंक पुनरावृत्ति प्रदान करता है।

इस गैलरी के भीतर, हम File के लिए एक क्षैतिज गैलरी रखेंगे, जो इस Items गुण के साथ प्रत्येक Rank के लिए दोहराई जाएगी:

Sequence(8) as File

आंतरिक गैलरी का चित्रण जो फ़ाइल पुनरावृत्ति प्रदान करता है।

और अंत में, इस गैलरी में, हम एक Label नियंत्रण जोड़ेंगे, जो प्रत्येक File और प्रत्येक Rank के लिए दोहराया जाएगा. हम पूरे स्थान को भरने के लिए इसे आकार देंगे और इस सूत्र के साथ रंग प्रदान करने के लिए Fill गुण का उपयोग करेंगे.

If( Mod( Rank.Value + File.Value, 2 ) = 1, Green, Beige )

दो गैलरियों के भीतर लेबल नियंत्रण जो शतरंज बोर्ड के लिए वैकल्पिक रंग प्रदान करता है।

स्वयं और मूल संचालक

सूत्र के भीतर नियंत्रण और इसके गुणों को संदर्भित करने के तीन तरीके हैं:

विधि वर्णन
नियंत्रण नाम के द्वारा किसी भी नियंत्रण को अनुप्रयोग के अंदर कहीं से भी नाम से संदर्भित किया जा सकता है.

उदाहरण के लिए, Label1.Fill नियंत्रण के भरण गुण को संदर्भित करता है, जिसका नाम Label1 है.
स्व ऑपरेटर सूत्र लिखते समय एक ही नियंत्रण के दूसरे गुण को संदर्भित करना अक्सर सुविधाजनक होता है. नाम से निरपेक्ष संदर्भ का उपयोग करने के बजाय, एक स्वयं के सापेक्ष संदर्भ का उपयोग करना आसान और अधिक वहनीय है. स्वयं ऑपरेटर वर्तमान नियंत्रण के लिए आसान पहुँच प्रदान करता है.

उदाहरण के लिए, Self.Fill वर्तमान नियंत्रण के भरण रंग को संदर्भित करता है.
पैरेंट ऑपरेटर कुछ नियंत्रण अन्य नियंत्रणों को होस्ट करते हैं, जैसे कि स्क्रीन और गैलरी नियंत्रण. नियंत्रणों अंदर के होस्टिंग नियंत्रण को मूल कहा जाता है. स्वयं ऑपरेटर की तरह, मूल ऑपरेटर कंटेनर नियंत्रण के लिए आसान सापेक्ष संदर्भ प्रदान करता है.

उदाहरण के लिए Parent.Fill नियंत्रण के भरण गुण को दर्शाता है जो वर्तमान नियंत्रण के लिए कंटेनर है.

स्व और पैरेंट नियंत्रणों पर ऑपरेटर हैं और गुण नहीं हैं। Parent.Parent, Self.Parent या Parent.Self के संदर्भ का समर्थन नहीं किया गया है.

पहचान करने वाले नाम

चर, डेटा स्रोत, स्तंभ और अन्य ऑबजेक्ट, के नाम में कोई भी यूनिकोड हो सकता है.

एक नाम के आसपास एकल उद्धरण-चिह्न का उपयोग करें जिसमें एक स्थान या अन्य विशेष वर्ण शामिल हैं.
नाम में एक एकल उद्धरण-चिह्न दर्शाने के लिए एक साथ दो एकल उद्धरण-चिह्नों का उपयोग करें. ऐसे नाम जिनमें विशेष वर्ण नहीं होते हैं, उन्हें एकल उद्धरण-चिह्न की आवश्यकता नहीं होती है.

यहां कुछ उदाहरण स्तंभ नाम दिए गए हैं, जिनका आपको किसी तालिका में सामना करना पड़ सकता है और कैसे उन्हें एक सूत्र में दर्शाया जाता है:

एक डेटाबेस में कॉलम नाम सूत्र में स्तंभ संदर्भ
SimpleName SimpleName
NameWith123Numbers NameWith123Numbers
रिक्त स्थान के साथ नाम 'Name with spaces'
"डबल" उद्धरण के साथ नाम 'Name with "double" quotes'
"एकल" उद्धरण के साथ नाम 'Name with ''single'' quotes'
एक @ चिह्न के साथ नाम 'Name with an @ at sign'

दोहरे उद्धरण चिह्नों को पाठ स्ट्रिंग्स को नामित करें के लिए उपयोग किया जाता है.

नाम और तार्किक नाम प्रदर्शित करें

कुछ डेटा स्रोत जैसे SharePoint और Microsoft Dataverse के दो अलग-अलग नाम हैं ताकि डेटा की एक ही तालिका या स्तंभ को संदर्भित किया जा सके:

  • तार्किक नाम - ऐसा नाम जो अद्वितीय होने की गारंटी देता है, बनाए जाने के बाद नहीं बदलता है, आमतौर पर रिक्त स्थान या अन्य विशेष वर्णों की अनुमति नहीं देता है, और विभिन्न भाषाओं में स्थानीयकृत नहीं होता है। नतीजतन, नाम cryptic हो सकता है. ये नाम पेशेवर डेवलपर्स द्वारा उपयोग किए जाते हैं. उदाहरण के लिए, cra3a_customfield. इस नाम को स्कीमा नाम या सिर्फ नाम भी कहा जा सकता है.

  • प्रदर्शन नाम - ऐसा नाम जो उपयोगकर्ता के अनुकूल हो और अंतिम उपयोगकर्ताओं द्वारा देखा जा सके। यह नाम विशिष्ट नहीं हो सकता है, समय के साथ बदल सकता है, इसमें रिक्त स्थान और कोई भी यूनिकोड वर्ण हो सकता है और इसे विभिन्न भाषाओं में स्थानीयकृत किया जा सकता है. ऊपर दिए गए उदाहरण के अनुरूप, प्रदर्शन नाम Custom Field हो सकता है, जिसमें दो शब्दों के बीच रिक्ति होगी.

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

उदाहरण के लिए, कल्पना करें कि आपने Dataverse की किसी तालिका में कस्टम फ़ील्ड जोड़ा है. एक तार्किक नाम आपके लिए सिस्टम द्वारा असाइन किया जाएगा, जिसे आप केवल फ़ील्ड बनाते समय संशोधित कर सकते हैं. परिणाम समान दिखाई देगा:

कस्टम फ़ील्ड के साथ खाता तालिका जोड़ी गई, जिसमें

खातों के फ़ील्ड के संदर्भ में संलेखन करते समय, सुझाव का उपयोग 'कस्टम फ़ील्ड' के लिए किया जाएगा, क्योंकि यह प्रदर्शन नाम है. एकल उद्धरण का उपयोग किया जाना चाहिए क्योंकि इस नाम में एक स्पेस है:

स्टूडियो फॉर्मूला बार प्रदर्शन नाम 'कस्टम फ़ील्ड' हाइलाइट किए गए खातों के फ़ील्ड नामों के लिए सुझाव दिखा रहा है।

सुझाव का चयन करने के बाद, 'कस्टम फ़ील्ड' को सूत्र बार में दिखाया गया है और डेटा पुनर्प्राप्त किया गया है:

स्टूडियो फ़ॉर्मूला बार फ़ील्ड के लिए प्रदर्शन नाम 'कस्टम फ़ील्ड' का उपयोग दिखा रहा है।

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

स्टूडियो फ़ॉर्मूला बार फ़ील्ड के लिए तार्किक नाम cr5e3_customfield का उपयोग दिखा रहा है.

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

नोट

अनुप्रयोग को परिवेशों के बीच स्थानांतरित करते समय तार्किक नामों का अनुवाद नहीं किया जाता है. Dataverse सिस्टम तालिका और फ़ील्ड नामों के लिए, यह कोई समस्या नहीं होनी चाहिए क्योंकि तार्किक नाम पूरे परिवेश में संगत हैं. लेकिन कोई भी कस्टम फ़ील्ड, जैसे कि उपरोक्त उदाहरण में cra3a_customfield है, इस मामले में एक अलग परिवेश उपसर्ग (cra3a) हो सकता है. प्रदर्शन नामों को पसंद किया जाता है क्योंकि, उनका नए परिवेश में प्रदर्शन नामों के साथ मिलान किया जा सकता है.

नाम विच्छेद

चूंकि प्रदर्शन नाम अद्वितीय नहीं हैं, एक ही प्रदर्शन नाम एक ही तालिका में एक से अधिक बार दिखाई दे सकता है. जब ऐसा होता है, तो तार्किक नाम को प्रदर्शन नाम के अंत में एक या अधिक विरोधाभासी नामों के लिए कोष्ठक में जोड़ दिया जाएगा। ऊपर दिए गए उदाहरण पर बनाते हुए, यदि कस्टम फ़ील्ड के जैसे ही प्रदर्शन नाम के साथ एक दूसरा फ़ील्ड था, तो cra3a_customfieldalt के तार्किक नाम के साथ, फिर सुझाव ये दिखाएंगे:

स्टूडियो सूत्र पट्टी

नाम अस्पष्टता स्ट्रिंग्स अन्य स्थितियों में जोड़े जाते हैं जहां नाम संघर्ष होते हैं, जैसे तालिका के नाम, विकल्प, और अन्य Dataverse आइटम.

छूटने का ऑपरेटर

कुछ फ़ंक्शन प्रत्येक रिकॉर्ड को संसाधित करते समय तालिका के क्षेत्रों तक पहुंचने के लिए रिकॉर्ड दायरे बनाते हैं, जैसे Filter, AddColumns, और Sum. रिकॉर्ड दायरे के साथ जोड़े गए फ़ील्ड नाम अनुप्रयोग में समान नामों को कहीं और से ओवरराइड करते हैं. जब ऐसा होता है, तो आप तब भी रिकॉर्ड के दायरे से बाहर के मूल्यों को @ डिसएंबिगुएशन ऑपरेटर से पहुंच प्राप्त कर सकते हैं:

  • नेस्टेड रिकॉर्ड दायरे से मूल्यों तक पहुंचने के लिए, इस पैटर्न का उपयोग करने पर संचालित किए जा रहे टेबल के नाम के साथ @ ऑपरेटर का उपयोग करें:
    तालिका[@फ़ील्डनाम]
  • वैश्विक मान, जैसे डेटा स्रोत, संग्रह और संदर्भ चर तक पहुंचने के लिए, पैटर्न [@ObjectName] (बिना तालिका निर्दिष्ट किए) का उपयोग करें.

अधिक जानकारी और उदाहरणों के लिए, रिकॉर्ड दायरे देखें.