March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe 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
Hola
1. Tengo diferentes cargas (negocio de transporte) para ser facturadas durante el mes, todas con un valor deudor.
Al final del mes en curso, se debe facturar el 80% de las cargas realizadas en el mes en curso; (mes actual - 1) debe ser 97%
facturado y (mes actual - 2) debe facturarse al 100%.
A medida que pasan los meses, los objetivos deben moverse en consecuencia.
Quiero que un gráfico de líneas indique el % de la factura actual frente al % objetivo, con el mes en el eje x.
¿Cómo puedo hacer que el objetivo se muestre en el mismo gráfico que una línea separada, con el % objetivo ajustándose a medida que pasa el tiempo?
2. El mes financiero en curso finaliza el día 5 del mes siguiente para la facturación del deudor.
¿Cómo puedo determinar el número de días hábiles restantes desde el día actual (días restantes para seguir haciendo facturas), junto con el
importe del deudor que aún debe facturarse con arreglo al porcentaje objetivo mencionado en el punto nº 1.
Agradeceré cualquier consejo sobre estos 2, gracias.
Solved! Go to Solution.
@MU001 ¿Qué tienes hasta ahora?
¿Tiene una tabla DimDate? ¿Tiene una columna MonthOffset? Si es así, puede crear una tabla Targets que se vea algo como esto (puede extenderse más allá de -2 meses si lo prefiere):
Compensación de mes | Blanco |
0 | 0.8 |
-1 | 0.97 |
-2 | 100 |
A continuación, relacione la columna Desplazamiento de mes en Destinos con Desplazamiento de mes en DimDate como muchos con filtro cruzado único (Filtros de dimDate Destino)
A continuación, puede utilizar DAX para comparar Target con Real:
Objetivo % = MAX(Target[Target])
% real = DIVIDE ( [Cargas facturadas] , [Cargas totales])
Luego coloque ambos valores en el gráfico por mes.
@MU001 Puede usar DATEDIFF para el punto número 2. ¿Quieres que se calcule a partir de la fecha de hoy? Y si estamos el 5 del mes, ¿debería comenzar a contar para el próximo mes ya?
Pruebe esta nueva medida:
Días restantes en el período de factura =
VAR _Today = HOY()
VAR _Day = DÍA(_Today)
VAR _NMonth = EOMONTH(_Today, 0) + 6
VAR _CMonth = EOMONTH(_Today, -1) +6
DEVOLUCIÓN
IF( _Day <=5, DATEDIFF(_Today, _CMonth, DAY), DATEDIFF(_Today, _NMonth, DAY) )
Para exlcude los fines de semana, necesita una columna de día de la semana en su tabla de fechas, luego puede usar DATESBETWEEN, tenga en cuenta que esto le dará 1 día más que DateDiff, por lo que es posible que desee cambiar el +6 a +5 en este caso:
https://dax.guide/datesbetween/
Días de semana restantes en el período de factura =
VAR _Today = HOY()
VAR _Day = DÍA(_Today)
VAR _NMonth = EOMONTH(_Today, 0) + 6
VAR _CMonth = EOMONTH(_Today, -1) +6
DEVOLUCIÓN
IF( _Day <=5,
CALCULATE( COUNTROWS(FILTER(DimDate, DimDate[Weekday] = "Yes"), DATESBETWEEN(DimDate[Date], _Today, _CMonth) ),
CALCULATE( COUNTROWS(FILTER(DimDate, DimDate[Weekday] = "Sí"), DATESBETWEEN(DimDate[Date], _Today, _NMonth) )
)
@MU001 ¿Qué tienes hasta ahora?
¿Tiene una tabla DimDate? ¿Tiene una columna MonthOffset? Si es así, puede crear una tabla Targets que se vea algo como esto (puede extenderse más allá de -2 meses si lo prefiere):
Compensación de mes | Blanco |
0 | 0.8 |
-1 | 0.97 |
-2 | 100 |
A continuación, relacione la columna Desplazamiento de mes en Destinos con Desplazamiento de mes en DimDate como muchos con filtro cruzado único (Filtros de dimDate Destino)
A continuación, puede utilizar DAX para comparar Target con Real:
Objetivo % = MAX(Target[Target])
% real = DIVIDE ( [Cargas facturadas] , [Cargas totales])
Luego coloque ambos valores en el gráfico por mes.
@AllisonKennedy, muchas gracias por su ayuda. Funcionó para agregar la columna Desvío. Ahora tengo los gráficos de líneas 100% como quería.
¿Es posible tal vez ayudar en el punto nr2 también, por favor? ¿Podré hacerlo con una columna de DayOffset?
@MU001 Puede usar DATEDIFF para el punto número 2. ¿Quieres que se calcule a partir de la fecha de hoy? Y si estamos el 5 del mes, ¿debería comenzar a contar para el próximo mes ya?
Pruebe esta nueva medida:
Días restantes en el período de factura =
VAR _Today = HOY()
VAR _Day = DÍA(_Today)
VAR _NMonth = EOMONTH(_Today, 0) + 6
VAR _CMonth = EOMONTH(_Today, -1) +6
DEVOLUCIÓN
IF( _Day <=5, DATEDIFF(_Today, _CMonth, DAY), DATEDIFF(_Today, _NMonth, DAY) )
@AllisonKennedy, muchas gracias. Parece funcionar con mis datos, solo necesito excluir los fines de semana de los días restantes, es decir, solo se deben contar los días hábiles (de lunes a viernes).
¿Cómo puedo hacerlo?
Para exlcude los fines de semana, necesita una columna de día de la semana en su tabla de fechas, luego puede usar DATESBETWEEN, tenga en cuenta que esto le dará 1 día más que DateDiff, por lo que es posible que desee cambiar el +6 a +5 en este caso:
https://dax.guide/datesbetween/
Días de semana restantes en el período de factura =
VAR _Today = HOY()
VAR _Day = DÍA(_Today)
VAR _NMonth = EOMONTH(_Today, 0) + 6
VAR _CMonth = EOMONTH(_Today, -1) +6
DEVOLUCIÓN
IF( _Day <=5,
CALCULATE( COUNTROWS(FILTER(DimDate, DimDate[Weekday] = "Yes"), DATESBETWEEN(DimDate[Date], _Today, _CMonth) ),
CALCULATE( COUNTROWS(FILTER(DimDate, DimDate[Weekday] = "Sí"), DATESBETWEEN(DimDate[Date], _Today, _NMonth) )
)
¡Me alegro de escucharlo!
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.