Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
2 years ago

indefinido

Hola, soy nuevo en Power BI. Necesito analizar los datos sobre la asistencia a las clases de idiomas. Necesito analizar cuántas personas asistieron a cada clase cada mes, su nacionalidad y género durante los últimos 5 años. ¿Pongo la tabla con diferentes idiomas, en la tabla de hecho, y en las tablas de dimensiones pongo datos por año o por tema? En el esquema de estrella, ¿puedo tener solo dos tablas?

5 Replies

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola

      Gracias por su respuesta.

      Estos son algunos datos de muestra:

      1. Clases con códigos

      Código de claseNombre de la actividad Precio del curso en $ ConsultoresEn vivo/virtual
      LC-2438Inglés $ 50,00XYInstrucción en el aula en vivo
      LC-6323Francés $ 50,00XY1Instrucción en el aula en vivo
      LC-7218Alemán $ 50,00XY3Instrucción en el aula en vivo
      LC-7266Español $ 50,00XY4Instrucción en el aula en vivo
      LC-7058Italiano $ 50,00XY4Instrucción en el aula en vivo
      LC-6261Chino $ 50,00XY6Instrucción en el aula virtual
      LC-6788Árabe $ 50,00XY7Instrucción en el aula virtual
      LC-7267Ruso $ 50,00XY8Instrucción en el aula virtual
      LC-6330Portugués $ 50,00XY9Instrucción en el aula virtual
      LC-6677Holandés $ 50,00XY3Instrucción en el aula virtual

      2. Clases impartidas en 2023

      Nombre de la actividadSubcódigo de claseTipoFecha de inicioInscritoMasculinoHembra
      InglésLC-2438-19Instrucción en el aula en vivo19.09.202315105
      InglésLC-2438-13Instrucción en el aula en vivo25.01.202320812
      InglésLC-2438-14Instrucción en el aula en vivo1.10.202319910
      InglésLC-2438-15Instrucción en el aula en vivo1.11.2023624
      InglésLC-2438-16Instrucción en el aula en vivo13.02.2023734
      InglésLC-2438-17Instrucción en el aula en vivo27.06.20231688
      InglésLC-2438-18Instrucción en el aula en vivo9.12.202319910
      InglésLC-6966-20Instrucción en el aula en vivo30.10.2023322012
      FrancésLC-6323-12Instrucción en el aula en vivo24.03.202315510
      FrancésLC-6323-13Instrucción en el aula en vivo22.06.20231899
      FrancésLC-6323-14Instrucción en el aula en vivo11.08.2023231112
      AlemánLC-7218-8Instrucción en el aula en vivo3.02.2023361620
      AlemánLC-7218-9Instrucción en el aula en vivo21.09.202319811
      EspañolL-7266-10Instrucción en el aula en vivo4.06.20231266
      EspañolLC-7266-11Instrucción en el aula en vivo9.09.20231468
      EspañolLC-7266-12Instrucción en el aula en vivo3.11.2023231112
      ItalianoLC-7058-1Instrucción en el aula en vivo28.04.202320911
      ItalianoLC-7058-2Instrucción en el aula en vivo10.06.20231596
      ItalianoLC-7058-3Instrucción en el aula en vivo28.10.20231367
      ChinoLC-6261-22Instrucción en el aula virtual14.06.20231376
      ChinoLC-6261-23Instrucción en el aula virtual19.09.2023201010
      ChinoLC-6261-24Instrucción en el aula virtual13.11.20231275
      ÁrabeLC-6788-7Instrucción en el aula virtual4.06.2023945
      ÁrabeLC-6788-8Instrucción en el aula virtual19.09.20231055
      ÁrabeLC-6788-9Instrucción en el aula virtual23.10.20231275
      ÁrabeLC-6788-10Instrucción en el aula virtual24.11.20231257
      RusoLC-7058-11Instrucción en el aula virtual24.03.2023734
      RusoLC-7058-12Instrucción en el aula virtual22.06.2023835
      PortuguésLC-6330-4Instrucción en el aula virtual9.09.2023514
      HolandésLC-6677-2Instrucción en el aula virtual3.02.2023633

      Tengo la misma fecha para otros años.

      Me interesa ver qué curso fue el más popular, la distribución de género, qué formato fue el más popular, qué consultor fue el más contratado, etcétera.

      Gracias de antemano.

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola MPG1907. Recomiendo que crees dos consultas adicionales.

        La primera, una consulta que sea Class code, para poder relacionar con Class Sub-Code, debes quitarle los numeros a partir del guion medio.

        Y la segunda tabla, es la tabla calendario. Con este formula DAX la puedes crear:

        TablaCalendario =
        VAR T_Calendario =
        ADDCOLUMNS(
        Symsauto(),
        "Año", YEAR([fecha]),
        "Semestre", "Semes." & CEILING(MONTH([Date])/6, 1),
        "Cuatrimestre", "Cuatr. " & CEILING(MONTH([Date])/4, 1),
        "Trimestre", "Trim." & CEILING(MONTH([Date])/3, 1),
        "Bimestre", "Bim. " & CEILING(MONTH([Date])/2, 1),
        "Mes Número", MONTH([Fecha]),
        "Mi número", FORMAT([fecha], "MMMM"),
        "Semana", "Sem. " & WEEKNUM([Date], 2), -- El número 2 indica que la semana comienza en lunes
        "Día Número", WEEKDAY([Date],2),
        "día nombre", FORMAT([Fecha], "dddd")
        )
        DEVOLUCIÓN
        T_Calendario
        Si está satisfecho con esta respuesta, márquela como solución para que otros la encuentren.
  • Hola MPG1907. Para analisis donde solo se tiene una fuente de datos y las columnas de genero, nacionalidad y clases, es necesario tener una columna en formatos de fechas. Esta columna de fechas, el power bi desktop le genera una jerarquia de fechas que permite analizar por tus datos por año, trimestre y mes.

    Si quieres hacer el analisis por otra temporalidad como nombre del dia, semana o semestre. Se debe crear una tabla calendario que vaya relacionada con tus datos. La tabla calendario tambien es necesaria cuando se tiene diferentes fuentes de datos.

    Si está satisfecho con esta respuesta, márquela como solución para que otros la encuentren.

  • Hola @MPG1907 ,

    En primer lugar, gracias andrezmar y qqqqqwwwweeerrr por la rápida respuesta.

    Tengo algunas otras ideas para que las consideres. Basándome en los datos de tu prueba, creo que un gráfico circular sería una buena opción para ti. Puede visualizar los distintos porcentajes.

    Si desea mostrar el nombre de la actividad más popular como un objeto visual de la tarjeta, puede crear medidas.

    Measure = COUNT('classes delivered in 2023'[Activity name])
    Measure 2 = 
    var _table=SUMMARIZE(ALL('classes delivered in 2023'),[Activity name],"count",[Measure])
    var _max= MAXX(_table,[count])
    RETURN MAXX(FILTER(_table,[count]=_max),[Activity name])

    Saludos

    Neeko Tang

    Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.