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

Be 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

Reply
Syndicate_Admin
Administrator
Administrator

crear una columna con fecha que sea X días hábiles a partir de la fecha designada

Hola a todos, necesito ayuda aquí
En Powerbi tengo columnas con identificadores (hay 5 de ellos) y columna con fecha de vencimiento. Necesito una tercera columna, que también contenga la fecha. una especie de fecha de inicio. esta columna debe ser X días hábiles a partir de la fecha de vencimiento. ahora, X depende del identificador. así que algo así como if identifier= "AAA", entonces la fecha de inicio es 3 días hábiles antes de la fecha de vencimiento, si identifier="BBB", entonces la fecha de inicio es de 7 días hábiles a partir de la fecha de vencimiento, etc. Pasé incontables horas tratando de que esto funcionara, pero todo lo que logro es cambiar la fecha si aterriza en fin de semana, pero el cálculo general es incorrecto, Cada vez que aterrizo con días calendario en su lugar.

por ejemplo, si la fecha de vencimiento es el 20 de junio de 2024 y el identificador es "BBB", entonces mi fecha de inicio debería ser el 11 de junio de 2024 (7 días hábiles antes de la fecha de vencimiento).

No es tan fácil como agregar dos días para acomodar el fin de semana porque uno de los identificadores necesita 3 semanas, por lo que podría ser de 29 a 31 días calendario según el mes y la fecha de vencimiento.

También hay una tabla de calendario si es necesario.

12 REPLIES 12
Syndicate_Admin
Administrator
Administrator

Hola @beewoop

Para su pregunta, aquí está el método que proporcioné:

Aquí hay algunos datos ficticios

"Mesa"

vnuocmsft_0-1719539079033.png

Cree una columna.

start date = 
SWITCH(
    TRUE(),
    'Table'[identifier] = "AAA", 'Table'[due date] - 3,
    'Table'[identifier] = "BBB", 'Table'[due date] - 7
)

Aquí está el resultado.

vnuocmsft_1-1719539119831.png

Saludos

Nono Chen

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

esto solo da días calendario, estaba yendo en círculos con esto y algunas variaciones de él, el último vesrion es esto, pero me dice que WEEKDAY es una función incorrecta ("Un argumento de la función 'WEEKDAY' tiene el tipo de datos incorrecto o el resultado es demasiado grande o demasiado pequeño."):

Start Date = 
VAR DueDate = 'YourTable'[Due Date]
VAR BusinessDays = SWITCH('YourTable'[Identifier],
    "AAA", 21,
    "BBB", 6,
    "CCC", 2,
    BLANK()
)
VAR AdjustedDays = 
    IF(
        WEEKDAY(DueDate, 2) >= 6,
        BusinessDays + 2,
        BusinessDays
    )
RETURN
    IF(ISBLANK(DueDate), BLANK(), WEEKDAY(DueDate, -AdjustedDays))

Tiene NETWORKDAYS en DAX pero, francamente, tener la bandera en la tabla de calendario es mucho mejor.

NETWORKDAYS calcula el número de días diferentes entre fechas, lo que necesito es una fecha basada en el número de días, por lo que el total opuesto a eso

Y antes de que digas algo sí, lo intenté, la fecha de inicio se remonta a 1899.

Proporcione datos de muestra que cubran su problema o pregunta por completo, en un formato utilizable (no como una captura de pantalla).

No incluya información confidencial ni nada que no esté relacionado con el problema o la pregunta.

Si no está seguro de cómo cargar datos, consulte 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ó.

¿Quieres respuestas más rápidas? https://community.fabric.microsoft.com/t5/Desktop/How-to-Get-Your-Question-Answered-Quickly/m-p/1447...

IdentificadorFecha de vencimientoDías hábiles necesarios
AAA6/23/20246
BBB7/7/202421
AAA9/22/20246
CCC8/31/20242
CCC8/12/20242
AAA6/13/20246
BBB7/10/202421
AAA9/12/20246
CCC8/9/20242
CCC8/12/20242

Indique cuál es su definición de fin de semana y los días festivos del período afectado.

No hay indicción para el fin de semana, y no se necesitan días festivos, por lo que no están allí

en ese caso, puede restar el valor de la última columna de la columna Fecha de vencimiento.

Pero, ¿cómo resto 6 días hábiles, si todos y cada uno de los enfoques que tomo restan 6 días calendario? Este es el problema todo el tiempo.

there is no indiction for weekend

¿Para mí eso significa que cada día es un día laborable?

Syndicate_Admin
Administrator
Administrator

there is calendar table also if needed.

Sí, definitivamente necesario. Lo ideal es que tenga una columna para una bandera de día laborable, excluyendo los días festivos y los fines de semana.

A continuación, puede tomar las filas TOPN de esa tabla de calendario con el filtro de día laboral y devolver el MINX del resultado.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors