Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Syndicate_Admin
Administrator
Administrator

Fecha de formato

Hola.

Nuestra empresa trabaja en períodos (un período de 4 semanas, no necesariamente alineado con un mes) y necesito formatear un valor de fecha en consecuencia.

Si una fecha es en o entre 21. Mayo 2023 y 17. Junio de 2023 debe mostrar "P6" (para el período 6).

Continuando en una roación de 4 semanas:

18. junio 2023 - 15. Julio 2023 "P7"

16. julio 2023 - 12. Agosto 2023 "P8"

y así sucesivamente.

Soy bastante nuevo en todo esto y una función IF no funcionó y me dio un mensaje de error.

¿Alguien puede echarme una mano con esto?

Gracias

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

El primer período siempre comienza alrededor de Año Nuevo, más/menos unos pocos días. Cada período dura 4 semanas y comienza el primer domingo y termina el último sábado. Hay 13 períodos y después del período 13 comienza una nueva rotación.

Sin embargo, ahora encontré una solución.

Syndicate_Admin
Administrator
Administrator

Eh

Puede realizar esta tarea creando una nueva columna y, posteriormente, mediante la fórmula DAX.

PeriodCode =

VAR CurrentDate = YourTableName[DateColumn]

VAR StartDate = FECHA(2023, 5, 21) // Actualizar con la fecha de inicio deseada

VAR DaysDiff = DATEDIFF(StartDate, CurrentDate, DAY)

VAR PeriodNumber = TECHO(DíasDiff / 28, 1)

DEVOLUCIÓN

INTERRUPTOR(

VERDADERO(),

AND(DaysDiff >= 0, DaysDiff < 28), "P" & PeriodNumber,

AND(DaysDiff >= 28, DaysDiff < 56), "P" & (PeriodNumber + 1),

AND(DaysDiff >= 56, DaysDiff < 84), "P" & (PeriodNumber + 2),

Agregue más casos para otros períodos según sea necesario

"Desconocido"

)

Después de eso, en la pestaña de modelado, cambie el formato a texto y después de usar la nueva columna calculada, puede lograr la salida deseada.

Gracias. Espero que esto ayude.

Syndicate_Admin
Administrator
Administrator

@Mischi

¿Tengo algunas preguntas?

1. ¿El período siempre comienza desde P6? ¿Qué pasa con la fecha anterior al 21/5/2023?

2. ¿Qué pasa con el próximo año? ¿Tendremos una nueva fecha de inicio o simplemente mantendremos la roation del 2023/5/21?

Syndicate_Admin
Administrator
Administrator

Hola @Mischi

Ver PBIX adjunto.

Es mejor agregar la columna de período en Power Query en lugar de DAX.
En el ejemplo establezco que P1 comienza el 1/1/2023, por lo que trajo fechas para todo el año 2023 como ejemplo.

1 - Crear una columna de índice que comience con 1. Esto numera cada fila del 1 al 365

2 - Agregar columna Step1_PeriodNo - esto realiza una división entera en el índice para dar una división sin ningún resto. Pero esto no maneja el día 28/56, etc. Así que si la declaración en PQ para manejar.
3 - Añadir columna Step2_PeriodNo - concatenar P y el número del paso anterior.

Los pasos 2 y 3 anteriores no son necesarios, pero solo para aprender. La columna Período combina esta lógica y es todo lo que necesita en su modelo.

Para obtener la ordenación correcta para los objetos visuales de Power BI, puse un cero inicial mediante Text.PadStart. Entonces, si está satisfecho con P06 en lugar de P6, todos hemos terminado. Si es absolutamente necesario que lea P6, una vez en Power BI, ponga una ordenación en Step1_PeriodNo.

Hay un par de otras cosas para administrar aquí, por ejemplo, varios años y el último día del año: P13 o P1.
Pero esto debería ponerte en marcha.

Otro recurso a tener en cuenta es la tabla de fechas extendida de la experta en EDNA Melissa de Kort que administra las semanas ISO, etc. y puede tener lo que necesita.

¿Respondí a su pregunta? ¡Marca mi publicación como una solución! ¡Aprecio tus felicitaciones! ¡Feliz de ayudar! !

Pete
Sitio web: https://binavigation.com
Enlazado en: https://www.linkedin.com/in/pete-smith-955b73181



Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors