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)
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)
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
v-qiuyu-msft
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]))
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
v-qiuyu-msft
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])))
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.