Forum Discussion

StephenK's avatar
StephenK
Icon for Resolver I rankResolver I
5 years ago
Solved

Matriz Visual Display Top Domain por Recuento

Hey todo,

Necesito ayuda para mostrar algo correctamente en mi matriz visual. Tengo dos mesas--

1) Usuarios Tbl

2) Dominios Tbl

Necesito mostrar un objeto visual de matriz como el siguiente:

UsuarioRecuento de dominiosDominio superior
algún usuario25google.com
otro usuario15yahoo.com
Total40google.com

De forma predeterminada, el objeto visual de matriz muestra el primer o el último dominio. ¿Puede alguien ayudarme a crear una medida que genere el dominio en función del recuento de dominios? El total debe reflejar todo el conjunto de datos independientemente del usuario, pero por fila debe mostrar el dominio superior por usuario. ¡Espero que tenga sentido!

Cualquier ayuda es apreciada.

  • @StephenK,

    A la medida le falta un CALCULATE para la expresión COUNT en las variables vUserDomain y vAllDomain. Como alternativa, puede utilizar una medida, lo que da como resultado un CÁLCULO implícito. A continuación se indican las medidas correctas:

    Domain Count = COUNT ( Domains[Domain] )
    
    Top Domain = 
    VAR vUser =
        MAX ( Users[UserId] )
    VAR vUserDomain =
        ADDCOLUMNS (
            SUMMARIZE ( Domains, Domains[UserId], Domains[Domain] ),
            "DomainCount", [Domain Count]
        )
    VAR vUserDomainRank =
        ADDCOLUMNS (
            vUserDomain,
            "DomainRank", RANKX ( vUserDomain, [DomainCount],, DESC, DENSE )
        )
    VAR vUserTopDomainRow =
        FILTER ( vUserDomainRank, [DomainRank] = 1 )
    VAR vUserTopDomain =
        MAXX ( vUserTopDomainRow, Domains[Domain] )
    VAR vAllDomain =
        ADDCOLUMNS (
            SUMMARIZE ( Domains, Domains[Domain] ),
            "DomainCount", [Domain Count]
        )
    VAR vAllDomainRank =
        ADDCOLUMNS (
            vAllDomain,
            "DomainRank", RANKX ( vAllDomain, [DomainCount],, DESC, DENSE )
        )
    VAR vAllTopDomainRow =
        FILTER ( vAllDomainRank, [DomainRank] = 1 )
    VAR vAllTopDomain =
        MAXX ( vAllTopDomainRow, Domains[Domain] )
    RETURN
        IF ( HASONEVALUE ( Users[UserName] ), vUserTopDomain, vAllTopDomain )

    DataInsights_0-1604098097031.png

11 Replies

  • @StephenK,

    Pruebe esta medida:

    Top Domain =
    VAR vUser =
        MAX ( Users[User ID] )
    VAR vUserDomain =
        ADDCOLUMNS (
            SUMMARIZE ( Domains, Domains[User ID], Domains[Domain] ),
            "DomainCount", Domains[Domain Count]
        )
    VAR vUserDomainRank =
        ADDCOLUMNS (
            vUserDomain,
            "DomainRank", RANKX ( vUserDomain, [DomainCount],, DESC, DENSE )
        )
    VAR vUserTopDomainRow =
        FILTER ( vUserDomainRank, [DomainRank] = 1 )
    VAR vUserTopDomain =
        MAXX ( vUserTopDomainRow, Domains[Domain] )
    VAR vAllDomain =
        ADDCOLUMNS (
            SUMMARIZE ( Domains, Domains[Domain] ),
            "DomainCount", Domains[Domain Count]
        )
    VAR vAllDomainRank =
        ADDCOLUMNS (
            vAllDomain,
            "DomainRank", RANKX ( vAllDomain, [DomainCount],, DESC, DENSE )
        )
    VAR vAllTopDomainRow =
        FILTER ( vAllDomainRank, [DomainRank] = 1 )
    VAR vAllTopDomain =
        MAXX ( vAllTopDomainRow, Domains[Domain] )
    RETURN
        IF ( HASONEVALUE ( Users[User Name] ), vUserTopDomain, vAllTopDomain )
    • StephenK's avatar
      StephenK
      Icon for Resolver I rankResolver I

      Gracias por este @DataInsights! Parece estar funcionando en el nivel de fila, pero el dominio que se muestra en la línea total es incorrecto. Parece que muestra el dominio con el recuento de dominios más bajo. Intenté cambiar el tipo de las funciones RANKX a ASC sólo para ver si eso lo arregló, pero no

      • DataInsights's avatar
        DataInsights
        Icon for Super User rankSuper User

        @StephenK,

        ¿Podrá proporcionar algunos datos de ejemplo (que puedo copiar/pegar) que ilustran el problema? Funciona correctamente para los datos de ejemplo que creé.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hola @StephenK ,

    ¿Podría proporcionar algunos datos de ejemplo de usuarios y dominios de la tabla y el resultado deseado con ejemplos? Si existe alguna relación entre estas dos tablas? En caso afirmativo, ¿podría proporcionar también el campo de la relación? Por cierto, el recuento de dominios es el número de usuarios agrupados por dominio? ¿El campo de usuario muestra el nombre de usuario específico?

    Saludos
    Rena
    Equipo de apoyo comunitario _ Rena Ruan
    Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más.

    • StephenK's avatar
      StephenK
      Icon for Resolver I rankResolver I

      @DataInsights @yingyinr Aquí están los datos de ejemplo. hay una relación de 1 a muchos en la columna UserId. El recuento de dominios debe ser el recuento de VisitId por dominio.

      UserId UserName

      1John Smith
      2Jane Doe
      3Sally May
      4Roy Rogers
      5Sam Brown

      Dominio UserId de VisitId

      11google.com
      21facebook.com
      31google.com
      41google.com
      52twitter.com
      62twitter.com
      72facebook.com
      83adp.com
      93yahoo.com
      104google.com
      114google.com
      125facebook.com
      135facebook.com
      • DataInsights's avatar
        DataInsights
        Icon for Super User rankSuper User

        @StephenK,

        Este es el resultado que obtengo. El segundo objeto visual muestra que google.com tiene la mayor cantidad de visitas, que es lo que se muestra en la fila total del primer objeto visual. ¿Es este el resultado correcto?

        DataInsights_0-1603897783405.png