Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
2 years ago
Solved

Filtros

Hola a todos...

Tengo un escenario. Tengo un visual y una medida dentro del visual. Ahora bien, ¿es posible que esa medida no se vea afectada por el filtro de nivel visual, pero sí por el filtro de nivel de página?

5 Replies

  • Creo que el nivel de página tiene la alta prioridad. Si filtra en el nivel de página, todos los objetos visuales de esa página se verán afectados.

  • Hola @jostnachs ,

    Después de mi prueba, si desea que una medida no se vea afectada por los filtros de nivel visual, debe usar las funciones ALL, ALLSELECTED o ALLEXCEPT en DAX, pero esto eliminará los efectos de todos los filtros de nivel porque DAX no puede determinar qué nivel tiene el filtro. La siguiente es una captura de pantalla de mi prueba:

    ALL = SUMX(ALL('Table'), 'Table'[Value])

    Measure = 
    CALCULATE(
        SUM('Table'[Value]),
        ALLEXCEPT('Table', 'Table'[ID])
    )

    Por lo tanto, no puede lograr que el resultado de la medida no se vea afectado por el filtro de nivel de objeto visual, pero sí por el filtro de nivel de página.

    Le sugiero que reemplace el filtro de nivel visual por una segmentación y, a continuación, configure la segmentación para que no afecte al objeto visual donde se encuentra la medida.
    https://learn.microsoft.com/en-us/power-bi/visuals/power-bi-visualization-slicers?tabs=powerbi-desktop#control-which-page-visuals-are-affected-by-slicers
    Como alternativa, establezca el filtro de nivel de página en una segmentación de datos y, a continuación, use la función REMOVEFILTERS de DAX para eliminar el efecto del filtro de nivel visual.
    Función REMOVEFILTERS (DAX) - DAX | Microsoft Learn


    Saludos
    Dino Tao
    Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Este @ wa-old-MSFT

      Muchas gracias por la ayuda. Me gustaría explicarles el escenario exacto que estoy teniendo en este momento.

      A continuación se muestra el gráfico que muestra

      "No. de pólizas = suma(policy_id)","comisión estimada=suma(est_comm)" y "prima estimada=suma(est_premium)" y "% perdido="Comisión Perdida Estimada dividida por la Comisión Perdida Estimada del Año Anterior" (donde comisión perdida estimada = suma(est_comm) donde status=perdida).

      Ahora quiero que se filtre el siguiente gráfico para mostrarme solo el negocio perdido, no todo el negocio. Pero como puede ver, la medida %lost ya me muestra los valores de los negocios perdidos y otros campos son para todo el negocio.

      Tengo dos enfoques

      aprroach1:

      Si pongo un filtro visual para que me muestre los datos solo para el estado = perdido, ¿no afectaría eso a mi medida %lost que ya me muestra el negocio perdido? Además, si modifico esa medida con Todo/Todo seleccionado etcétera, entonces me temo que los filtros de nivel de página tampoco funcionarán en esa medida.

      Enfoque 2:

      Simplemente puedo modificar las medidas filtrándolas con status =lost y usarlas en el visual

      "No. de pólizas = suma (policy_id) donde estado = perdido", "comisión estimada = suma (est_comm) donde tatus = perdido" y "prima estimada = suma (est_premium) donde estado = perdido" y, por lo tanto, mis filtros a nivel de página y todo actúa normalmente

      No estoy seguro de si estoy pensando correctamente aquí. ¡Necesitas ayuda!

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola @jostnachs ,

        Para la medida %lost, veo que dice que ha restringido status=lost en DAX, por lo que, en ese caso, si el estado se filtra en una segmentación, un filtro de nivel de objeto visual o un filtro de nivel de página, no afectará al valor de esa medida. Consulte los resultados de la prueba a continuación:

        Lost est_comm = 
        CALCULATE(
            SUM('Table'[est_comm]),
            'Table'[status] = "lost"
        )

        Sin cortadora ni filtro:

        Con cortadora de fias:

        Con filtros en este objeto visual:

        Con filtros en esta página:


        En el caso anterior, el filtrado por estado no afectará a los resultados de esta medida, pero el filtrado por otros campos (como el filtrado por policy_id) seguirá afectando al valor de la medida, por ejemplo:


        Sin embargo, si desea usar ALL o ALLSELECTED en la medida, independientemente del campo que se filtre, independientemente de si usa segmentación o filtro, no tendrá ningún efecto en el valor devuelto por la medida.

        Saludos
        Dino Tao
        Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.