Reporting Services supprime L'Heure de DateTime dans Expression

J'essaie de remplir une expression (valeur par défaut d'un paramètre) avec une heure explicite. Comment puis-je supprimer l'Heure de la fonction "maintenant"?

55
demandé sur pedram 0000-00-00 00:00:00

14 réponses

Quelque Chose comme ceci:

=FormatDateTime(Now, DateFormat.ShortDate) 

Où "maintenant" peut être remplacé par le nom du champ date/heure que vous essayez de convertir.)
Par exemple,

=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)
86
répondu Michael Maddox 2012-04-27 05:46:46

Puisque SSRS utilise VB, vous pouvez effectuer les opérations suivantes:

=Today() 'returns date only

Si vous deviez utiliser:

=Now() 'returns date and current timestamp
39
répondu RSolberg 2009-09-08 18:32:41
=CDate(Now).ToString("dd/MM/yyyy")

Bien que vous codiez en dur la date formart dans une locale.

22
répondu Perhentian 2016-02-04 12:12:18

Si vous devez afficher le champ sur l'en-tête du rapport, essayez ceci... Cliquez avec le bouton droit sur zone de texte > Propriétés > Catégorie > date > Sélectionnez * Format (notez que cela maintiendra les paramètres régionaux).

Puisque cette question a été vue plusieurs fois, je la poste... Espérons que cela aide.

entrez la description de l'image ici

14
répondu singhswat 2015-11-20 09:31:03

Utilisez simplement DateValue(Now) si vous voulez que le résultat soit de type DateTime.

6
répondu user1165019 2012-04-13 12:23:55

Si le format de données est MM-dd-yyyy ensuite, essayez ci-dessous,

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

de Même, vous pouvez essayer celui-ci,

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

Sortie: 02-04-2016

Note:
Now() va vous montrer date actuelle et horodatage

Today() va vous montrer Date seulement pas le temps de la partie.

Aussi, vous pouvez définir n'importe quel format de date au lieu de MM-dd-yyyy dans mon exemple.

5
répondu pedram 2016-02-04 12:17:38

Dans la propriété format de n'importe quel champ de zone de texte, vous pouvez utiliser des chaînes de format:

Par exemple D / M / Y, D, etc.

4
répondu zzawaideh 2009-09-09 16:02:46

Une chose qui pourrait aider les autres est que vous pouvez placer: =CDate(Now).ToString("dd/MM/yyyy") dans la propriété Format String de SSRS qui peut être obtenue en cliquant avec le bouton droit sur la colonne. C'est la façon la plus propre de le faire. Alors votre expression ne sera pas trop grande et difficile à "analyser" visuellement:)

2
répondu lbranjord 2013-02-27 16:02:57
    FormatDateTime(Parameter.StartDate.Value)
1
répondu Alivia 2013-01-11 18:57:34

Je viens tard dans le jeu mais j'ai essayé toutes les solutions ci-dessus! impossible de l'obtenir pour laisser tomber le zéro dans le paramètre et me donner une valeur par défaut (il a ignoré la mise en forme ou est apparu vide). J'utilisais SSRS 2005, donc j'étais aux prises avec ses problèmes maladroits / buggés.

Ma solution de contournement consistait à ajouter une colonne à la table personnalisée [DimDate] dans ma base de données à partir de laquelle je tirais des dates. J'ai ajouté une colonne qui était une représentation de chaîne dans le format souhaité de la colonne [date]. Ensuite, j'ai créé 2 nouveaux ensembles de données dans SSRS qui ont extrait les requêtes suivantes pour 2 valeurs par défaut pour mes valeurs par défaut' To ' & 'From' -

" et "

    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()
                     )
1
répondu Chris Wood 2014-06-24 14:12:31

Ma solution pour un paramètre Date / heure:

=CDate(Today())

L'astuce consiste à convertir en DateTime comme recommandé Perhentian.

1
répondu will webster 2015-09-18 01:14:42

Trouvé la solution à partir de ici

Cela obtient la dernière seconde de la journée précédente:

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

Renvoie la dernière seconde de la semaine précédente:

=dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today()))))
1
répondu Jeff 2016-02-04 12:11:53

Concaténez simplement une chaîne à la fin de la valeur:

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

Et cela devrait fonctionner!

1
répondu amad 2017-07-14 01:15:31

Cela doit être fait dans l'ensemble de données. Y

0
répondu