Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Rendimiento variable

Hola a todos

Tengo una columna calculada y necesito crear dos columnas más basadas en la misma variable. Como no podemos reutilizar variables, ¿qué opción es la mejor en términos de rendimiento/claridad de codificación?

Opción 1. Cree las dos columnas con la misma variable en cada una de ellas

Opción 2. Agregue una variable en la primera columna calculada, por lo que puedo usar esto en las nuevas dos columnas -por lo tanto, no hay necesidad de reescribir la misma variable 3 veces

Opción 3. ¡Nuevas ideas bienvenidas!

Ejemplo de opción 1

Columna calculada 1:

Days_late de fecha de la letra DE DATEDIFF('Tabla'[Due_date], HOY(), Día)

Columna calculada 2:

Late - VAR days_late á DATEDIFF('Table'[Due_date], TODAY(), Day)

devolución
SWITCH(TRUE(),
days_late 0, "Debido hoy",

AND(days_late>0, days_late < 15), "Late Less 15 days"

days_late > 15, "Más de 15 días"

"A tiempo"

)

Columna calculada 3:

En el tiempo , VAR days_late , DATEDIFF('Table'[Due_date], TODAY(), Day)

devolución
SWITCH(TRUE(),
AND(days_late<0, days_late >-15, "Due in Less 15 days",

days_late<-15, "adeudado en más de 15 días"

"Tarde"

)

Ejemplo de opción 2

Columna calculada 1:

Days_late VAR days_late á DATEDIFF('Table'[Due_date], TODAY(), Day)
devolución
days_late

Columna calculada 2:

Late - VAR days_late - DATEDIFF('Table'[Due_date], TODAY(), Day)

devolución
SWITCH(TRUE(),
days_late 0, "Debido hoy",

AND(days_late>0, days_late < 15), "Late Less 15 days"

days_late > 15, "Más de 15 días"

"A tiempo"

)

Columna calculada 3:

En el tiempo - VAR days_late - DATEDIFF('Table'[Due_date], TODAY(), Day)

devolución
SWITCH(TRUE(),
AND(days_late<0, days_late >-15, "Due in Less 15 days",

days_late<-15, "adeudado en más de 15 días"

"Tarde"

)

Gracias por su tiempo y apoyo!

  • Cuando Se calcula Days_late como la columna, puede usar la misma en otras columnas

    Mi sugerencia sería esta

    Calculated column 1:  
    
    Days_late = DATEDIFF('Table'[Due_date], TODAY(), Day)
    
    Calculated column 2:
    
    
    Late =
       SWITCH(TRUE(),
           [Days_late] = 0, "Due today",
           AND([Days_late]>0, [Days_late] < 15), "Late Less 15 days"
           [Days_late] >=15, "Late More 15 days"
       "On Time"
        ) 
    
    Calculated column 3:
    On Time =
       SWITCH(TRUE(),
           AND([Days_late]<0, [Days_late] >-15, "Due in Less 15 days",
           [Days_late]<=-15, "due in More 15 days"
       "Late"
        )

    ¿Es necesario un tercero? ¿Pueden 2o y 3o fusionarse?

1 Reply

  • Cuando Se calcula Days_late como la columna, puede usar la misma en otras columnas

    Mi sugerencia sería esta

    Calculated column 1:  
    
    Days_late = DATEDIFF('Table'[Due_date], TODAY(), Day)
    
    Calculated column 2:
    
    
    Late =
       SWITCH(TRUE(),
           [Days_late] = 0, "Due today",
           AND([Days_late]>0, [Days_late] < 15), "Late Less 15 days"
           [Days_late] >=15, "Late More 15 days"
       "On Time"
        ) 
    
    Calculated column 3:
    On Time =
       SWITCH(TRUE(),
           AND([Days_late]<0, [Days_late] >-15, "Due in Less 15 days",
           [Days_late]<=-15, "due in More 15 days"
       "Late"
        )

    ¿Es necesario un tercero? ¿Pueden 2o y 3o fusionarse?