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
captain_planet
New Member

Power BI, DAX, Tablas de varios a uno y relacionales

Hola a todos.

Realmente estoy luchando con un poco de DAX y agradecería un poco de ayuda.

Requisito

Quiero un recuento de cuántas 'Apps' no son iguales a 'Complete' para un 'Build' específico.

Modelo de datos

Construcciones
Generar
app

Apps
App (FK en Builds.App)
Estado

Anteriormente hice una pregunta aquí: medida de subconsulta DAX?

instrucciones sobre cómo crear una columna de medida específica para una visualización. Para mantener el ejemplo simple, lo mantuve en una tabla ficticia y la consulta DAX funcionó muy bien.

En realidad, sin embargo, la visualización para la que está la columna de medida se compone de varias tablas unidas. ¡Y los resultados de la consulta DAX produjeron inesperadamente todos los ceros! Así que voy a refactorizar mi ejemplo aquí para obtener más ayuda...

Requisito

Quiero un recuento de cuántas 'Apps' no son iguales a 'Complete' para un 'Build' específico.

Modelo de datos

Compila
el
estado de la aplicación Build
App Apps

Datos de muestra

Builds

Construir........... App
Build1.......... App1
Build1.......... App2
Build1.......... App9
Build2.......... App3
Build3.......... App1
Build3.......... App5
Build3.......... App8
Build3.......... App9

Apps

Aplicación........... Estado
App1.......... UAT
App2..........Completar
App9.......... Nueva
App3..........Completa
App5.......... UAT
App8..........Completar

Relación

La relación es MANY Builds.App a ONE Apps.App.

Tabla de visualización

Esta es mi visualización - tenga en cuenta las diferentes tablas:

Builds.Build.... Builds.App.... Apps.Status
Build1.......... App1.......... UAT
Build1..........App2..........Complete
Build1.......... App9.......... Nueva
compilación2..........App3.......Completa
Build3.......... App5.......... UAT
Build3..........App8.........Completa

Estos son mis resultados requeridos (por ejemplo, puedo ver que hay 2 aplicaciones no completas para Build1):

Builds.Build.... Builds.App.... Apps.Status.... AppsNotCompleteForBuild
Build1.......... App1.......... Uat............ 2
Build1..........App2..........Complete.......2
Build1.......... App9.......... Nuevo............ 2
Build2..........App3.......Complete.......0
Build3.......... App5.......... Uat............ 1
Build3..........App8..........Complete.......1

ATTEMPT 1 (¡No funciona!)

CALCULATE (
    COUNT ( Builds[App] ),
    FILTER ( ALL (
        Builds[Build], Builds[App] ),
        Builds[Build] á SELECTEDVALUE ( Builds[Build] ),            
    FILTER ( ALL (
        Apps[Status] ),
        Apps[Status] <> "Complete"
    ) +
0

ATTEMPT 2 (¡No funciona!)

Medida 5 - CALCULATE (
    COUNT ( Builds[App] ),
    FILTER ( ALL (
        Builds[Build] ),
        Builds[Build] ? SELECTEDVALUE ( Builds[Build] )            
    ), FILTER
    (RELATEDTABLE(Apps),
    Apps[Status] <> "Complete")
) + 00

ATTEMPT 3 (¡No funciona!)

Measure5 - CALCULATE (
   COUNTAX(FILTER( Builds 
            ,  RELATED(Apps[Status]) <>"Complete"  
               && Builds[Build] ? SELECTEDVALUE(Builds[Build])
             )  
     ,Builds[App])
) + 0

Gracias por cualquier ayuda!!

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

AppsNotCompleteForBuild = 
IF (
    NOT ISEMPTY ( Builds ),
    CALCULATE (
        DISTINCTCOUNT ( Apps[App] ),
        Apps[Status] <> "Complete",
        CALCULATETABLE ( Builds, ALLEXCEPT ( Builds, Builds[Build] ) )
    ) + 0
)

Screenshot 2021-03-06 003310.png

TomMartens
Super User
Super User

Hey @captain_planet ,

esta medida

cnt incomplete apps by build = 
var filtertable = 
    ADDCOLUMNS(
        SUMMARIZE(
            'Builds'
            , Builds[Build]
            , Builds[App]
            , Apps[Status]
        )
        , "no of apps"
            , CALCULATE(
                COUNT( Builds[App] )
                , ALL( Builds[App] )
                , 'Apps'[Status] <> "Complete"
            )
    )
return
IF( HASONEVALUE( 'Builds'[Build] )
    ,SUMX(
        filtertable
        , IF( 
            ISBLANK( [no of apps] )
            , 0
            , [no of apps]
        )
    )
    , BLANK()
)

permite crear esta tabla visual:

TomMartens_0-1604828985475.png

Con suerte, esto es lo que estás buscando.

saludos

Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

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.