última cita en una semana

Un usuario Pregunto ✅

RMV

Hola,

Necesito crear un informe agrupado por semana.

Y la semana se calcula teniendo el sábado como primer día de la semana.

La semana debe mostrarse con la última fecha de la semana. ¿Qué fórmula es adecuada para esto?

Este es el resultado que necesito:

Fecha semana

1-Ene-17 W1-1 / 06/2017

2 de enero de 2017 W1-1 / 06/2017

3 de enero de 2017 W1-1 / 06/2017

4 de enero de 2017 W1-1 / 06/2017

5-ene-17 W1-1 / 06/2017

6-ene-17 W1-1 / 06/2017

7-ene-17 W2-1 / 13/2017

8-Ene-17 W2-1 / 13/2017

9-ene-17 W2-1 / 13/2017

10-Ene-17 W2-1 / 13/2017

11-Ene-17 W2-1 / 13/2017

12-Ene-17 W2-1 / 13/2017

13-Ene-17 W2-1 / 13/2017

14-ene-17 W3-1 / 20/2017

etc

Por favor amablemente ayude. Gracias.

CheenuSing

En respuesta a CheenuSing

Hola @RMV

Aquí tienes

1. Cree una columna para encontrar el número de semana de un mes basado en el día 1 del mes con el viernes como día de fin de semana.

