2011-06-10 13 views
6

मैं एसएसआरएस रिपोर्ट में समय अवधि प्रदर्शित करना चाहता हूं मेरा डीबी क्षेत्र एसक्यूएल में समय है। यह टाइम्स पैन को एसएसआरएस में परिवर्तित करता है।एसएसआरएस रिपोर्ट के भीतर दिए गए स्ट्रिंग प्रारूप में समय मूल्य कैसे प्रदर्शित करें?

स्वरूप है: 1:00 PM पर - 3:50 PM पर

मैं यह कैसे कर सकते हैं?

Fields!StartTime.Value.ToString() + " PM - " + 
     Fields!EndTime.Value.ToString() + " PM" is not working.. 

उत्तर

16

यहाँ SSRS में Custom code की मदद से इसे प्राप्त करने में से एक संभव तरीका है। निम्नलिखित उदाहरण एसएसआरएस रिपोर्ट बनाने के विवरण में नहीं जाते हैं, लेकिन एसएसआरएस के भीतर समय स्वरूपण कैसे प्राप्त किया जा सकता है, इस बारे में एक विचार देना चाहिए।

चरण-दर-चरण प्रक्रिया:

  1. एसक्यूएल स्क्रिप्ट के तहत प्रदान की स्क्रिप्ट का उपयोग कर dbo.Timespans नाम के एक तालिका बनाएं। स्क्रीनशॉट # में दिखाए गए कुछ डेटा के साथ इसे पॉप्युलेट करें।

  2. एक एसएसआरएस रिपोर्ट बनाएं और डेटा स्रोत के रूप में तालिका dbo.Timespans का उपयोग करें। स्क्रीनशॉट देखें # ।

  3. Report मेनू पर क्लिक करें और Report Properties चुनें। बाएं सेक्शन पर Code टैब का चयन करें।

  4. कस्टम कोड टेक्स्टबॉक्स में एसएसआरएस कस्टम कोड अनुभाग के तहत दिए गए कोड को पेस्ट करें। ओके पर क्लिक करें। यह कोड timeSpan मान और format स्ट्रिंग लेता है। फिर यह समय डेटा प्रारूपित करेगा और एक स्ट्रिंग के रूप में वापस आ जाएगा। स्क्रीनशॉट देखें # ।

  5. समय स्तंभ पर राइट-क्लिक करें और Expression... अभिव्यक्ति =Code.FormatTimeSpan(Fields!StartTime.Value, "hh:mm tt") + " - " + Code.FormatTimeSpan(Fields!EndTime.Value, "hh:mm tt") चिपकाएं Set expression for: Value पाठ बॉक्स में चयन करें। स्क्रीनशॉट देखें # और # ।

  6. स्क्रीनशॉट # रिपोर्ट के निष्पादन को दिखाता है।

आशा है कि मदद करता है।

एसक्यूएल स्क्रिप्ट:

CREATE TABLE [dbo].[Timespans](
    [Id] [int] IDENTITY(1,1) NOT NULL, 
    [StartTime] [time](7) NULL, 
    [EndTime] [time](7) NULL, 
CONSTRAINT [PK_Timespans] PRIMARY KEY CLUSTERED ([Id] ASC)) ON [PRIMARY] 
GO 

SSRS कस्टम कोड:

public function FormatTimeSpan(timeSpanValue as TimeSpan, format as string) as string 
    Dim dateValue as DateTime 
    dateValue = new DateTime(timeSpanValue.Ticks) 
    return dateValue.ToString(format) 
end function 

स्क्रीनशॉट # 1:

1

स्क्रीनशॉट # 2:

2

स्क्रीनशॉट # 3:

3

स्क्रीनशॉट # 4:

4

स्क्रीनशॉट # 5:

5

स्क्रीनशॉट # 6:

6

+0

+1 बहुत ही गहन जवाब। – gbn

+0

आपको बहुत धन्यवाद शिव :) – Touseef

+0

@ शिवा +1 यह बहुत बहुत अच्छा है आपको बहुत धन्यवाद –