Power Apps में ऑपरेटर और पहचानकर्ता
इस पर लागू होता है: कैनवास ऐप्स मॉडल-संचालित ऐप्स
इनमें से कुछ ऑपरेटर लेखक की भाषा पर निर्भर हैं. कैनवास ऐप में भाषा समर्थन के बारे में अधिक जानकारी के लिए, ग्लोबल ऐप देखें.
चिह्न | Type | उदाहरण | विवरण |
---|---|---|---|
'...' | पहचानकर्ता | 'खाते का नाम' | पहचानकर्ता जिनमें रिक्त स्थान सहित विशेष वर्ण होते हैं, एकल उद्धरणों में संलग्न होते हैं |
"..." | पाठ स्ट्रिंग | "हैलो, वर्ल्ड" | पाठ स्ट्रिंग दोहरे उद्धरण में संलग्न होते हैं |
$"..." | स्ट्रिंग इंटरपोलेशन | $"प्रिय {FirstName}," | पाठ स्ट्रिंग के भीतर एम्बेड किए गए सूत्र |
. | गुण चयनकर्ता | Slider1.Value Color.Red त्वरण.X |
एक तालिका, नियंत्रण, सिग्नल या एन्युमरेशन से एक गुण निकालता है. पश्चगामी संगतता के लिए, ! का उपयोग किया जा सकता है. |
. [भाषा पर निर्भर] |
दशमलव विभाजक | 1.23 | किसी संख्या के पूरे और भिन्नात्मक भागों के बीच विभाजक. चरित्र भाषा पर निर्भर करता है. |
( ) | कोष्टक | फ़िल्टर(T, A < 10) (1 + 2) * 3 |
बड़े व्यंजक में पूर्ववर्ती आदेश और समूह उप-व्यंजक लागू करता है |
+ | अंकगणितीय आपरेटर | 1 + 2 | जुड़ने |
- | 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 फ़ंक्शन के बराबर |
|| या Or | कीमत < 100 || Slider1.Value = 20 या कीमत < 100 या Slider1.Value = 20 | तार्किक वियोजन, Or फ़ंक्शन के बराबर | |
! या नहीं | !(कीमत < 100) या नहीं (कीमत < 100) | तार्किक निषेध, Not फ़ंक्शन के बराबर | |
exactin | सदस्यता संचालक | Gallery1.Selected exactin SavedItems | संग्रह या तालिका से संबंधित |
exactin | "Windows" ठीक "Windows ऑपरेटिंग सिस्टम में windows प्रदर्शित करने के लिए..." | पदार्थ परीक्षण (केस-संवेदी) | |
में | Gallery1.Selected में SavedItems | किसी संग्रह या तालिका से संबंधित | |
में | "द कीबोर्ड और मॉनिटर ..." में "द" | पदार्थ परीक्षण (केस-असंवेदनशील) | |
@ | छूटने का संचालक | MyTable[@fieldname] | क्षेत्र में असंतोष |
@ | [@MyVariable] | वैश्विक असंतोष | |
, [भाषा पर निर्भर] |
सूची विभाजक | If( X < 10, "पटनायक", "सही" ) { X: 12, Y: 32 } [ 1, 2, 3 ] |
विभाजक: यह चरित्र भाषा पर निर्भर करता है. |
; [भाषा पर निर्भर] |
फॉर्मूला चैनिंग | Collect(T, A); Navigate(S1, "") | व्यवहार गुणों में कार्यों के अलग-अलग आह्वान. चेनिंग ऑपरेटर भाषा पर निर्भर करता है. |
इस रूप में | As ऑपरेटर | ग्राहक के रूप में AllCustomers | गैलरी में ThisItem और ThisRecord और रिकॉर्ड कार्यक्षेत्र फ़ंक्शन ओवरराइड करता है. As एक बेहतर, विशिष्ट नाम प्रदान करने के लिए उपयोगी होता है और नेस्टेड परिदृश्यों में विशेष रूप से महत्वपूर्ण होता है. |
स्वयं | स्वयं ऑपरेटर | Self.Fill | वर्तमान नियंत्रण के गुणों तक पहुंच |
अभिभावक | जनक संचालक | Parent.Fill | एक नियंत्रण कंटेनर के गुणों तक पहुंच |
ThisItem | ThisItem ऑपरेटर | ThisItem.FirstName | गैलरी या प्रपत्र नियंत्रण के क्षेत्रों तक पहुंच |
ThisRecord | ThisRecord ऑपरेटर | ThisRecord.FirstName | ForAll, Sum, With और अन्य रिकॉर्ड कार्यक्षेत्र फ़ंक्शन में पूर्ण रिकॉर्ड और रिकॉर्ड की अलग-अलग फ़ील्ड तक पहुँच बनाता है. As ऑपरेटर के साथ ओवरराइड किया जा सकता है. |
नोट
@ ऑपरेटर का उपयोग डेटा स्रोत के विरुद्ध रिकॉर्ड ऑब्जेक्ट के प्रकार को सत्यापित करने के लिए भी किया जा सकता है. उदाहरण के लिए, Collect(coll,Account@{'Account Number: 1111')
और सटीक ऑपरेटर
डेटा स्रोत में स्ट्रिंग, जैसे की संग्रह और आयात की गई तालिका, को खोजने के लिए in और exactin ऑपरेटर्स का उपयोग करें. in ऑपरेटर मामले की परवाह किए बिना मिलानों की पहचान करता है, और exactin ऑपरेटर मिलान की पहचान तभी करता है जब वे उसी तरह कैपिटलाइज़ होते हैं. यहाँ एक उदाहरण है:
इन्वेंटरी नामक एक संग्रह बनाएं या आयात करें और इसे एक गैलरी में दिखाएं, जैसा कि गैलरी में चित्र और पाठ दिखाएं में पहली प्रक्रिया के रूप में वर्णित किया गया है."
इस सूत्र के लिए गैलरी का गुण आइटम पर सेट करें:
फ़िल्टर (सूची, ProductName में "E")गैलरी कैलिस्टो को छोड़कर सभी उत्पादों को दिखाती है, क्योंकि उस उत्पाद का नाम केवल वही है जिसमें आपके द्वारा निर्दिष्ट शब्द शामिल नहीं है.
गैलरी के गुण आइटम को इस सूत्र में बदलें:
फ़िल्टर(इन्वेंट्री, "E" exactin ProductName)गैलरी केवल यूरोपा को दिखाती है, क्योंकि केवल उसके नाम में वह अक्षर है जिसे आपने निर्दिष्ट किए गए मामले में निर्दिष्ट किया है.
ThisItem, ThisRecord और As ऑपरेटर्स
कुछ नियंत्रण और फ़ंक्शन तालिका के अलग-अलग रिकॉर्ड पर सूत्र लागू करते हैं. सूत्र में किसी व्यक्तिगत रिकॉर्ड को संदर्भित करने के लिए, निम्न में से किसी एक का उपयोग करें:
ऑपरेटर | इस पर लागू होता है | वर्णन |
---|---|---|
ThisItem | गैलरी नियंत्रण संपादन प्रपत्र नियंत्रण प्रदर्शन प्रपत्र नियंत्रण |
Gallery या form नियंत्रण में वर्तमान रिकॉर्ड के लिए डिफ़ॉल्ट नाम. |
ThisRecord | ForAll, फ़िल्टर, साथ, Sum और अन्य रिकॉर्ड सीमाक्षेत्र फंक्शन | ForAll और अन्य रिकॉर्ड कार्यक्षेत्र फ़ंक्शन में वर्तमान रिकॉर्ड के लिए डिफ़ॉल्ट नाम. |
नामके रूप में | गैलरी नियंत्रण ForAll, फ़िल्टर, साथ, 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 वैकल्पिक है और सीधे फ़ील्ड का उपयोग करके निहित है, उदाहरण के लिए, इस मामले में, हम यह लिख सकते हैं:
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
चित्र और नाम के सूत्र, वर्तमान रिकॉर्ड के लिए इस नाम का उपयोग करने हेतु समायोजित किए गए हैं:
Employee.Picture
Employee.'First Name' & " " & Employee.'Last Name'
डिफ़ॉल्ट नाम ThisRecord को बदलने के लिए As का उपयोग रिकॉर्ड कार्यक्षेत्र फ़ंक्शन के साथ भी किया जा सकता है. हम उस रिकॉर्ड का स्पष्टीकरण करने के लिए, जिसके साथ हम कार्य कर रहे हैं, हम इसे अपने पिछले उदाहरण पर लागू कर सकते हैं:
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दो बार उपयोग किया गया है, पहले स्तंभ और उसके बाद पंक्तियों को इकट्ठा करने के लिए, जहाँ एक नई रेखा बनाने के लिए 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 की किसी तालिका में कस्टम फ़ील्ड जोड़ा है. एक तार्किक नाम आपके लिए सिस्टम द्वारा असाइन किया जाएगा, जिसे आप केवल फ़ील्ड बनाते समय संशोधित कर सकते हैं. परिणाम समान दिखाई देगा:
खातों के फ़ील्ड के संदर्भ में संलेखन करते समय, सुझाव का उपयोग 'कस्टम फ़ील्ड' के लिए किया जाएगा, क्योंकि यह प्रदर्शन नाम है. एकल उद्धरण का उपयोग किया जाना चाहिए क्योंकि इस नाम में एक स्पेस है:
सुझाव का चयन करने के बाद, 'कस्टम फ़ील्ड' को सूत्र बार में दिखाया गया है और डेटा पुनर्प्राप्त किया गया है:
यद्यपि यह सुझाव नहीं दिया गया है, हम इस फ़ील्ड के लिए तार्किक नाम का भी उपयोग कर सकते हैं. इसके परिणामस्वरूप यही डेटा पुनर्प्राप्त किया जाएगा. एकल उद्धरण की आवश्यकता नहीं है क्योंकि इस नाम में रिक्त स्थान या विशेष वर्ण नहीं हैं:
दृश्य के पीछे, सूत्रों में दिखाए गए प्रदर्शन नामों और अंतर्निहित तार्किक नामों के बीच एक मैपिंग को बनाए रखा जाता है. चूंकि तार्किक नामों का उपयोग डेटा स्रोत के साथ सहभागिता के लिए किया जाना चाहिए, इसलिए इस मैपिंग का उपयोग वर्तमान प्रदर्शन नाम से स्वचालित रूप से तार्किक नाम में बदलाव करने के लिए किया जाता है और नेटवर्क ट्रैफ़िक में यही देखा जाता है. इस मैपिंग का उपयोग नए प्रदर्शन नामों में स्विच करने के लिए तार्किक नामों में वापस रूपांतरित करने हेतु भी किया जा सकता है, उदाहरण के लिए, यदि कोई प्रदर्शन नाम बदलता है या निर्माता किसी अलग भाषा में ऐप को संपादित करता है.
नोट
अनुप्रयोग को परिवेशों के बीच स्थानांतरित करते समय तार्किक नामों का अनुवाद नहीं किया जाता है. Dataverse सिस्टम तालिका और फ़ील्ड नामों के लिए, यह कोई समस्या नहीं होनी चाहिए क्योंकि तार्किक नाम पूरे परिवेश में संगत हैं. लेकिन कोई भी कस्टम फ़ील्ड, जैसे कि उपरोक्त उदाहरण में cra3a_customfield है, इस मामले में एक अलग परिवेश उपसर्ग (cra3a) हो सकता है. प्रदर्शन नामों को पसंद किया जाता है क्योंकि, उनका नए परिवेश में प्रदर्शन नामों के साथ मिलान किया जा सकता है.
नाम विच्छेद
चूंकि प्रदर्शन नाम अद्वितीय नहीं हैं, एक ही प्रदर्शन नाम एक ही तालिका में एक से अधिक बार दिखाई दे सकता है. जब ऐसा होता है, तो तार्किक नाम को असंगत नामों में से एक के लिए कोष्ठक में प्रदर्शन नाम के अंत में जोड़ा जाएगा. ऊपर दिए गए उदाहरण पर बनाते हुए, यदि कस्टम फ़ील्ड के जैसे ही प्रदर्शन नाम के साथ एक दूसरा फ़ील्ड था, तो cra3a_customfieldalt के तार्किक नाम के साथ, फिर सुझाव ये दिखाएंगे:
नाम अस्पष्टता स्ट्रिंग्स अन्य स्थितियों में जोड़े जाते हैं जहां नाम संघर्ष होते हैं, जैसे तालिका के नाम, विकल्प, और अन्य Dataverse आइटम.
छूटने का ऑपरेटर
कुछ फ़ंक्शन प्रत्येक रिकॉर्ड को संसाधित करते समय तालिका के क्षेत्रों तक पहुंचने के लिए रिकॉर्ड दायरे बनाते हैं, जैसे Filter, AddColumns, और Sum. रिकॉर्ड दायरे के साथ जोड़े गए फ़ील्ड नाम अनुप्रयोग में समान नामों को कहीं और से ओवरराइड करते हैं. जब ऐसा होता है, तो आप तब भी रिकॉर्ड के दायरे से बाहर के मूल्यों को @ डिसएंबिगुएशन ऑपरेटर से पहुंच प्राप्त कर सकते हैं:
- नेस्टेड रिकॉर्ड दायरे से मूल्यों तक पहुंचने के लिए, इस पैटर्न का उपयोग करने पर संचालित किए जा रहे टेबल के नाम के साथ @ ऑपरेटर का उपयोग करें:
तालिका[@FieldName] - वैश्विक मान, जैसे डेटा स्रोत, संग्रह और संदर्भ चर तक पहुंचने के लिए, पैटर्न [@ObjectName] (बिना तालिका निर्दिष्ट किए) का उपयोग करें.
अधिक जानकारी और उदाहरणों के लिए, रिकॉर्ड दायरे देखें.