Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

En este blog, discutiremos cómo convertir un código YYWWD en un valor de fecha . Este tutorial se basó en una respuesta a una consulta de un miembro  . Puede ver el video completo de este tutorial en la parte inferior de este blog.

El miembro solicitó una forma de convertir su campo Fecha de entrega confirmada , que tiene un formato de año, semana y día de la semana, y transformarlo en un campo de fecha.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

En su ejemplo, el miembro explica que el código 20145 debe convertirse a 2020-04-03. Entonces, a partir de esto, podemos concluir que los primeros dos dígitos corresponden al año, los siguientes dos dígitos corresponden al número de la semana, mientras que el último dígito corresponde al día de la semana.

Ahora que ya tenemos una idea de cómo abordar la consulta, comencemos.

Tabla de contenido

Separar el código para obtener un valor de fecha adecuado

Para facilitar nuestro trabajo, carguemos nuestros datos en el Editor de Power Query .

Lo primero que noté cuando cargué los datos en Power Query es que inmediatamente hizo un paso de tipo de cambio, como se muestra a continuación.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Como no necesitamos esto, podemos eliminar este paso haciendo clic en el botón X al lado.

Ahora, comencemos a dividir el código en columnas separadas para el año, la semana y el día de la semana.

Columna de año

Como mencioné anteriormente, los primeros dos dígitos del código corresponden al año del valor de la fecha.

Para agregar una columna separada para el año, debemos asegurarnos de que la columna Fecha de entrega confirmada esté seleccionada. Para hacer esto, vaya a la pestaña Agregar columna , haga clic en Extraer y luego seleccione Primeros caracteres .

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Dado que solo necesitamos los dos primeros dígitos para la columna del año, ingrese '2' en la pestaña Recuento y haga clic en Aceptar.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Ahora, modifiquemos nuestra nueva columna editando la barra de fórmulas. Entonces, para cambiar su nombre de columna, cambie los primeros caracteres en la barra de fórmulas a Año. Para convertirlo en su valor anual adecuado, agreguemos 2000 a cada uno de nuestros valores.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Tenga en cuenta que después de modificar nuestra fórmula, recibiremos un error debido a una falta de coincidencia de tipos.

El mensaje de error dice que no podemos aplicar el operador + a los valores de tipo de número y texto.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Para solucionar esto, necesitamos editar nuestra fórmula para que el valor del texto se convierta en un número. Usaremos la función Number.from para hacer esto y encerramos las partes siguientes entre paréntesis. Luego, cambie el tipo de devolución de texto a número.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Columna Semana

Ahora extraigamos el número de semana del código.

Nuevamente, asegúrese de que la columna Fecha de entrega confirmada esté seleccionada, vaya a la pestaña Agregar columna, haga clic en Extraer, luego seleccione Rango.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Para obtener el tercer y cuarto dígito de nuestro código, debemos comenzar a contar desde 0, ya que Power Query se basa en cero. Esto significa que para obtener el tercer dígito de nuestro código, nuestro rango debe comenzar desde 2.

Y como solo necesitamos 2 dígitos del código para el número de semana, ingresaremos 2 en el campo Número de caracteres.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Una vez más, la misma lógica se aplica aquí. Para transformar la etiqueta de la columna a su nombre propio, cambie Rango de texto a Semana en la barra de fórmulas.

Además, agregue la función Number.from en nuestra fórmula, encierre las partes siguientes entre paréntesis y cambie el tipo de retorno a un número.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Columna de día

Para la columna del día, solo necesitamos el último dígito del código. Para extraerlo, seleccione la columna Fecha de entrega confirmada , vaya a la pestaña Agregar columna, seleccione Extraer y luego haga clic en Últimos caracteres .

Ingrese 1 porque solo queda un dígito del código que necesitamos extraer.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Al igual que hicimos antes, en la barra de fórmulas, cambie Últimos caracteres a Día para que nuestra nueva columna tenga su nombre propio.

Nuevamente, agregue la función Number.from , encierre las siguientes partes de la fórmula entre paréntesis y cambie el tipo de devolución a número.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Búsqueda de 3 vías para obtener un valor de fecha

Ahora que tenemos todos los componentes para recuperar una sola fecha de nuestra tabla de calendario, lo único que queda por hacer es realizar una búsqueda de 3 vías .

Para hacerlo, vaya a la pestaña Inicio y seleccione Fusionar consultas.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Ya que vamos a fusionarnos con nuestra tabla de Fechas, haga clic en la pestaña desplegable y seleccione Fechas.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Identificando los pares

Ahora, vamos a identificar los pares que van juntos.

En la tabla superior, seleccione la columna del año y luego emparéjela con la columna del año de la tabla a continuación.

Para seleccionar otro par, presione el botón Ctrl en su teclado, seleccione la columna de la semana de la tabla superior y emparéjela con la columna del número de semana de la tabla a continuación.

Por último, sin dejar de presionar el botón Ctrl, seleccione la columna de día de la tabla superior y vincúlela a la columna DíaEnSemana de la tabla siguiente.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Para asegurarse de que las columnas estén emparejadas correctamente, verifique si el número de índice coincide entre sí.

Como se muestra a continuación, las columnas Año deben tener un Índice 1, la columna Semanas debe tener un Índice 2 y la columna Días debe tener un Índice 3.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Obtener el valor de fecha adecuado

Debido a que solo necesitamos la columna de fechas, anule la selección de todas las demás columnas y deje la columna de fechas marcada como se muestra a continuación.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Como puede ver, el primer valor en nuestra nueva columna de fechas es 4-4-2020. Sin embargo, recuerde que en el foro, el código 20145 debe convertirse en 3-4-2020.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Esto se debe a que si examinamos nuestra tabla de fechas, podemos ver que en la columna DayInWeek, el conteo comienza de 0 a 6 y no de 1 a 7.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Restar de la columna del día

Para arreglar esto, restemos 1 de todos los valores en nuestra columna Día.

En la sección Pasos aplicados, haga clic en el paso donde agregamos la columna del día. Este fue el paso de los últimos caracteres insertados .

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

En la barra de fórmulas, reste 1 justo después de los paréntesis.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

Después de hacer eso, podemos ver que ya tenemos los valores correctos en nuestra columna de fecha.

Finalmente, lo último que debemos hacer es limpiar y eliminar las columnas que ya no necesitamos.

Para ello, seleccione Elegir columnas, anule la selección de todo lo demás y deje marcadas la columna Fecha de entrega confirmada y la columna de fecha.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates

¡Y hemos terminado! El resultado de nuestro trabajo debería verse así.

Conversión de un código YYWWD en un valor de fecha en LuckyTemplates


Mostrar resultados hasta la fecha actual o una fecha específica en LuckyTemplates
Evitar que los resultados del año hasta la fecha se proyecten hacia adelante
Filtrar datos por trimestres y años fiscales personalizados Usar columnas calculadas en LuckyTemplates

Conclusión

En este blog, convertimos un código que está en formato de año, semana y día de la semana a un valor de fecha adecuado. Separamos el código y creamos 3 columnas a partir de él. Al usar una búsqueda de 3 vías, fusionamos estas columnas para lograr un valor de fecha único.

La técnica que usamos para abordar el problema en el foro de soporte se puede usar en otros escenarios. Así que asegúrese de entenderlos bien.

Mis mejores deseos,

Toronjil


Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.