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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
minishshah
Helper III
Helper III

Power BI Calcular medida para el día laborable anterior

Hola

Necesito ayuda para crear una medida que cuente el total de merchandising reservado de un trabajo anterior.

Actualmente tengo lo siguiente:

1. tabla dimDate

Un. Esta tabla contiene lo siguiente:

i. Columna de fecha

ii. Columna del día de la semana: 1o Domingo, 2o Lunes, 3o Martes, 4o Miércoles, 5o Jueves, 6o Viernes, 7o Sábado

iii. Columna del día laborable: indica si se trata de un día "Trabajando" o "No laborable" basado en la combinación de "Día de la semana" y Columna "Vacaciones".

2. Medida total de la mercadería reservada

Estas son las condiciones que debe seguir esta medida del día anterior:

1. Día de la semana (TODAY()) 2 (lunes), entonces debe buscar si el viernes anterior fue un día laborable, si es así, entonces debe calcular total de la merchandising reservado en ese día, de lo contrario seguir repitiendo al día anterior a él hasta que encuentre un día laborable y luego calcular Total Merch Booked.

2. Día de la semana (HOY()) 1 O Día de la semana (TODAY()) 7, luego omita y no calcule el Total de La merchandising reservado.

3. Día de la semana (HOY()) - cualquier otro número además de 1, 2 o 7, entonces debe mirar el día anterior para ver si es un día de trabajo, si es así, entonces debe calcular total Merch reservado en ese día, de lo contrario va hacia atrás hasta que encuentre un día de trabajo y luego calcular total merch reservado.

1 ACCEPTED SOLUTION

@minishshah, intente esto (ajuste los nombres de tabla/columna):

1. Cree una columna calculada en su tabla de fechas:

Working Day Number Cumulative = 
VAR vWorkdays =
    FILTER (
        ALL ( 'Date' ),
        'Date'[Is Working Day] = 1
    )
VAR vResult =
    IF (
        'Date'[Is Working Day] = 0,
        BLANK (),
        RANKX ( vWorkdays, 'Date'[Date],, ASC )
    )
RETURN
    vResult

2. Cree una medida:

Previous Day Sales =
VAR vWorkingDaysOffset = 1
VAR vMaxWorkingDay =
    MAX ( 'Date'[Working Day Number Cumulative] )
VAR vPreviousWorkingDay =
    FILTER (
        ALL ( 'Date' ),
        'Date'[Working Day Number Cumulative] = vMaxWorkingDay - vWorkingDaysOffset
    )
VAR vPreviousDate =
    MAXX ( vPreviousWorkingDay, 'Date'[Date] )
VAR vResult =
    CALCULATE ( [Total Amount], ALL ( 'Date' ), 'Date'[Date] = vPreviousDate )
RETURN
    vResult

En este enfoque se supone que tiene una columna [Es día laborable] donde 1 es true, 0 o false.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

5 REPLIES 5
amitchandak
Super User
Super User

@amitchandak ,

Gracias por publicar un enlace. es interesante, pero no tranquilo lo que estoy buscando como se indica en mi post inicial.

Además, creo que necesito usar la combinación de dos o más columnas que he indicado en mi post para averiguarlo, pero no estoy seguro.

Traté de usar lo siguiente, pero también necesito contar 'vacaciones' en la mezcla:

SI(

DÍA DE LA SEMANA (HOY()) 2,

CALCULATE(

[Ventas totales de merchandising],

'dimDate'[Fecha] (TODAY()-3)

),

SI(

DÍA DE LA SEMANA (HOY()) - 1,

BLANK(),

SI(

DÍA DE LA SEMANA (HOY()) 7,

BLANK(),

CALCULATE(

[Ventas totales de merchandising],

'dimDate' [Fecha] á (TODAY()-1)

)

)

)

Todavía necesito ayuda. Por favor, ayuda

@minishshah, intente esto (ajuste los nombres de tabla/columna):

1. Cree una columna calculada en su tabla de fechas:

Working Day Number Cumulative = 
VAR vWorkdays =
    FILTER (
        ALL ( 'Date' ),
        'Date'[Is Working Day] = 1
    )
VAR vResult =
    IF (
        'Date'[Is Working Day] = 0,
        BLANK (),
        RANKX ( vWorkdays, 'Date'[Date],, ASC )
    )
RETURN
    vResult

2. Cree una medida:

Previous Day Sales =
VAR vWorkingDaysOffset = 1
VAR vMaxWorkingDay =
    MAX ( 'Date'[Working Day Number Cumulative] )
VAR vPreviousWorkingDay =
    FILTER (
        ALL ( 'Date' ),
        'Date'[Working Day Number Cumulative] = vMaxWorkingDay - vWorkingDaysOffset
    )
VAR vPreviousDate =
    MAXX ( vPreviousWorkingDay, 'Date'[Date] )
VAR vResult =
    CALCULATE ( [Total Amount], ALL ( 'Date' ), 'Date'[Date] = vPreviousDate )
RETURN
    vResult

En este enfoque se supone que tiene una columna [Es día laborable] donde 1 es true, 0 o false.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




@DataInsights ,

Muchas gracias por proporcionar la solución. funcionó para mí.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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