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

Recorrer en iteración los valores filtrados de una medida

Hola, soy nuevo en Power BI y no estoy muy seguro de lo que debería estar buscando.


Pero aquí va, mi escenario de negocio se ve así: necesito hacer imágenes de promedios (un promedio para una columna, otro para otra columna, etc. - 5 columnas) para el usuario que ha iniciado sesión, en función de sus unidades de negocio. Necesito mostrar el promedio de su unidad (nivel1), de todas las unidades que tienen el mismo padre (nivel2), de todas las unidades que tienen el mismo abuelo (nivel3) y de toda la organización (nivel4). Creé algunas medidas para obtener los detalles del usuario actual, obtener su unidad de negocio (nivel1) y los resultados de su unidad de negocio (todo se almacena en dataverse, estoy tomando los detalles del usuario de la tabla SystemUser y los detalles de la unidad de negocio de la tabla BusinessUnit, la tabla con los resultados que necesito para hacer promedios (MainTable) - almacena información sobre la unidad de negocio relacionada - siempre nivel1).

Soy capaz de presentarlos en un objeto visual. Recogí las unidades de negocio (nivel 1) que tienen el mismo padre que la unidad de negocio del usuario- las almaceno en una medida, pero probablemente de una manera incorrecta. Ahora estoy tratando de ir a través de cada una de esas unidades de negocio para filtrar mi MainTable, para obtener todos los resultados para el nivel 2. Entonces, tendré que hacer lo mismo con el nivel 3.

No puedo poner estos valores en una tabla, ya que uso la función UserName - supongo que necesito usar medidas. Me gustaría hacer algo como: Para cada unidad de negocio (nivel 1) que comparte una unidad de negocio principal como la del usuario, vaya a MainTable y calcule el promedio de las 5 columnas. ¿Cómo lo hago?

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Allí, @mgorczyca;

Creo que podría usar una nueva tabla que contenga la columna de nombre de usuario y crear una nueva tabla con la siguiente fórmula:

New table =
SUMMARIZE (
    'Table',
    [user],
    "useravg", AVERAGE ( 'Table'[value] ),
    "level1 avg", CALCULATE ( AVERAGE ( 'Table'[value] ), ALLEXCEPT ( 'Table', 'Table'[level1] ) ),
    "level2 avg", CALCULATE ( AVERAGE ( 'Table'[value] ), ALLEXCEPT ( 'Table', 'Table'[level2] ) ),
    "level3 avg", CALCULATE ( AVERAGE ( 'Table'[value] ), ALLEXCEPT ( 'Table', 'Table'[level3] ) ),
    "level4 avg", CALCULATE ( AVERAGE ( 'Table'[value] ), ALLEXCEPT ( 'Table', 'Table'[level4] ) )
)

Cuando username = "amy" y "peter", la salida final se muestra a continuación:

vyalanwumsft_0-1624267984938.png

vyalanwumsft_1-1624268046178.png

o puede crear una columna no medida como sigue:

avg level1 = CALCULATE(AVERAGE([value]),ALLEXCEPT('Table','Table'[level1]))
avg level2 = CALCULATE(AVERAGE([value]),ALLEXCEPT('Table','Table'[level2]))
avg level3 = CALCULATE(AVERAGE([value]),ALLEXCEPT('Table','Table'[level3]))
avg level4 = CALCULATE(AVERAGE([value]),ALLEXCEPT('Table','Table'[level4]))

vyalanwumsft_3-1624268394844.png

Saludos
Team_ de apoyo comunitario Yalan Wu
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Allí, @mgorczyca;

Creo que podría usar una nueva tabla que contenga la columna de nombre de usuario y crear una nueva tabla con la siguiente fórmula:

New table =
SUMMARIZE (
    'Table',
    [user],
    "useravg", AVERAGE ( 'Table'[value] ),
    "level1 avg", CALCULATE ( AVERAGE ( 'Table'[value] ), ALLEXCEPT ( 'Table', 'Table'[level1] ) ),
    "level2 avg", CALCULATE ( AVERAGE ( 'Table'[value] ), ALLEXCEPT ( 'Table', 'Table'[level2] ) ),
    "level3 avg", CALCULATE ( AVERAGE ( 'Table'[value] ), ALLEXCEPT ( 'Table', 'Table'[level3] ) ),
    "level4 avg", CALCULATE ( AVERAGE ( 'Table'[value] ), ALLEXCEPT ( 'Table', 'Table'[level4] ) )
)

Cuando username = "amy" y "peter", la salida final se muestra a continuación:

vyalanwumsft_0-1624267984938.png

vyalanwumsft_1-1624268046178.png

o puede crear una columna no medida como sigue:

avg level1 = CALCULATE(AVERAGE([value]),ALLEXCEPT('Table','Table'[level1]))
avg level2 = CALCULATE(AVERAGE([value]),ALLEXCEPT('Table','Table'[level2]))
avg level3 = CALCULATE(AVERAGE([value]),ALLEXCEPT('Table','Table'[level3]))
avg level4 = CALCULATE(AVERAGE([value]),ALLEXCEPT('Table','Table'[level4]))

vyalanwumsft_3-1624268394844.png

Saludos
Team_ de apoyo comunitario Yalan Wu
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

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.