validaciones switch services para funciones fecha expresiones ejemplos code reporting-services ssrs-2008-r2 ssrs-2012

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"

  1. Reemplace FieldName con su campo de fecha
  2. Reemplace el Dataset con su nombre de Dataset

    = "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"