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

Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. 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
PBIApril_Carousel

Power BI Monthly Update - April 2025

Check out the April 2025 Power BI update to learn about new features.

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors