es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Consulta sobre la fórmula Dax en COUNTROWS o SUM para la agregación.

Me gustaría calcular el número total de estudiantes matriculados en cada proveedor de servicios, pero sin contar dos veces al mismo estudiante si se ha matriculado en un curso diferente con la misma compañía. A continuación se muestra un ejemplo de datos:

Proveedor de servicios Curso Nombre del estudiante
empresa A C1 Jane
empresa A C4 Cherry
empresa A C4 Jane
empresa A C8 Kethna
empresa B C2 Mic
empresa C C5 Jane

Intenté usar COUNTROWS, pero solo toma una variable, que es el nombre de la tabla. El uso de SUM o SUMX tampoco es posible debido a que no hay un valor numérico para cada fila.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para resolver este problema, podemos usar la función DISTINCTCOUNT en DAX. Esta función cuenta el número de valores distintos en una columna o expresión.

    Para calcular el número total de estudiantes inscritos en cada proveedor de servicios, podemos crear una nueva tabla que combine las columnas de proveedor de servicios y nombre del estudiante utilizando la función SELECTCOLUMNS. Luego, podemos aplicar la función DISTINCTCOUNT a la columna de nombre del estudiante en la nueva tabla, agrupada por la columna de proveedor de servicios.

    Aquí está la fórmula DAX:

    Total de estudiantes =
    SUMMARIZE(
        SELECTCOLUMNS(
            'Datos de muestra',
            "Proveedor de servicios", 'Datos de muestra'[Proveedor de servicios],
            "Nombre del estudiante", 'Datos de muestra'[Nombre del estudiante]
        ),
        [Proveedor de servicios],
        "Total de estudiantes inscritos", DISTINCTCOUNT('Datos de muestra'[Nombre del estudiante])
    )
    

    Explicación:

    • La función SELECTCOLUMNS crea una nueva tabla con dos columnas: proveedor de servicios y nombre del estudiante. Selecciona las columnas correspondientes de la tabla original ‘Datos de muestra’.
    • La función SUMMARIZE agrupa la nueva tabla por proveedor de servicios y aplica la función DISTINCTCOUN a la columna de nombre del estudiante. El resultado es una nueva tabla con dos columnas: proveedor de servicios y total de estudiantes inscritos.

    La tabla de salida se verá así:

    Proveedor de servicios Total de estudiantes inscritos
    empresa A 3
    empresa B 1
    empresa C 1

    Tenga en cuenta que Jane no se cuenta dos veces para la empresa A porque se inscribió en dos cursos diferentes.

Comments are closed.