Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SSRS 2008 R2 के रिपोर्ट बॉडी में पेज नंबर कैसे प्रदर्शित करें?

सबसे पहले आपको रिपोर्ट चर का उपयोग करना होगा: रिपोर्ट के खाली स्थान पर राइट क्लिक करें -> वेरिएबल -> एक वेरिएबल बनाएं जैसे पेजकाउंट (डिफ़ॉल्ट मान 0 पर सेट करें)

फिर आप में हैडर या फूटर -> टेक्स्टबॉक्स बनाएं और एक्सप्रेशन सेट करें ->

=Variables!PageCount.SetValue(Variables!PageCount.Value+1)

यह प्रत्येक पृष्ठ के लिए स्वचालित रूप से बढ़ जाएगा।(महत्वपूर्ण:इसे शीर्षलेख या पाद लेख से न छिपाएं, यदि आप बॉक्स छुपाते हैं तो सेटवैल्यू काम नहीं करेगा, इसलिए फ़ॉन्ट को 1 या टेक्स्ट को सफेद में बदलें, जो भी करें, बस करें इसे छिपाएं नहीं (सेटिंग होने पर यह 'ट्रू' प्रिंट करेगा))

तब आप इसका उपयोग कर सकते हैं:

=Variables!PageCount.Value

पृष्ठ संख्या तक पहुँचने के लिए अपनी रिपोर्ट के मुख्य भाग के किसी भी भाग पर।

महत्वपूर्ण:कृपया ध्यान दें कि मैंने वैरिएबल सेट करने के लिए Globals!PageNumber का उपयोग करने का प्रयास किया, लेकिन अंत में यह रिपोर्ट बॉडी से पहुंच योग्य नहीं था। तो, यह कुछ ऐसा होना चाहिए जो हैडर/फ़ुटर या बॉडी दोनों से एक्सेस किया जा सके।

मेरे मामले में, मुझे अपने समूह के प्रत्येक उदाहरण के लिए पृष्ठ संख्या को रीसेट करना होगा। इसलिए मैंने समूह के अंत में एक ट्रिगर सेट किया है। (उदाहरण के लिए मैं जांचता हूं कि मेरे पास मेरा कुल मूल्य रिटर्न है, क्योंकि मैं प्रत्येक छोर के लिए जानता हूं मेरा समूह मेरा कुल प्रदर्शन होगा।

फंक्शन में होने के कारण IIF सही और गलत दोनों भागों को संसाधित किया जाएगा, इसलिए यदि आप सेटर्स को IIF . में डालते हैं जैसे नीचे:

=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),Variables!PageCount.SetValue(0))

 ) 

आपके पास हर समय मान 0 होगा, क्योंकि रिपोर्ट ट्रू पार्ट की जांच करेगी फिर असत्य भाग, दोनों सेटर्स को निष्पादित किया जाएगा (मान दो बार सेट किया जाएगा)

इसलिए हमें 2 बॉक्स चाहिए और कुछ इस तरह:(आपको अपनी चेकिंग शर्तों को अनावश्यक बॉक्स छिपाना होगा)

=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),"")
)

NOT IsNothing(ReportItems!TotalBox.Value) होने पर आपको इस बॉक्स को छिपाने की जरूरत है

=IIF(NOT IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(0),"")
)

फिर से आपको इस बॉक्स को छिपाने की जरूरत है जब IsNothing(ReportItems!TotalBox.Value)

बेशक आप समूह उदाहरण के अंत को निर्धारित करने के लिए किसी अन्य तरीके का उपयोग कर सकते हैं, जैसे:एक टेक्स्टबॉक्स बनाएं जिसमें केवल आपकी समूह तालिका के अंत में एक निश्चित मान हो। और इसे छिपाओ। जब आप ट्रिगर की जांच कर रहे हों तो मेरे जैसा ही तरीका अपनाएं।

यह 2008 R2 (शामिल) से ऊपर के सभी संस्करणों के लिए ठीक काम करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर सर्वर प्रबंधन स्टूडियो के साथ डेटाबेस आयात / निर्यात करें

  2. तारीख को केवल घंटे/मिनट तक छोटा करें

  3. SQL सर्वर में किसी अन्य संग्रहीत कार्यविधि में संग्रहीत कार्यविधि निष्पादित करें

  4. SQL सर्वर गणितीय कार्य (पूरी सूची)

  5. SQL सर्वर में N पंक्तियों का चयन करना