Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.
¡Hola, chicos!
Por favor, necesito mucho esta respuesta.
Tengo una columna de Power BI "Fecha" y necesito descuento 7 días a partir de esta fecha específica para despegar sábados, domingos y otras fechas de días festivos en una tabla de días festivos.
Ejemplo:
Columna de fecha (días de descuento en la fórmula) Dar como resultado una nueva columna de fecha
26/06/2024 -7 Días (días de red) = 18/06/2024
¿Es posible?
Solved! Go to Solution.
¡¡Hola!!
Este video de Youtube me ayuda mucho:
https://youtu.be/RD996KUYM8Q?list=PLzPjvUUXZT62h53QBORroNIyU8TyQILxM
Tilte del video de Youtube:
Hola @wendereis , @mark_endicott , @rajendraongole1 y @aduguid han contribuido con orientación y ofrecido soluciones a su pregunta. Tenga en cuenta lo siguiente al hacer una pregunta, ya que este es el decoro al hacer una pregunta.
Proporcione el archivo de Power BI Desktop de trabajo en curso (con información confidencial quitada) que cubra el problema o la pregunta por completo en un formato utilizable (no como una captura de pantalla). Puede cargar el archivo PBIX en un servicio de almacenamiento en la nube como OneDrive, Google Drive, Dropbox o en un repositorio de Github y, a continuación, compartir la dirección URL de un archivo.
https://community.fabric.microsoft.com/t5/Community-Blog/How-to-provide-sample-data-in-the-Power-BI-...
Muestre el resultado esperado en función de los datos de muestra que proporcionó.
https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...
Esto permite a los miembros del foro evaluar el estado del modelo, la capa de informe, las relaciones y cualquier DAX aplicado.
@wendereis - El error parece deberse a que está creando una medida, en lugar de una columna.
El código que le he dado funcionará en una columna, pero quiero hacer un cambio que tenga en cuenta varios días festivos consecutivos.
VAR CurrentDate = 'Table (8)'[Date]
VAR NumberOfDaysToSubtract = 3
VAR weekend_adjustment =
SWITCH ( WEEKDAY ( 'Table (8)'[Date], 2 ), 1, 2, 2, 2, 3, 2, 0 )
VAR minus_weekends = ( CurrentDate - NumberOfDaysToSubtract ) - weekend_adjustment
VAR holiday_adjustment = CALCULATE( min('Table (8)'[Date] ), REMOVEFILTERS( 'Table (8)'[Date]), 'Table (9)'[holiday] > minus_weekends )
VAR calc =
IF ( minus_weekends IN VALUES ( 'Table (9)'[holiday] ), holiday_adjustment, minus_weekends)
RETURN
calc
Esto ahora le dará el siguiente día posible después de días festivos consecutivos.
Para que esto funcione para -7, simplemente puede usar el ajuste del VAR de mi medición anterior.
Para -1 puede aprender cómo funciona el ajuste y adaptarlo usted mismo. No estamos aquí para hacer tu trabajo por ti, sino para ayudarte a aprender.
"Su error parece deberse a que está creando una medida, en lugar de una columna".
Respuesta: No, estaba insertando su fórmula en una "nueva columna" (creando una nueva columna). El error sigue ejecutándose.
Muchas gracias por intentar ayudarme y perdón por detenerte el tiempo para intentar resolverlo.
@wendereis - Amplíe su captura de pantalla para mostrar cuál es el error. Ha cortado la captura de pantalla donde se mostraría el error (aunque puedo ver que comienza después de la primera variable).
Aquí hay una captura de pantalla mía para mostrar que el código funciona (nota: he establecido el 27/06 y el 28/06 como días festivos para probar):
Hola mi amigo.
además en mi Power BI está apareciendo un mensaje de error después de usar esta fórmula, a usted muestra que funciona en su Power BI como impresión / imagen que muestra, lo estoy marcando como "solución aceptada" para una ayuda total.
Estoy tratando de descubrir cómo hacer que su fórmula funcione para mí sin error, u otra forma de resolver mi problema.
¡¡Muchas gracias!!
Error de mi nueva columna:
Por favor, vea la imagen adjunta ampliada:
@wendereis - Esta captura de pantalla no se ha ampliado. No puedo ver el error. Necesito ver algo como esto:
Observe la línea de error en la parte inferior de la ventana de DAX.
Mensaje de error traducido: "se detectó una dependencia circular Painel de Controle - Outbound[1_Teste2], 08daf9f0-f7fb-4f26-a951-77ce88ec6706, Painel de Controle - Outbound[1_Teste2].."
@wendereis - Ok, es un error extraño, pero te prometo que no está siendo causado por mi DAX.
Tiene otra columna llamada 1_Teste2 - ¿Puede eliminar esto y ver qué hace con este error?
¡¡Hola!!
Este video de Youtube me ayuda mucho:
https://youtu.be/RD996KUYM8Q?list=PLzPjvUUXZT62h53QBORroNIyU8TyQILxM
Tilte del video de Youtube:
No tengo otra columna que se llame "1_Teste2".
😞
Desafortunadamente, todavía me sigue apareciendo este mensaje.
además de mi Power BI está apareciendo este mensaje de error después de usar esta fórmula, como se muestra funciona en su Power BI como impresión / imagen que muestra, lo estoy marcando como "solución aceptada" para una ayuda total.
Estoy tratando de descubrir cómo hacer que su fórmula funcione para mí sin error, u otra forma de resolver mi problema.
¡¡Muchas gracias!!
@wendereis - Si interpreto correctamente su requerimiento, algo como esto funcionará:
VAR CurrentDate = 'Table (8)'[Date]
VAR NumberOfDaysToSubtract = 7
VAR adjustment =
SWITCH ( WEEKDAY ( 'Table (8)'[Date], 2 ), 1, 4, 2, 5, 3, 3, 4, 2, 5, 2 )
RETURN
IF (
OR (
WEEKDAY ( CurrentDate, 2 ) IN { 6, 7 },
LOOKUPVALUE ( 'Table (9)'[holiday], 'Table (9)'[holiday], CurrentDate )
),
BLANK (),
( CurrentDate - NumberOfDaysToSubtract ) - adjustment
)
Si no es así, debe proporcionar más datos de muestra y las salidas deseadas.
Sigue mis comentarios:
La tabla y la columna en azul es la columna de fecha Necesito descontar 3 días sin --> Sábados, domingos y días festivos: Por ejemplo:
----------------------------------------------------------------------------------------------------------------------
Columna de fecha (días de descuento en la fórmula) Resultado Nuevo esperado Columna de fecha
28/06/2024 -3 Días (sin sábado, domingo y festivos ) = 25/06/2024
-----------------------------------------------------------------------------------------------------------------------
Nota: He aplicado su fórmula y mi resultado es [incorrecto] 23/06/2024 en lugar de 25/06/2024.
(En este caso solo descuento sábado y domingo. Puede ser en otros casos que tendré que descontar más de 1 día además del sábado y el lunes si es alguna fecha de vacaciones).
------------------------------------------------------------------------------------------------------------
FÓRMULA:
Column_Test (nueva columna) =
@wendereis - Empezaste diciendo que necesitabas -7 días, ahora dices que quieres -3. Esto cambia el ajuste que debe hacer, porque 7 días cruzarán más fines de semana que 3.
Ahora también entiendo lo que hay que hacer con las vacaciones. Lo siguiente ahora debería funcionar para usted:
VAR CurrentDate = 'Table (8)'[Date]
VAR NumberOfDaysToSubtract = 3
VAR weekend_adjustment =
SWITCH ( WEEKDAY ( 'Table (8)'[Date], 2 ), 1, 2, 2, 2, 3, 2, 0 )
VAR minus_weekends = ( CurrentDate - NumberOfDaysToSubtract ) - weekend_adjustment
VAR minus_holidays =
IF ( minus_weekends IN VALUES ( 'Table (9)'[holiday] ), 1, 0 )
VAR holiday_adjustment = minus_weekends - minus_holidays
RETURN
holiday_adjustment
Si funciona, por favor acéptelo como la solución.
Pero tengo que hacerlo con 3 días también y en otra columna con 7 días y en otra columna 1 día de diferencia.
Nota:
En mi prueba de ayer con 7 días, la fórmula descontó más de 7 días.
Hola @wendereis : cree una nueva columna en Power BI que descuente 7 días laborables (excluidos sábados, domingos y festivos) a partir de una fecha específica.
Espero que tenga fecha de vacaciones, así que no estoy usando los valores de la tabla de fechas de vacaciones.
Fecha de descuento =
VAR CurrentDate = 'YourTable'[Date]
VAR NumberOfDaysToSubtract = 7
VAR AllDates = CALENDAR(MIN('TuTabla'[Fecha]), MAX('TuTabla'[Fecha]))
VAR FechasDetrabajo =
FILTRO (
AllDates,
NOT ( DÍA DE LA SEMANA ( [Fecha], 2 ) IN { 6, 7 } ) && -- Excluir sábado (6) y domingo (7)
NOT ( [Fecha] IN VALORES ( 'Vacaciones'[FechaVacaciones] ) ) -- Excluir días festivos
)
DEVOLUCIÓN
MAXX (
TOPN (
NumberOfDaysToSubtract + 1,
FILTRO (
Fechas de trabajo,
[Fecha] <= FechaActual
),
[fecha],
DESC
),
[Fecha]
)
¿He respondido a tu pregunta? ¡Marca mi publicación como una solución! ¡Esto ayudará a otros en el foro!
¡Agradezco sus felicitaciones!
Intente crear una columna calculada.
Result Date =
VAR StartDate = 'YourTable'[Date]
VAR Holidays = SELECTCOLUMNS(HolidayTable, "Date", HolidayTable[HolidayDate])
RETURN
CALCULATE(
MAXX(
ADDCOLUMNS(
GENERATESERIES(1, 100),
"Workday",
IF(
WEEKDAY(DATEADD(StartDate, -[Value], DAY), 2) <= 5 &&
NOT(DATEADD(StartDate, -[Value], DAY) IN Holidays),
DATEADD(StartDate, -[Value], DAY),
BLANK()
)
), [Workday]
),
FILTER(
ADDCOLUMNS(
GENERATESERIES(1, 100),
"Workday",
IF(
WEEKDAY(DATEADD(StartDate, -[Value], DAY), 2) <= 5 &&
NOT(DATEADD(StartDate, -[Value], DAY) IN Holidays),
DATEADD(StartDate, -[Value], DAY),
BLANK()
)
),
[Workday] <> BLANK() && RANKX(
ADDCOLUMNS(
GENERATESERIES(1, 100),
"Workday",
IF(
WEEKDAY(DATEADD(StartDate, -[Value], DAY), 2) <= 5 &&
NOT(DATEADD(StartDate, -[Value], DAY) IN Holidays),
DATEADD(StartDate, -[Value], DAY),
BLANK()
)
),
[Workday]
) = 7
)
)
No era trabajo. Es muy complejo.
Check out the May 2025 Power BI update to learn about new features.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.