NewWeekNo =
VAR WeekNumFri = WEEKNUM (‘Calendario'[Date], 16) / * Calcular el número de semana bsed el viernes fin de semana * /

VAR MonthWeekNoFri = WEEKNUM (FECHA ([Year],[MonthNumber], 1), 16)
/ * Genere el número de semana del primer día del mes * /

Regreso

WeekNumFri – MonthWeekNoFri + 1

2. Calcule el WeekEndDate de la siguiente manera

WeekEndDate = IF (MES (Fecha ([Year], 1,1) -WeekDay (Fecha ([Year], 1,1), 16) + SEMANA ([Date], 16) * 7)
<> Mes ([Date]),
MESES ([Date], 0),
Fecha([Year], 1,1) -WeekDay (Fecha ([Year], 1,1), 16) + SEMANA ([Date], 16) * 7)

Ene. De 2016Ene. De 2016Ago. De 2016Ago. De 2016

Tabla de muestra basada en las fórmulas anteriores.

Funcionará.

Si se resuelve, acepte esto como una solución y también proporcione KUDOS.

Salud

CheenuSing

CheenuSing

Hola @RMV

Prueba esto

Esto debería funcionar

WeekEndDate = Fecha ([Year], 1,1) – WeekDAY (Fecha ([Year], 1,1), 2) + SEMANA ([Date]) * 7

Dónde [Year] es una columna en su tabla de Calendario = AÑO (Calendario[Date])

[Date] es la fecha en su tabla de Calendario.

Si funciona para usted, acepte esto como una solución y también proporcione KUDOS.

Salud

CheenuSing

RMV

En respuesta a CheenuSing

@CheenuSing

Cuando lo usé para agrupar, se dividió en 2 para la misma semana, por ejemplo

S1 – 7/1/2017

S2 – 7/1/2017

S2 – 14/1/2017

S3 – 14/1/2017

S3 – 21/1/2017

etc

Necesito que se agrupe por semana, es decir

Enero – S1 – 6/1/2017

Enero – S2 – 13/1/2017

Enero – S3 – 20/01/2017

Enero – S4 – 27/1/2017

Enero – S5 – 31/1/2017

Febrero – S1 – 2/3/3017

Febrero – S2 – 2/10/2017

etc

CheenuSing

En respuesta a RMV

Hola @ RMV

Esto requiere un enfoque diferente. Necesita algo de tiempo para llegar a una solución.

Salud

CheenuSing

CheenuSing

En respuesta a CheenuSing

Hola @RMV

Aquí tienes

1. Cree una columna para encontrar el número de semana de un mes basado en el día 1 del mes con el viernes como día de fin de semana.

NewWeekNo =
VAR WeekNumFri = WEEKNUM (‘Calendario'[Date], 16) / * Calcular el número de semana bsed el viernes fin de semana * /

VAR MonthWeekNoFri = WEEKNUM (FECHA ([Year],[MonthNumber], 1), 16)
/ * Genere el número de semana del primer día del mes * /

Regreso

WeekNumFri – MonthWeekNoFri + 1

2. Calcule el WeekEndDate de la siguiente manera

WeekEndDate = IF (MES (Fecha ([Year], 1,1) -WeekDay (Fecha ([Year], 1,1), 16) + SEMANA ([Date], 16) * 7)
<> Mes ([Date]),
MESES ([Date], 0),
Fecha([Year], 1,1) -WeekDay (Fecha ([Year], 1,1), 16) + SEMANA ([Date], 16) * 7)

Ene. De 2016Ene. De 2016Ago. De 2016Ago. De 2016

Tabla de muestra basada en las fórmulas anteriores.

Funcionará.

Si se resuelve, acepte esto como una solución y también proporcione KUDOS.

Salud

CheenuSing

RMV

En respuesta a CheenuSing

¡Increíble! ¡Funciona correctamente!

¡Gracias @CheenuSing!

RMV

En respuesta a CheenuSing

Hola @CheenuSing,

Lo intenté y muestra la fecha del domingo como última fecha de la semana.

¿Cómo mostrar la fecha del viernes como última fecha de la semana?

Probé algunos cálculos, pero aún no tengo la solución.

Gracias

CheenuSing

En respuesta a RMV

Hola @RMV

Use esto para el viernes como última fecha de la semana.

WeekEndDate = Fecha ([Year], 1,1) -WeekDay (Fecha ([Year], 1,1), 16) + SEMANA ([Date], 16) * 7

Cambie 16 en la función WeekDay y WeekNum de la siguiente manera para la fecha de inicio de la semana diferente.

Número – Comienzo de la semana – Fin de la semana

1 o 17 – Domingo – Sábado

2 o 11 – Lunes – Domingo

12 – martes – lunes

13 – miércoles – martes

14 – jueves – miércoles

15 – Viernes – Jueves

16 – sábado – viernes

Salud

CheenuSing

Hola @RMV,

Puede crear una tabla de calendario y luego crear una columna calculada como la siguiente para devolver la última fecha dentro de cada semana. Consulte el archivo .pbix adjunto.

LastDate = CALCULATE (MAX (‘Calendario'[Date]), FILTRO (TODOS (‘Calendario’), AÑO (‘Calendario'[Date]) = AÑO (ANTES (Tabla1[Date])) && ANTES (‘Tabla1′[Week]) = ‘Calendario'[Week]))

q1.PNG

Atentamente,
Qiuyun Yu

RMV

En respuesta a v-qiuyu-msft

Hola @ v-qiuyu-msft,

No puedo obtener el resultado.

Vi que hay 2 tablas en el cálculo. ¿Es posible calcular solo la semana a partir de la tabla Calendario solamente?

Esto es para mostrar la coherencia de las semanas para mostrar según la fecha del calendario.

Por lo tanto, aún se pueden mostrar las semanas sin datos.

Gracias

En respuesta a RMV

Hola @RMV,

Puedes crear una columna para devolver última fecha de cada semana según la fecha de salida:

Columna 2 = CALCULAR (MAX (‘Tabla1′[Date]), FILTRO (TODOS (‘Tabla1’), ‘Tabla1′[Week]= ANTES (Tabla1[Week])))

q3.PNG

Pero como puede ver, para la semana 3, la última fecha devuelta es 2017-1-14 ya que no hay fecha completa dentro de la semana 3. Esa es la razón por la que necesito crear un calendario para que sea una referencia.

En su escenario, si desea devolver la última fecha dentro de cada semana según la fecha existente, puede crear una columna calculada arriba. Si desea regresar la última fecha de cada semana según el calendario exacto, intente la sugerencia en mi respuesta anterior.

Atentamente,
Qiuyun Yu

MarcelBeug

En Power Query, puede agregar una columna personalizada con fórmula:

= "W"&Text.From(Date.WeekOfYear([Date],Day.Saturday))&"-"&Text.From(Date.EndOfWeek([Date],Day.Saturday))

RMV

En respuesta a MarcelBeug

Hola @MarcelBeug,

intenté eso, pero obtuve un error: La sintaxis es incorrecta.

Intenté aplicarlo en mi fórmula dax.

Por cierto, la semana que intenté conseguir es la semana de cada mes.

Ya tengo la fórmula dax para este. Solo necesito obtener el último día de la semana.

Por favor amablemente ayude. Gracias

MarcelBeug

En respuesta a RMV

No puedo ayudarte con las fórmulas DAX.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *