cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Problema del filtro de fecha DAX

Hola
Tengo configuración de datos como así:

fechaidentificaciónutilizabledisponible
4/1/20211302
4/1/2021212321
4/2/202111334
4/2/2021216123
4/3/2021112324

y así sucesivamente. Está conectado en una relación de muchos a uno a una tabla de dimensiones de fecha llamada date_dimension
Estoy tratando de conseguir ocupación por esta medida DAX:

occupancy =
CALCULATE (
    (
        1
            - (
                SUM ( 'Table'[Available] )
                    / SUM ( 'Table'[Usable] )
            )
    ),
    DATESBETWEEN (
        Date_Dimension[Date],
        MIN ( Date_Dimension[Date] ),
        MAX ( Date_Dimension[Date] )
    )
)

Esto funciona bien sin ningún filtro de fecha aplicado, pero si aplico un filtro de fecha obteré este tipo de comportamiento:hwr7dd_0-1620507003544.png

En este ejemplo fijó un filtro de fecha 30 días antes del 22 de abril de 2021. Supongo que no entiendo por qué el filtro no se pasa a la ocupación cuando tanto disponibles como utilizables se filtran correctamente. No se puede saber desde ese gráfico, pero durante el período que se supone que se calcula calcula sí calcula el valor correcto, pero cuando está en un período que no está previsto (en este caso cualquier fecha no 30 días antes del 22 de abril de 2021) por defecto al 100%. También tenga en cuenta, quiero que el usuario pueda ver información agregada por día o que posiblemente podrían ver por un id determinado por día en función de si utilizan una segmentación de datos o no.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@hwr7dd

Por favor, pruebe la siguiente fórmula:

occupancy = 
var __available =  SUM(Table7[Available])
var __usable =  SUM(Table7[Usable])
var __result = 
IF(
    __available <> BLANK() && __usable <> BLANK(),   
        1-
        DIVIDE(
            SUM(Table7[Available]),
            SUM(Table7[Usable])
        )
    )
return
    __result

Fowmy_0-1620517356593.png



View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@hwr7dd

Por favor, pruebe la siguiente fórmula:

occupancy = 
var __available =  SUM(Table7[Available])
var __usable =  SUM(Table7[Usable])
var __result = 
IF(
    __available <> BLANK() && __usable <> BLANK(),   
        1-
        DIVIDE(
            SUM(Table7[Available]),
            SUM(Table7[Usable])
        )
    )
return
    __result

Fowmy_0-1620517356593.png



View solution in original post

@Fowmy Fowmy,

Utilicé una versión modificada de su solución. Me gustaría entender por qué se requiere la declaración if en este caso. si es posible

@hwr7dd

Wirhout la instrucción IF, mostrará 100% cuando no hay datos en su tabla, ya que utiliza 1-

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Get Ready for Power BI Dev Camp

Power BI Dev Camp - June 24th

Mark your calendars and join us for our next Power BI Dev Camp!