Domanda

Sto cercando di popolare un'espressione (valore predefinito di un parametro) con un'ora esplicita.Come rimuovo l'ora dalla funzione "adesso"?

È stato utile?

Soluzione 12

Trovato la soluzione da qui

Questo diventa l'ultimo secondo del giorno precedente:

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

Questo restituisce l'ultimo secondo della settimana precedente:

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

Altri suggerimenti

Qualcosa di simile a questo:

=FormatDateTime(Now, DateFormat.ShortDate) 

Dove "Now" può essere sostituito dal nome del campo data / ora che si sta cercando di convertire.)
Per esempio,

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

Dal SSRS utilizza VB, è possibile effettuare le seguenti operazioni:

=Today() 'returns date only

Se si sceglie di usare:

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

Anche se sono duro di codifica del formato della data per un locale.

Se si deve visualizzare il campo in intestazione del report quindi provare questo ... RightClick sulla Casella di testo> Proprietà> categoria> Data> selezionare * Formato (Nota: questo manterrà le impostazioni internazionali).

Dal momento che questa domanda è stato visto molte volte, sto postando è ... Speranza che aiuta.

enter image description qui

Basta usare DateValue(Now) se si desidera che il risultato sia del tipo di dati DateTime.

Se il formato dei dati previsto è MM-dd-yyyy quindi prova di seguito,

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

Allo stesso modo puoi provare questo,

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

Produzione: 02-04-2016

Nota:
Now() ti mostrerò data odierna E marca temporale

Today() ti mostrerò Data solo non parte del tempo.

Inoltre puoi impostare qualsiasi formato di data invece di MM-dd-yyyy nel mio esempio.

Nella proprietà formato di qualsiasi campo di testo è possibile utilizzare stringhe di formato:

es. D / M / Y, D, ecc

Una cosa che potrebbe aiutare gli altri è che è possibile inserire: =CDate(Now).ToString("dd/MM/yyyy") in formato STRING proprietà di SSRS che può essere ottenuto facendo clic destro la colonna. Questo è il modo più pulito per farlo. Allora la vostra espressione non sarà troppo grande e difficile da visivamente "analizzare":)

    FormatDateTime(Parameter.StartDate.Value)

sto arrivando alla fine del gioco, ma ho provato tutte le soluzioni di cui sopra! Non sono riuscito a farlo cadere lo zero del nel parametro e dammi un default (è ignorato la formattazione o è apparso vuoto). Stavo usando SSRS 2005 così è stato alle prese con i suoi problemi goffo / buggy.

La mia soluzione era di aggiungere una colonna alla tabella personalizzata [DimDate] nel mio database che stavo tirando risale. Ho aggiunto una colonna che era una rappresentazione stringa nel formato desiderato della colonna [data]. Poi ho creato 2 nuovi set di dati in SSRS che trainavano le seguenti query per 2 di default per la mia 'a' e 'da' la data di default -

'da'

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

'su'

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

La mia soluzione per un parametro Data / Ora:

=CDate(Today())

Il trucco è quello di convertire di nuovo ad un DateTime come raccomanda Perhentian.

Proprio concatenare una stringa alla fine del valore:

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

e questo dovrebbe funzionare!

Questo dovrebbe essere fatto nel set di dati. Si potrebbe fare questo

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

In Layout SSRS, solo fare questo =Fields!DateColumnName.Value

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top