Andrea

Respuestas de foro creadas

Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)
  • Andrea
    Participante

      Gracias!

      Andrea
      Participante

        HOla,

        les copio mi resumen,.

        Un saludo

        Crear medidas de agregación única
        Uso de SUM and IF

        Uso de funciones estadísticas Básicas:
        Average
        Count
        Max and Min
        Es mejor trabajar con medida que con las columnas (seleccionando el tipo de medida que se necesita, i.e. Sum, Average, etc), ya que así se obtiene directamente la medida que se necesita.

        Identificar medidas implícitas y reemplazar por medidas explícitas
        Ocultar las columnas que pueden dar lugar a confusión por parte del usuario y dejar las medidas calculadas.

        Reemplazar las columnas numéricas con medidas: iteradores X
        https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3567095/posts/11910394
        Iteradores X: dan row context a las medidas para evitar usar columnas para hacer operaciones por columnas. Ejemplos: SUMX, AVERAGEX,
        Por ejemplo, para SUM, se puede calcular la fila y luego sumarla (con SUM) o hacer todo de una vez con SUMX

        Para una función ejemplo SUMX(Tabla, Expresion), la expresión usada puede ser, por ejemplo una medida, o una columna, es decir:
        SUMX(Tabla Ventas, Tabla Ventas[columna]) =SUMX(Tabla Ventas, Medida)
        Los pasos para definir la función de este ejemplo serían:
        Se define una tabla con los datos
        Se ejecuta la expresión para cada fila de la tabla
        Se suman (en el caso de la función SUMX) los resultados de las operaciones para cada fila de la tabla indicada. La operación que se realice depende de la función que se utilice, AVERAGEX, SUMX, MINX, MAX, COUNTX, etc.

        Ejemplo:

        Si quiéramos calcular una medida con información contenida en distintas tablas se debe usar el RELATED. Ejemplo, si se quiere calcular el coste de venta de cada venta realizada, se debe hacer :
        Costo de venta =SUMX(Sales, Sales[Quantity]*RELATED(Products[Unitary Cost])
        Usar calculate para manipular filtros
        https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3567095/posts/11910392
        Para calcular la venta total de todos los vendedores, sin filtros, se debe hacer:
        Filtro ALL
        Venta total =CALCULATE([Venta (Sum)], ALL(Seller[Seller Name])
        Aquí hay que tener en cuenta que con ALL se quitan todos los filtros que hay en el reporte. Otra cuestión es que estamos usando Venta(Sum) que es una medida que suma todas las ventas. Lo correcto es usar medidas dentro de medidas, aunque se podría haber calculado a través de SUM(Sales[Ventas]) que es la suma de la columna que tiene todas la ventas.
        Filtro ALLSELECTED
        Si usáramos ALLSELECTED eliminaríamos solo los filtros de la visualización en donde insertemos la medida
        Venta total =CALCULATE([Venta (Sum)], ALLSELECTED(Seller[Seller Name]), o podría haberse puesto:
        Venta total = CALCULATE([Venta (Sum)], ALLSELECTED(Seller[Seller Name], Seller[Region]))
        Capacitación express CALCULATE
        https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3567095/posts/11910396
        Contexto de Evaluación:
        Todas las operaciones de DAX son evaluadas en un contexto. Una misma operación de DAX puede tener resultados diferentes según el contexto en el que se evalúe:

        En un caso el contexto es el general y en el otro es el regional.
        El contexto puede ser:
        ROW CONTEXT: hace referencia a otros valores dentro de la misma fila
        FILTER CONTEXT: hace referencia a los valores dentro en una misma columna o tabla:

        CALCULATE(): Qué hace CALCULATE()?
        CALCULATE es la única función que puede modificar el FILTER CONTEXT.
        Función: CALCULATE(<Expresión>, Filtro1, Filtro2, ...). En CALCULATE() primero se consideran los filtros y luego la expresión que se ejecuta después de los filtros para obtener el resultado.

        Ejemplo: SUM VS CALCULATE1()

        Ejemplo 2: quitamos todos los filtros de año en CALCULATE2()

        La función se traduce como una tabla donde se le han aplicado filtros para obtener el CALCULATE1

        Funciones comunes con CALCULATE()
        Algunas funciones que devuelven una tabla son:
        FILTER(): Devuelve una tabla filtrada
        ALL(): quita todos los FILTROS y devuelve una tabla
        ALLSELECTED: Quita todos los filtros de una visualización y devuelve una tabla
        ALLEXCEPT(): quita todos los filtros except los que se pongan en la función y devuelve una tabla
        Funciones de TIME INTELLIGENCE

        Funciones TIME INTELLIGENCE con DAX
        https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3567095/posts/11921599
        Cálculo de ventas totales:
        Venta = SUM(Sales[Venta])

        Cálculo de ventas totales en el mismo período del año anterior:
        Ventas mismo Mes año anterior = CALCULATE([Venta], SAMEPERIODLASTYEAR(Calendario[Fecha]))
        Para calcular las ventas acumuladas:
        Ventas acumuladas en el año = CALCULATE([Venta], DATESYTD(Calendario[Fecha]))
        En una tabla quedaría así:

        Capacitación express en TIME INTELLIGENCE
        https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3567095/posts/11921597
        Cuándo se utilizan?
        Se utilizan por ejemplo para
        a. Comparar venta con periodos previous
        b. Obtener acumulados mensuales, trimestrales, anuales de ventas
        c. Obtener el promedio de ventas de los últimos 30 días-
        No se debe confundir con las funciones de FECHA Y HORA

        RequisitosLa columna fechas debe tener todas las fechas del rango de fechas considerado
        La fecha debe estar marcada del tipo FECHA o FECHA/HORA
        PARA CUMPLIR SIEMPRE ESTOS REQUISITOS SE USA LA TABLA CALENDARIO

        Pasos requeridos por estas funciones
        a- Detecta el contexto de filtro actual para determinar el periodo de fechas en el contexto
        b- Elimina el contexto del filtro de la columna de fechas para tener todas las fechas disponibles
        c- Se desplaza en el tiempo para encontrar en nuevo periodo (especificado en la función)
        d- Aplica el filtro para obtener el periodo deseado
        Grupos de funciones
        Que devuelven una fecha específica
        FIRSTDATE()
        STARTOFMONTH()
        ENDOFMONTH()
        STARTOFQUARTER()
        ENDOFQUARTER()
        Que devuelven una tabla con fechas (MÁS USADAS)
        DATEADD()
        DATESMTD()
        DATESQTD()
        DATESYTD()
        DATESINPERIOD()
        Que evalúan una expresión:
        TOTALMTD()
        TOTALYTD()
        OPENINGBALANCEMONTH()
        CLOSINGBALANCEQUARTER()
        Ojo, Cuidado con el grupo que devuelve una tabla y el que evalúa una expresión

        Combinando TIME INTELLIGENCE con CALCULATE()

        Patrones comunes con CALCULATE()

        Crear semi-additive measures
        https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3567095/posts/11910391
        Semi-additive measures son medidas que no pueden ser agregadas a través de todas las dimensiones FECHA/FECHA/HORA
        Por ejemplo, para el inventario de cada día y el inventario al final de mes no se puede hacer una suma del inventario de todos los días del mes, por tanto se utiliza una función semiaditiva como sigue:

        Inventario para cada día podría calcularse como : Inventario Total = SUM(Inventario[Inventario])
        Sin embargo, el inventario del mes se debe corresponder con el inventario del último día del mes:
        Inventario mensual =
        CALCULATE([Inventario Total], LASTDATE(Calendario[Fecha]))
        Si nos diera a en blanco el último día del mes (en caso de que la empresa no trabaje, por ejemplo), deberíamos cambiar la medida a la siguiente
        expresión, la cuál sería válida para mes, quarter y año
        Inventario mensual =
        CALCULATE([Inventario Total], LASTNONBLANK(Calendario[Fecha], [Inventario Total])

        Andrea
        Participante

          Hola,
          este es mi resumen de lo aprendido. Muy interesante y útil todo.

          -Aplicar "cross-filter directions" y "security filtering":

          Cross filter "Single": Si dos tablas, una de Dim y una Fact, están relacionadas con un cross filter "single", los filtros de la tabla Dim se propagan a la tabla Facts pero no a la inversa, por la relación cross filter. Se podría configurar la relación como "Both", pero puede darnos problemas no esperados o no intuitivos.
          Cross-filter "Both": propaga la info en ambos sentidos. Si usamos una tabla Dim con una Fact, la info de la Fact, también se propaga a la de Dim. Patrón de los números que se repiten. RLS: propagación del RLS activando la casilla "Apply security filter in both directions".

          -Crear tablas calculadas:

          Tablas calculadas con DAX: OJO QUE NO PUEDEN VERSE EN POWER QUERY
          New Table (Menú Home, Table Tools): se combinan dos tablas de la siguiente forma:
          - SUMMARIZECOLUMN, por ejemplo:
          Combinacion Seller-products =
          SUMMARIZECOLUMNS(Seller[Seller ID],
          Products[ProductID],
          "Cantidad Vendida",
          SUM(Sales[Quantity])
          CALENDARAUTO()
          Se puede crear una tabla Calendario también de esta manera:
          Calendario 2 =
          ADDCOLUMNS(
          CALENDARAUTO(),
          "Year", YEAR([Date]),
          "Month", MONTH([Date])
          )

          - Create hierarchies:

          Jerarquías organizacional, de productos, de fechas, etc.
          Las jerarquías de fechas se detectan automáticamente cuando se tiene las siguientes opciones activadas: Se recomienda desactivarlas.
          Crear jerarquías:
          Se recomienda crear jerarquías en casos necesarios, por ejemplo Country, City, para evitar errores en las visualizaciones. Si no están creadas, se deben asignar manualmente.
          Crear jerarquías: Se selecciona un campo y con el botón derecho del ratón se "Crea una jerarquía" y luego se arrastran otros campos hacia allí.
          No se pueden crear jerarquías con cantidades, ni con columnas de diferentes tablas.

          - Crear columnas calculadas:

          Crear columnas:Desde columnas agregadas: no es una Buena práctica
          Row context:. PBI detecta automaticamente que los datos están en fila y efectua las operaciones necesarias.
          Medidas Daxs: NO AGREGAR COLUMNAS, SINO CALCULAR MEDIDAS es una BUENA PRACTICA

          - Implementar el Row Level Security (RLS)

          A través del RLS se puede restringir el acceso a los datos a determinados usuarios, para que, por ejemplo, solo puedan ver los datos de su region, o que cumplen con una regla de Seguridad específica. Para eso, se debe activar la funcionalidad en la relación entre tablas que contienen el filtro y que permite discriminar la infomación que llega a cada usuario. Esto último no lo tengo 100% claro, lo deduzco del Quiz final.

          El RLS permite manejar un único reporte al cuál, diferentes usuarios pueden acceder para visualizar únicamente SU información. De lo contrario, habría que crear un reporte para cada usuario.
          Asignar ROLES EN PBI: Ir a Modelling--Manage Security Roles - Crear roles con los filtros adecuados
          Publicar en PBI Service y desde allí en reporte se pueden realizar las asignaciones:
          - Compartir reporte (en la parte reporte) con cada persona, escribiendo el correo
          - Datos: en seguridad asignar las personas necesarias al perfil según nuestro interés.
          Asignación de roles dinámicamente:
          -Agregar una columna con el correo electrónico del responsable de cada área, por ejemplo, Encargado: [email protected], si es España, o Ruben@ si es otro.
          -Luego, se crea el rol genérico llamado USUARIO, con el siguiente filtro de la tabla SELLER: [Encargado] == USERPRINCIPALNAME()
          -Se publica nuevamente el reporte
          -Desde el modelo de datos(tres puntos), dentro de la parte llamada "Seguridad", se asignan todos los usuarios por sus correos electrónicos y cada uno tendrá acceso a los datos establecidos en la columna Encargado de la tabla Región

          - Configurar la funcionalidad Q&A

          Esta opción muestra una visualización como respuesta a una pregunta realizada en PBI. Cómo configurarla?
          Agregar la visualización nativa de PBI llamada Q&A
          Doble click en la pestaña de visualizaciones
          Pestaña de Modelling: clickear Q&A setup, allí se puede:
          Establecer los sinónimos
          Ver eventuales preguntas de los usuarios hechas en el PBi si está publicado en PBI service

          Andrea
          Participante

            Hola!
            Este es el resumen de lo aprendido en la sección!
            Un saludo!

            Definir tablas
            Definir tablas: una tabla es distinta a una query. La table almacena datos, la query es el Código que permite obtener una table
            Ocultar tablas y columnas no necesarias, para evitar que el usuario vea información que no le resulta relevante
            Configuración de Propiedades de las tablas y medidas: vista desde el modelo de datos.Sinónimos, descripción y nombres.
            Row label: es para indicar cuál es el identificador de la table, es útil para las tablas que tienen ID único.
            Advanced: import, Direct Query, dual.
            Hide/Unhide
            Configuración de Propiedades de columnas:Folder: si se quiere agrupar las columnas en un folder
            Hide/Unhide
            Type format
            Sort column by : se puede ordenar una columna en función de otra (i.e.cronológico)
            Data Category: permite indicar si una columna contiene datos de una categoría, por ejemplo, country/region
            Summarized by: cómo se muestra columna, sum, etc
            Quick Measures
            Running total: permite obtener el acumulado de las ventas para una fecha determinada. Se puede modificar luego
            Crear nuevas medidas con buenas prácticas según PBI
            Cambiar la medida de sitio desde la medida

            Flatten-out a parent-chield hierarchy (ver tema parent-child hierarchy)- Aplanado
            https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3482750/posts/11626454

            Creamos la columna con todas las jerarquías
            Ruta Jerarquia = PATH(Jerarquia[Entidad], Jerarquia[EntidadPadre])
            Agregamos columnas con cada nivel de jerarquía
            Nivel 1 = PATHITEM(Jerarquia[Ruta Jerarquia],1)
            Nivel 2 = PATHITEM(Jerarquia[Ruta Jerarquia],2)
            ....

            Performance requirement https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3482750/posts/11626451
            Esquema de estrella: https://learn.microsoft.com/en-us/power-bi/guidance/star-schema
            Fact tables: table de transacciones. Información transaccional.
            Dim table: características que describen lo que está registrándose en la Fact. Descripciones, ID únicos. Información descriptiva
            Esquema de estrella debe estar ordenado: arriba las dimensiones y abajo las Facts
            No es recommendable el esquema copo de nieve en PBI. Hay que crear una table de dimension con toda la información, por ejemplo, Producto, categoría de producto, subcategoría de producto todo en una tabla.
            Puede haber más de una tabla de hechos. Esquema de estrella con multiples tablas de hechos.

            Crear Common date table:
            https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-date-tables
            Crear tabla calendario: las fechas no se debe repetir y debe tener todas las fechas en un rango establecido.
            Si no existe la tabla calendario, desde POwer Query, Ir a "Nwe Source", luego a "Blank Query" y luego poner = List.Dates
            aquí se agrega una lista y luego en add column seleccionamos la columna y vamos añadiendo cada columna de la tabla calendario.
            Asegurarse de que la primera columna con las fechas, debe ser de tipo fecha
            Marcar como tabla calendario del Modelo: Seleccionar la tabla y "Mark as Date Table". Desde visualización

            Definir la cardinalidad de una relación y la dirección del filtro cruzado
            https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3482750/posts/11626452

            Cross filter direction: puede ser single: Que la dirección va en un solo sentido,o both, que la dirección va en ambos sentidos.
            Mucho Cuidado: LAS RELACIONES BIEN CREADAS SON LA BASE DEL BUEN DESARROLLO DE POWERBI. En Manage Relations se pueden ver/crear/borrar relaciones y cambiar cualquier característica que necesitemos. Hay una opción que es "autodetect" pero se debe tener mucho cuidado con su uso, ya que puede ser problemático si las relaciones se detectan de una manera errónea.
            Role play dimensions
            https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3482750/posts/11626455
            No puede haber más de una relación activa entre dos tablas. Para poder usar una relación diferente a la activa con la tabla calendario hay 2 opciones
            Crear medidas con una relación específica diferente a la activa
            Se puede usar una nueva medida que haga referencia a una relación inactiva a través de USERELATIONSHIP() , de la siguiente forma:

            En este caso se calculan las ventas por fecha de envío, en lugar de por fecha de venta que es la relación activa.
            Crear una nueva tabla calendario con la nueva relación
            Esta opción nos permitirá, no sólo calcular medidas con esa relación, sino incluir fechas y visualizaciones que hagan referencia a la relación. La creación de una nueva tabla se hace a partir de la tabla anterior, copiando exactamente la tabla calendario existente de la sgte forma:
            Nombre nueva tabla= Nombre Antigua tabla (en New Table). L
            uego establecemos la relación entre tablas. Con esta nueva tabla luego podemos crear las medidas según la necesidad, usando el filtro de fecha que nos interese y creando las medidas con la fecha de la tabla que queramos. Una buena práctica es cambiar el nombre de las fechas en la nueva tabla para evitar confusiones a la hora de crear medidas y visualizaciones.

            Resolver las many-to-many relationships
            https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3482750/posts/11626448

            Relación uno a uno: si no se repite el ID en ninguna de las dos tablas. En este caso se podrían unir las tablas con un merge para que sea más eficiente el modelo.
            Relación uno a varios/Varios a uno: en una tabla el ID no se repite, pero en la otra así. Esta situación se da cuando conectamos una tabla dimensión con una Fact table.
            Relación varios a varios: cuidado con la consistencia de los datos en esta situación. Una solución es crear una tabla adicional que contenga información única de alguna de estas tablas para luego relacionarlo con la otra.

            Definir el nivel apropiado para la granularidad de datos:
            https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3482750/posts/11626446

            Andrea
            Participante

              Hola!
              comparto mis puntos claves de esta sección, basado en los aspectos que fueron relevantes para mi.

               

              Gracias

               

              Detección de errores: No borrarlos, analizarlos. Recomendación: keep Error para analizarlos. Luego clikear en el error y observar de dónde vienen.
              Nulos: Fill down, puede usarse en casos de que hay valores nulos, pero debería repetirse el que está arriba. Se pueden remover o reemplazar.
              Values replacement: reemplazar valores por otros. Cuidado cuando se reemplaza texto que no se esté reemplazando parte del texto de otra celda que no queramos reemplazar. En números no es lo mismo, si reemplazo el 1 y una celda tiene el 165, ese 1 no será reemplazado en ningún caso que la coincidencia no sea total, es decir, que tengamos "1". Cuidado con la cantidad de reemplazos que agrega pasos en la consulta y hace más pesado el fichero y se tardará mucho más en cargar el PBI.
              Tratamiento de errores: reemplazar, modificar o corregir: Cuidado con eliminar las filas con error. Preferentemente identificar y corregir el error. Mejor si se corrige en el origen, si fuera el caso, para evitar pasos innecesarios
              Advanced Editor: incluir/modificar pasos. Ver funciones dentro. Cuidado con la coma al final de cada paso (salvo en el último) y luego del in debe ir uno de los pasos que hay en let. Cada paso debe indicarse con #' salvo que contenga palabras sin espacios.
              Combinar consultas y anexarlas: se hacen con el Append o Merge.
              Key column para combinar consultas: se puede crear esta columna con los valores de varias columnas o bien al realizar el merge se seleccionan las columnas que generan la clave única en cada table.
              Pasos en advanced Editor: cada paso incrementa el tiempo de carga. Se deben minimizar los pasos y transformaciones.
              Tipos de datos al combinar: cuando se combinan dos tablas, el tipo de dato de la columna utilizada para combinar debe ser el mismo en ambas tablas.

              Andrea
              Participante

                Muchas gracias!

                Andrea
                Participante

                  Muchas gracias Graciela!

                  Andrea
                  Participante

                    Hola,
                    he aprendido lo siguiente:

                    Selección entre Import, Direct Query o Dual: Excel sólo admite Import. Direct Query se puede usar con bbdd, muestras que Import con cualquier fuente de datos. Se usa Direct Query cuando las bbdd son muy grandes o se necesita información en tiempo real.

                    Query folding: Plegado de consultas. Realizar menor número de paso y los pasos que no admiten el plegado de consultas, dejarlos para el final. El plegado de consultas permite que las transformaciones se hagan en el servidor.

                    Parámetros: También en el tema de "Usar parámetros" vimos que los parámetros podíamos utilizarlos para darle más control a nuestros usuarios qué datos íbamos a mostrarles. Se puede hacer templates para que el usuario reciba el PBI y pueda seleccionar un rango de fechas según el parámetro establecido.

                    Use or create PBIDs file: se usa en Data Sources para exportar esa fuente de datos y que los usuarios puedan conectarse al servidor y las tablas sin necesidad de tener credenciales. Pueden entrar, seleccionar las tablas que les interesa, y trabajar haciendo visualizaciones con ellas

                    Query type/Conectores: es la forma en que un se conecta para cargar los datos en PBI. Existen muchas fuentes, las más usadas son SQL o AzureSQL y Excel. Otras más generales son: ODBC o Ole db. Hay una que se llama Folder para cargar varios ficheros a la vez.

                    Un saludo!

                    Andrea
                    Participante

                      Hola!

                      He aprendido lo siguiente:

                      Identificar anomalías: estas pueden deberse a mala recopilación o puede ser un fenómeno real. En ambos casos hay que explorar más, para corregirlo o para averiguar la razón. Ayudas: diagramas, tablas para visualizar los outliers
                      Data Structures: Tener cuidado del tipo de datos que se asigna a cada columna y que coincida entre las distintas tablas para que las relaciones no se vean afectadas. Columnas que tienen registros tipo "Tabla" o Value" que conecta con una tabla que se puede expandir o un valor que se puede ver.
                      Propiedades de las columnas :Evaluar los datos. Cuando mayor cantidad de valores únicos haya, mayor será el peso del archivo, debido al método de compresión que tiene PBI. Hay métodos para hacer que un archivo de PBI no pese tanto.

                      Las vistas de column profile, distribution and quality son muy útiles para identificar outliers, NAN o algún otro patrón sin necesidad de hacer visualizaciones.
                      Gracias!

                      Andrea
                      Participante

                        Buenos días,
                        Estoy usando la cuenta que se provee en el curso. He probado tanto con la de Ana como con la de Rubén.
                        En el curso aparece esto
                        y lo que yo veo (con la cuenta de Rubén, como puedes ver) es esto:

                        Sólo puedo crear una solución, que no tiene las mismas características que el entorno:

                         

                        Muchas gracias,

                        Andrea

                      Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)