Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
Syndicate_Admin
Administrator
Administrator

Medida para contar transacciones para todos los niveles de jerarquía

Capture.JPG

Por favor, ayúdame a crear una medida que cuente cuántas transacciones hay para un período determinado para cada nivel jerárquico de cuentas. Estoy realmente atrapado en este momento.

Hay dos tablas: transacciones y cuentas. Cada cuenta tiene una cuenta principal y una ruta calculada (tabla de cuenta[nombre de cuenta]).

Estaba probando algo como esto, pero esto solo muestra si la cuenta en sí ha realizado una transacción y no si sus cuentas secundarias han realizado transacciones. Esta medida será en una matriz, donde podré ver cuántas transacciones tiene cada nivel.

Recuento de transacciones =
VAR selPeriod = SELECTEDVALUE(tabla de períodos[período])
VAR selAccount = SELECTEDVALUE(tabla de cuenta[nombre de cuenta])
VAR sumforAccount = SUMX(tabla de transacciones, IF(tabla de transacciones[período]=selPeriod && tabla de transacciones[nombre de cuenta]=selAccount,1,0))

DEVOLUCIÓN
IF(sumforAccount>0,sumforAccount,0)

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@Anonymous ,

Creo que la columna Ruta debería ser un Introducir datos. La función de ruta no es adecuada en el modelo de datos.

Es mejor que desconecte la tabla Cuenta y la tabla Transacción o cree una tabla DimAccount no relacionada, la relación afectará la medida.

Pruebe este código.

Count =
VAR _SELECTACCOUNT =
    SELECTEDVALUE ( Account[Account Name] )
VAR _PATH =
    SUMMARIZE ( ALLSELECTED ( Account ), Account[Account Name], Account[Path] )
VAR _Search =
    FILTER (
        ADDCOLUMNS ( _PATH, "Search", SEARCH ( _SELECTACCOUNT, [Path],, 0 ) ),
        [Search] <> 0
    )
VAR _ACCOUNTLIST =
    FILTER (
        SUMMARIZE ( _Search, [Account Name] ),
        [Account Name] IN VALUES ( 'Transaction'[Account Name] )
    )
VAR _COUNT =
    COUNTAX ( _ACCOUNTLIST, [Account Name] )
RETURN
    _COUNT

El resultado es el siguiente.

1.png

Saludos
Rico Zhou

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

@Anonymous ,

Creo que la columna Ruta debería ser un Introducir datos. La función de ruta no es adecuada en el modelo de datos.

Es mejor que desconecte la tabla Cuenta y la tabla Transacción o cree una tabla DimAccount no relacionada, la relación afectará la medida.

Pruebe este código.

Count =
VAR _SELECTACCOUNT =
    SELECTEDVALUE ( Account[Account Name] )
VAR _PATH =
    SUMMARIZE ( ALLSELECTED ( Account ), Account[Account Name], Account[Path] )
VAR _Search =
    FILTER (
        ADDCOLUMNS ( _PATH, "Search", SEARCH ( _SELECTACCOUNT, [Path],, 0 ) ),
        [Search] <> 0
    )
VAR _ACCOUNTLIST =
    FILTER (
        SUMMARIZE ( _Search, [Account Name] ),
        [Account Name] IN VALUES ( 'Transaction'[Account Name] )
    )
VAR _COUNT =
    COUNTAX ( _ACCOUNTLIST, [Account Name] )
RETURN
    _COUNT

El resultado es el siguiente.

1.png

Saludos
Rico Zhou

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

La función PATHCONTAINS debería ser útil aquí.

Vea si algo como esto funciona:

Count of Transactions =
VAR selPeriod   = SELECTEDVALUE ( 'period table'[period] )
VAR selAccount  = SELECTEDVALUE ( 'account table'[account name] )
VAR subAccounts =
    CALCULATETABLE (
        VALUES ( 'account table'[account name] ),
        FILTER (
            ALL ( 'account table' ),
            PATHCONTAINS ( 'account table'[Path], selAccount )
        )
    )
RETURN
    CALCULATE (
        COUNTROWS ( 'transaction table' ),
        TREATAS ( subAccounts, 'transaction table'[Account Name] )
    )

Gracias, @AlexisOlson por su rápida respuesta, pero desafortunadamente esto también me da cuenta solo para las cuentas que realmente tienen la transacción y no para las cuentas principales.
Simplemente no puedo entender cómo hacer que la medida calcule: si se selecciona una cuenta principal (la selección se realiza desde el lado de la tabla de cuentas y no desde la tabla de transacciones), resuma todas las transacciones de la cuenta secundaria.

Si la tabla de cuentas está relacionada con la tabla de transacciones en [Nombre de cuenta], intente ajustar el TREATAS en mi código DAX para

TREATAS ( subAccounts, 'account table'[Account Name] )

¿Se puede compartir un pbix de muestra? La forma en que se configuran las relaciones puede marcar una gran diferencia.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

Check out the February 2026 Power BI update to learn about new features.