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
Syndicate_Admin
Administrator
Administrator

Filtrar métrica por segmentación de datos

Hola.

Tengo tres mesas.

Calendario

Posiciones abiertas

Trabajos

Enlace de trabajos a Openpositions en Job Ref id (uno a muchos, único)

El calendario enlaza a Openposition en Fecha de apertura de posición (activa) y Fecha de contratación de posición (inactiva). Ambos son uno a muchos, solteros

Métrico:

PosicionesAbierno =
CALCULATE(COUNTROWS('OpenPositions'),
Filter(ALL('OpenPositions'),('OpenPositions'[Position Hire Date]>max('Calendar'[Date])||
ISBLANK('OpenPositions'[Position Hire Date])) &&'OpenPositions'[Position Open Date]<=max('Calendar'[Date]) && OpenPositions[Job Status] <> "CANCELLED"))
Para visual: Mes y Vacantes, por mes , funciona bien.
Tengo una cortadora de trabajos (Segmento). Si elijo un segmento, mi métrica no filtra.
¿Cómo envuelvo la métrica anterior para filtrar en una segmentación de datos?
Miré a Keepfilers, pero no pude hacer que funcionara.
Por lo tanto, lo que debería suceder, las OpenPositions abiertas también deben ser filtradas por las diferentes cortadoras. Las segmentaciones de datos son de Jobs y Jobs tiene una relación de uno a muchos en Job ref id. La segmentación de datos puede tener más de un valor seleccionado.
Gracias por cualquier consejo.
7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Gracias, ya no recibo un error, pero los datos que se devuelven son incorrectos.

Examinaré esto más a fondo.

Hay @Ryks ,

Si tiene las segmentaciones de datos para el campo de fecha de la tabla de calendario y el campo de trabajo de la tabla de trabajos, puede cambiar la fórmula de medida [PositionsOpen] de la siguiente manera:

PositionsOpen =
CALCULATE (
    DISTINCTCOUNT ( 'OpenPositions'[Job Ref id] ),
    FILTER (
        ALLSELECTED ( 'OpenPositions' ),
        (
            'OpenPositions'[Position Hire Date] > SELECTEDVALUE ( 'Calendar'[Date] )
                || ISBLANK ( 'OpenPositions'[Position Hire Date] )
        )
            && 'OpenPositions'[Position Open Date] <= SELECTEDVALUE ( 'Calendar'[Date] )
            && OpenPositions[Job Status] <> "CANCELLED"
    )
)

Si el anterior no funciona en su escenario, proporcione algunos datos de muestra de la tabla Jobs & OpenPositions y el resultado esperado correcto con lógica de backend y ejemplos especiales. Gracias.

Saludos

@yingyinr @ AlexisOlson

Me di cuenta de que tenía otra mesa, y esa puede ser la razón por la que estoy luchando. Cualquier consejo es bienvenido.

A continuación encontrará el enlace al pbix.

https://ezlyticscomau-my.sharepoint.com/:u:/g/personal/louwr_ezlytics_com_au/EZLrElCw0BNNktOF1oloyWQ...

Hay @yingyinr

Gracias por su respuesta. El problema es con los filtros.

Estoy reuniendo una fuente de datos insensibilización y agregaré un power bi aquí, ya que no puedo hacer que salga como quiero.

Syndicate_Admin
Administrator
Administrator

Creo que te estás deshaciendo de demasiado contexto con ALL ( OpenPositions ).

Intenta reducir el filtrado a las columnas individuales que te interesan.

PositionsOpen =
CALCULATE (
    COUNTROWS ( OpenPositions ),
    FILTER (
        ALL ( OpenPositions[Position Hire Date] ),
        OpenPositions[Position Hire Date] > MAX ( 'Calendar'[Date] )
            || ISBLANK ( OpenPositions[Position Hire Date] )
    ),
    OpenPositions[Position Open Date] <= MAX ( 'Calendar'[Date] ),
    OpenPositions[Job Status] <> "CANCELLED"
)

Gracias, AlexisOlson

Recibo el siguiente error:

Se ha utilizado una función 'Max' en una expresión True/False que se utiliza como expresión de filtro de tabla. Esto no está permitido.

Gritos. ¿Qué tal si definimos eso como una variable primero?

PositionsOpen =
VAR CurrDate = MAX ( 'Calendar'[Date] )
RETURN
    CALCULATE (
        COUNTROWS ( OpenPositions ),
        FILTER (
            ALL ( OpenPositions[Position Hire Date] ),
            OpenPositions[Position Hire Date] > CurrDate
                || ISBLANK ( OpenPositions[Position Hire Date] )
        ),
        OpenPositions[Position Open Date] <= CurrDate,
        OpenPositions[Job Status] <> "CANCELLED"
    )

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.