Forum Discussion

MarcosPerena's avatar
MarcosPerena
Regular Visitor
4 years ago
Solved

Contar en varias variables

Mi modelo de datos genera una única tabla ("DATOS"), que contiene una serie de variables de texto con información de personas:   Identificador numérico Persona1 Persona2 Persona3 Persona4 ...
  • Syndicate_Admin's avatar
    4 years ago

    Hola. Pude encontrar una solución, pero podría no ser la mejor manera de hacerlo, ya que todavía estoy aprendiendo también.

    1. Cree una tabla de dimenstion para Persona. (Dejé la fila en blanco en la tabla para las relaciones).

    DimPerson =
    SELECTCOLUMNS(
    DISTINTO(
    UNIÓN(
    VALORES( 'Tabla'[Persona1] ),
    VALORES( 'Tabla'[Persona2] ),
    VALORES( 'Tabla'[Persona3] ),
    VALORES( 'Tabla'[Persona4] )
    )
    ),
    "Persona", [Persona1]
    )

    2. Cree realizaciones de muchos a uno entre las columnas Table[PersonaX] y DimPerson[Person].

    3. Cree una medida para contar las filas de 'Tabla'.

    Recuento de ID =
    VAR _CurrentPerson = SELECTEDVALUE(DimPerson[Persona])
    VAR _C1 =
    CUENTAS(
    FILTRO(
    «Tabla»,
    'Tabla'[Persona1] = _CurrentPerson
    )
    )
    DONDE _C2 =
    CALCULAR(
    CUENTAS(
    FILTRO(
    «Tabla»,
    'Tabla'[Persona2] = _CurrentPerson
    )
    ),
    USERELATIONSHIP('Tabla'[Persona2], 'DimPerson'[Persona])
    )
    DONDE _C3 =
    CALCULAR(
    CUENTAS(
    FILTRO(
    «Tabla»,
    'Tabla'[Persona3] = _CurrentPerson
    )
    ),
    USERELATIONSHIP('Tabla'[Persona3], 'DimPerson'[Persona])
    )
    DONDE _C4 =
    CALCULAR(
    CUENTAS(
    FILTRO(
    «Tabla»,
    'Tabla'[Persona4] = _CurrentPerson
    )
    ),
    USERELATIONSHIP('Tabla'[Persona4], 'DimPerson'[Persona])
    )
    DEVOLUCIÓN
    _C1 + _C2 + _C3 + _C4

    (Lo siento por el formato)

    Obtengo los resultados deseados cuando pongo DimPerson[Person] y [ID Count] en una tabla.

    Como dije anteriormente, probablemente hay muchas maneras que son mejores.

    PBIX: https://1drv.ms/u/s!AnF6rI36HAVkhPEwPhfdqLLaMLwOsg?e=agIbfy