سؤال

أحاول ملء تعبير (القيمة الافتراضية للمعلمة) مع وقت صريح. كيف يمكنني إزالة الوقت من وظيفة "الآن"؟

هل كانت مفيدة؟

المحلول 12

وجدت الحل من هنا

هذا يحصل على آخر ثانية من اليوم السابق:

DateAdd("s",-1,DateAdd("d",1,Today())

هذا يعيد الثانية الأخيرة من الأسبوع السابق:

=dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today()))))

نصائح أخرى

شيء من هذا القبيل:

=FormatDateTime(Now, DateFormat.ShortDate) 

حيث يمكن استبدال "الآن" باسم حقل التاريخ/الوقت الذي تحاول تحويله.)
على سبيل المثال،

=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)

نظرًا لأن SSRS تستخدم VB ، يمكنك القيام بما يلي:

=Today() 'returns date only

إذا كنت ستستخدم:

=Now() 'returns date and current timestamp
=CDate(Now).ToString("dd/MM/yyyy")

على الرغم من أنك ترسم تاريخ Formart إلى لغة.

إذا كان عليك عرض الحقل على رأس التقرير ، فحاول هذا ... RightClick على Textbox> Properties> الفئة> Date> Select *Format (لاحظ أن هذا سيحافظ على الإعدادات الإقليمية).

نظرًا لأن هذا السؤال قد تم عرضه عدة مرات ، فإنني أنشره ... أتمنى أن يساعد ذلك.

enter image description here

فقط استخدم DateValue(Now) إذا كنت تريد أن تكون النتيجة DateTime نوع البيانات.

إذا كان تنسيق البيانات المتوقع هو MM-dd-yyyy ثم حاول أدناه,

=CDate(Now).ToString("MM-dd-yyyy")

وبالمثل ، يمكنك تجربة هذا ،

=Format(Today(),"MM-dd-yyyy") 

انتاج: 02-04-2016

ملحوظة:
Now() سوف تظهر لك التاريخ الحالي و طابع زمني

Today() سوف تظهر لك تاريخ فقط ليس جزء الوقت.

كما يمكنك تعيين أي تنسيق للتاريخ بدلاً من MM-dd-yyyy في المثال الخاص بي.

في خاصية التنسيق لأي حقل مربع نص ، يمكنك استخدام سلاسل التنسيق:

مثل د/م/ص ، د ، إلخ.

شيء واحد قد يساعد الآخرين هو أنه يمكنك وضع: =CDate(Now).ToString("dd/MM/yyyy") في خاصية سلسلة التنسيق الخاصة بـ SSRs التي يمكن الحصول عليها بالنقر بزر الماوس الأيمن على العمود. هذه هي أنظف طريقة للقيام بذلك. ثم لن يكون تعبيرك كبيرًا جدًا ويصعب "تحليل" بصريًا :)

    FormatDateTime(Parameter.StartDate.Value)

أنا قادم في وقت متأخر من اللعبة ولكني جربت كل الحلول أعلاه! لم أستطع الحصول عليها لإسقاط الصفر في المعلمة وتعطيني افتراضيًا (تجاهل التنسيق أو ظهر فارغًا). كنت أستخدم SSRS 2005 ، لذا كنت تكافح مع مشكلاتها العائلية / العربات التي تجرها الدواب.

كان الحل الخاص بي هو إضافة عمود إلى جدول [dimdate] المخصص في قاعدة البيانات الخاصة بي التي كنت أسحبها من التواريخ. أضفت عمودًا كان تمثيلًا للسلسلة في التنسيق المطلوب للعمود [Date]. قمت بعد ذلك بإنشاء مجموعتين جديدتين في SSRs التي سحبت في الاستعلامات التالية للاثنتين الافتراضيتين لـ "إلى" و "من" Date Date Defaults -

'من عند'

    SELECT  Datestring
    FROM    dbo.dimDate
    WHERE   [date] = ( SELECT   MAX(date)
                       FROM     dbo.dimdate
                       WHERE    date < DATEADD(month, -3, GETDATE()
                     )

'ل'

    SELECT  Datestring
    FROM    dbo.dimDate
    WHERE   [date] = ( SELECT   MAX(date)
                       FROM     dbo.dimdate
                       WHERE    date <= GETDATE()
                     )

حلي لمعلمة التاريخ/الوقت:

=CDate(Today())

الحيلة هي تحويل مرة أخرى إلى وقت البيانات كما يوصي Perhentian.

فقط تسلسل سلسلة إلى نهاية القيمة:

Fields!<your field>.Value & " " 'test' 

وهذا يجب أن يعمل!

يجب أن يتم ذلك في مجموعة البيانات. يمكنك القيام بذلك

Select CAST(CAST(YourDateTime as date) AS Varchar(11)) as DateColumnName

في SSRS تخطيط ، فقط افعل هذا =Fields!DateColumnName.Value

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top