Hola muy buenos días , tardes o noches.
Utilizaremos el data set de este maravilloso reto en el cual manejamos que es el numero 6 WELCOME TO THE FP20 ANALYTICS CHALLENGE.
Acá podrán encontrar el link del challenge con el data set.
https://fp20analytics.com/challenge
El día de hoy validaremos si en nuestro data set existe duplicados.
Recordemos primero por que la importancia de identificar duplicados.
Ahora siempre es importante garantizar que no tengamos duplicados en estos casos de generación de códigos es muy importante evaluarlo sea cual sea el data set , te expongo 3 razones para mi fundamentales del por que es importante que no tengamos duplicados
Calidad de los datos: Los duplicados pueden afectar la calidad de los datos y distorsionar la precisión de los análisis y resultados, este es muy obio por que tenemos dos datos duplicados ejemplo deseamos saber cuantas veces llama un cliente al restaurante , y si este esta dos y tres veces el dato es irreal , claro existen métodos para conta únicos , pero eficiencia lo mejor identificar los únicos. Si hay registros duplicados, es posible que se estén contando o analizando incorrectamente, lo que puede llevar a conclusiones erróneas.
Eficiencia del análisis: Los duplicados pueden aumentar la carga de trabajo y disminuir la eficiencia del análisis de datos. Si tienes duplicados, estarás procesando y analizando la misma información varias veces, lo que puede ser innecesario y consumir recursos adicionales, esto quiere decir que será muchos mas fácil hacer un count en una columna que sabes que no tenemos duplicados , que hacer un disticnt count lo que hace mucho menos eficiente el dato y el proceso en líneas generales.
Integridad de la base de datos: En entornos de bases de datos, los duplicados pueden violar las restricciones de integridad, como las claves primarias o restricciones de unicidad. Esto puede generar problemas de coherencia y dificultar la actualización y manipulación de los datos, por este es un punto fundamental para las actualización de las BBDD así que antes de activar las integridad de referencia , o en cascada ojito elimina los duplicados, conversa con el cliente esta situación y véndelo como una oportunidad de mejora.
Toma de decisiones: La presencia de duplicados puede afectar la toma de decisiones basada en datos. Si los duplicados no se gestionan adecuadamente, es posible que las decisiones se basen en información redundante y sesgada, lo que puede llevar a acciones incorrectas o ineficientes, en pocas palabras el dato esta falseado , por que , pues por que esta do y hasta tres veces o mas por que no hubo control de los duplicados.
Ejemplo en este data set tiene una columna que se llama customer ID el cual no debería tener duplicados, por que un mismo cliente puedes llamar varias veces en el día , peor a la misma hora al mismo segundo no jejeje , así que a partir de esta lógica deberíamos crear una columna combinada con tres campos para así identificar si tenemos o no duplicados
Date Time customer placed order Customer ID
Paso 1) Creamos la formula para combinar estas tres columnas pero recuerda que son fecha , hora y segundos y un int , a que entra el poder del lenguaje M
Text.Combine({Text.From([Date]), Text.From([Time customer placed order]), Text.From([Customer ID])}, » «)
Con esta tenemos las combinación
Paso 2) vamos eliminamos las demás columnas y dejamos solo una sola y luego eliminamos duplicados y probemos comprobar que no tenemos duplicados en este data set así que genial.
Te explico el código detalladamente acá para crear el campo clave que nos ayudare de manera muy sencilla para poderlo realizar
Text.Combine({Text.From([Date]), …}): La función Text.Combine se utiliza para concatenar varios valores de texto juntos. En este caso, estamos pasando una lista de valores que queremos concatenar.
Text.From([Date]): La función Text.From se utiliza para convertir un valor en formato de texto. Aquí, estamos convirtiendo el valor de la columna [Date] en texto.
Time.ToText([Time customer placed order], «hh:mm:ss»): La función Time.ToText se utiliza para convertir un valor de tiempo en formato de texto, pero también permite especificar un formato de salida. Aquí, estamos pasando el valor de la columna [Time customer placed order] y utilizando el formato «hh:mm:ss» para asegurarnos de que los segundos estén incluidos en la representación del tiempo.
Text.From([Customer ID]): Al igual que en el punto 2, estamos utilizando la función Text.From para convertir el valor de la columna [Customer ID] en texto.
» «: Este es el separador que se utilizará para unir los valores de texto en la función Text.Combine. En este caso, estamos usando un espacio en blanco para separar los valores concatenados.
En resumen, el código está convirtiendo los valores de la columna [Date], [Time customer placed order] y [Customer ID] en texto y luego los está concatenando con un espacio en blanco entre ellos. Además, se utiliza Time.ToText con el formato «hh:mm:ss» para asegurarse de que los segundos estén incluidos en la representación del tiempo en la concatenación de la columna [Time customer placed order].
Espero que esta explicación detallada te haya ayudado a comprender el código. Si tienes alguna otra pregunta, no dudes en preguntar.
Vicente Antonio Juan Magallanes
Business Intelligence Technical.
Perfil linkedin.