es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo obtener una descripción personalizada de la semana en DAX

Basándome en los datos a continuación, quiero agregar una columna calculada con Descripción de la semana.

Lo hice en Excel escribiéndolo manualmente.

Además, mi semana comienza los jueves y termina los miércoles, por lo que he utilizado esta función para obtener el día de la semana WEEKDAY('Calendar'[date],14)

Te pido que me ayudes con un código DAX que se pueda utilizar para crear una nueva columna calculada con la información de la semana, como se muestra en la tercera columna.

La lógica sería: si la fecha es de la semana actual, el valor será “Esta semana”, si la fecha es de la semana pasada, entonces “Esta semana – 1”, si la fecha es de dos semanas atrás, entonces “Esta semana – 2” y así sucesivamente.

Imagen del ejemplo

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para crear una columna calculada para la Descripción de la Semana usando DAX, puedes usar la siguiente fórmula:

    Descripción de la Semana =
    VAR SemanaActual =
        CALCULATE ( MAX ( Calendario[Semana] ), ALL ( Calendario ), Calendario[DíaSemana] = 4 )
    VAR Diferencia = SemanaActual - Calendario[Semana]
    RETURN
        SWITCH (
            TRUE (),
            Diferencia = 0, "Esta Semana",
            Diferencia = 1, "Esta Semana - 1",
            Diferencia = 2, "Esta Semana - 2",
            Diferencia = 3, "Esta Semana - 3",
            "Esta Semana - " & ABS ( Diferencia )
        )
    

    Esta fórmula primero calcula la semana actual utilizando la función CALCULATE y la función MAX. Luego calcula la diferencia entre la semana actual y la semana de la fecha del calendario. Finalmente, utiliza la función SWITCH para devolver la descripción de la semana apropiada basada en la diferencia.

    Ten en cuenta que esta fórmula asume que la semana comienza el jueves (indicado por Calendario[DíaSemana] = 4). Si tu semana comienza en un día diferente, deberás ajustar este valor en consecuencia.

Comments are closed.