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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

DAX para el porcentaje de día a partir de una semana

Digamos que tienes una tabla de fechas

Y una tabla de datos de Ventas

Y una dimensión de los productos (Tipo de producto)

Poniendo todo esto junto, ¿hay alguna medida que se pueda crear que llegue con el porcentaje de ventas de ese día contra toda la semana?

Supongo que necesito tener una semana No en la tabla de fechas para usar en el DAX junto con el nombre del día

los resultados terminarán en una matriz

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

@DebbieE , Número de semana, mejor rango de semana en semana de año ,

Entonces puedes semanar datos como

Esta semana = CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]=max('Date'[Week Rank])))

Día % = dividir(suma('Tabla'[Cantidad]), [Esta semana])

necesita una nueva columna

nuevas columnas
Fecha de inicio de la semana = 'Fecha'[Fecha]+-1*WEEKDAY('Fecha'[Fecha],2)+1
Fecha de fin de semana = 'Fecha'[Fecha]+ 7-1*WEEKDAY('Fecha'[Fecha],2)
Rango de la semana = RANKX(all('Date'),'Date'[Fecha de inicio de la semana],,ASC,Dense)
O
Rango de semana = RANKX(all('Date'),'Date'[Year Week],,ASC,Dense) //YYYYWW formato

Estoy recibiendo el error en el primer Rango de semana se puede determinar un solo valor para la columna Semana Fecha de inicio que creo que parece razonable porque en la dimensión de fecha la fecha de inicio de la semana es la misma para 7 valores? Parece que no puedo llegar más lejos con esa primera opción.

@DebbieE , Espero que esté creando la fecha de inicio de la semana como columna en una tabla de fechas

ejemplo

Fecha = ADDCOLUMNS( CALENDARIO(fecha(2018,01,01), max(Ventas[Fecha de venta]))
, "Mes Año", FORMATO([Fecha], "MMM-AAAA")
, "Month Year Sort" , (year([Date])*100) + MONTH([Date]) ,
"Año" , Año([Fecha]) , "Semana", formato(WEEKNUM([Fecha],2),"\W00")
, "Semana del año" , (año([Fecha])*100) + SEMANA([Fecha],2)
, "Día de la semana" , WEEKDAY([Fecha],2)
, "Fecha de inicio de la semana", [Fecha] - WEEKDAY([Fecha],2) +1
, "Nombre del día de la semana" , Formato([Fecha], "ddd")
)

Sí, estoy creando la fecha de inicio de la semana en la tabla Fecha

así que hay 7 filas con la misma fecha de inicio de la semana, por lo que creo que no funciona.

También probé con la opción 2 en la semana del año en la tabla Dim y esto dice que no se puede determinar. Cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación.

Es realmente difícil saber qué hacer porque no sé qué resultados debería obtener en los puntos específicos del proceso. ¿Debo añadir una ronda mínima al comienzo de la semana? esto al menos hace que el DAX funcione, pero cada valor es 1?

He llegado a él sin usar el RANK porque no funcionó para mí. Creé un campo de semana de año en la tabla de fecha y hora de Power Query. Por ejemplo, 202152 y utilizar este

Cantidad del pedido por semana % =
Dónde varOrderQtyWeek = CALCULAR(SUMA(FactResellerSales[Cantidad del pedido]), FILTRO(TODO(DimDate), DimDate[Semana del año]))

DEVOLUCIÓN DIVIDIR(SUMA(FactResellerSales[Cantidad del pedido]), varOrderQtyWeek)
parece estar haciendo un truco y se basa en la información anterior

¿@DebbieE

El uso de un campo de semana de año en la tabla De fecha es bueno. Luego, también puede usar la siguiente medida para obtener el porcentaje.

Order Quantity by Week % =
VAR varWeekNo = MAX ( DimDate[Year Week] ) // or selectedvalue(DimDate[Year Week])
VAR varOrderQtyDay = SUM ( FactResellerSales[Order Quantity] )
VAR varOrderQtyWeek =
    CALCULATE (
        SUM ( FactResellerSales[Order Quantity] ),
        ALL ( DimDate[Date] ),
        DimDate[Year Week] = varWeekNo
    )
RETURN
    DIVIDE ( varOrderQtyDay, varOrderQtyWeek )

Si agrega la fecha de inicio de la semana o la fecha de finalización de la semana a la tabla fecha, solo necesita reemplazar DimDate[Semana del año] con DimDate[Fecha de inicio de la semana] en la medida. El resultado debe ser el mismo.

Saludos
Equipo de soporte de la comunidad _ Jing
Si esta publicación ayuda, por favor acéptala como Solución para ayudar a otros miembros a encontrarla.

gracias, aunque el usuario acaba de redefinir completamente lo que ahora quiere para esta métrica, por lo que posiblemente vuelva al tablero de dibujo.

Sin embargo, probé esto y le hizo esto a mi matriz, lo cual no quiero (O subestimar para ser honesto).

NoIdea.JPG

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors