reporting-services - para - switch reporting services
Formato de fecha y hora en la expresión de SSRS (2)
SSRS no tiene soporte integrado para números ordinales (es decir, "1st" o "2nd" en lugar de "1" o "2"). Esta página contiene código personalizado para agregar esta funcionalidad a su informe de SSRS; sin embargo, es un poco incorrecto. Aquí hay una versión corregida:
Public Function FormatOrdinal(ByVal day As Integer) as String
'' Starts a select case based on the odd/even of num
if(day = 11 or day = 12 or day = 13)
'' If the nymber is 11,12 or 13 .. we want to add a "th" NOT a "st", "nd" or "rd"
return day.ToString() + "th"
else
'' Start a new select case for the rest of the numbers
Select Case day Mod 10
Case 1
'' The number is either 1 or 21 .. add a "st"
Return day.ToString() + "st"
Case 2
'' The number is either a 2 or 22 .. add a "nd"
Return day.ToString() + "nd"
Case 3
'' The number is either a 3 or 33 .. add a "rd"
Return day.ToString() + "rd"
Case Else
'' Otherwise for everything else add a "Th"
Return day.ToString() + "th"
End Select
end if
End Function
Si agrega este código a la sección de código de su informe en propiedades de informe, su expresión de cuadro de texto sería:
Code.FormatOrdinal(Day(Globals!ExecutionTime)) & " " & MonthName(Month(Globals!ExecutionTime), False) & " - " & Code.FormatOrdinal(Day(DateAdd("d", -30,Globals!ExecutionTime))) & " " & MonthName(Month(DateAdd("d", -30,Globals!ExecutionTime)), False)
1.
Parte de mi consulta es así:
SELECT * FROM TableA
WHERE ColumnA >= DATEADD(DAY, - 30, GETDATE())
Con la expresión en la cláusula where anterior, puede obtener datos continuos de 30 días sin tener que proporcionar valores. Ahora los usuarios del informe quieren verlo representado como:
2nd April – 1st May
cuando se ejecuta el informe Sabiendo que no tengo parámetros ya que el requisito es no usar parámetros, ¿cómo hago referencia a "> = DATEADD (DAY, - 30, GETDATE ())" para reflejar la fecha de inicio y la fecha de finalización en el informe?
Haga clic con el botón derecho en el Textbox
, vaya a Textbox Properties
, haga clic en la Number tab
, haga clic en la opción de custom format
luego haga clic en el botón fx
en negro.
Escribir solo una línea de código hará su trabajo de una manera más simple:
Se abrirá un formulario, copiará el texto a continuación y lo pegará allí para que necesite cambiar el texto siguiente con el campo de fecha de su base de datos.
Fields! FieldName.Value, "Dataset"
- Reemplace
FieldName
con su campo de fecha Reemplace el
Dataset
con su nombre deDataset
= "d" + switch (int (Day ((Fields! FieldName.Value, "Dataset"))) mod 10 = 1, "''st''", int (Day ((Fields! FieldName.Value, "Dataset") )) mod 10 = 2, "''nd''", int (Day ((Fields! FieldName.Value, "Dataset"))) mod 10 = 3, "''rd''", true, "''th''") + "MMMM, aaaa"