Home
» Power BI
»
Creación de valores para cada fecha mediante la fórmula de Power Query
Creación de valores para cada fecha mediante la fórmula de Power Query
En este tutorial, aprenderá a crear valores para cada día mediante la fórmula de Power Query en LuckyTemplates.
La creación de valores para las fechas es una técnica importante para aprender en LuckyTemplates. Puede brindarle los datos que desea ver a lo largo de los días en su modelo. Esta técnica también cubre los espacios entre columnas.
Esta es una gran herramienta para usar cuando sus tablas de fechas carecen de información.
Para los conjuntos de datos que contienen ID, fechas y pesos, debe llenar el espacio entre esas medidas. Esto se puede hacer creando un intervalo de fechas para distribuir la diferencia entre los días.
Para hacer eso, vaya a Power Query para ver su tabla.
Debe cargar una copia de sus datos en la memoria. Para que eso suceda, debe usar la medida Table.Buffer .
Si hace clic en TableBuffer, verá lo que hace la medida.
Luego, regrese a su conjunto de datos y haga clic en fx en la barra de fórmulas. Debe agregar Table.Buffer en la medida.
Luego, cambie el nombre de este paso a BufferedTable .
A continuación, agregue una columna personalizada.
Crear la condición de filtro para los ID
En esta fórmula de Power Query, cambie el paso al que se hace referencia de BufferedTable a RenameColumns porque BufferedTable debe verificarse primero.
Para verificar BufferedTable, use Table.SelectRows que devuelve una tabla que coincide con la condición seleccionada.
Entonces, para cada expresión en la fórmula, use Table.SelectRows y luego use BufferedTable.
Como condición de filtro, use una función final personalizada e ingrese BT para Buffered Table . Verifique la columna ID si es igual a la ID del registro actual. A continuación, acceda al registro actual usando el guión bajo como operador de acceso y luego haga referencia a la misma columna de ID.
Esto le dará una tabla filtrada que solo contiene los ID que coinciden con el registro actual.
Agregue la condición de filtro para las fechas
Debe filtrar la columna de fecha porque solo necesita las fechas que son iguales al registro actual.
Utilice estas funciones para comprobar la columna de fecha BT:
Esta columna debe ser mayor o igual que la fecha del registro actual.
Con esto, la tabla contendrá dos filas en lugar de tres:
Comprobar y ordenar la columna de fecha
Debe verificar si la clasificación de la columna de fecha es correcta usando Table.Sort . La función Table.Sort ordena una tabla en una o más columnas según los criterios que desee.
La sintaxis en este ejemplo es bastante complicada, por lo que debe profundizar en un tema de tabla.
Debe hacer clic derecho en una tabla y agregarla como una nueva consulta.
Al hacer clic en eso, obtendrá una consulta personalizada que contiene esa tabla.
A continuación, haga clic en la columna de la fecha y elija Ordenar de forma ascendente.
Copie toda la fórmula:
Regrese a su consulta principal y péguela en la barra de fórmulas:
Debe eliminar la referencia de Table.Sort porque la tabla que necesita pasar el parámetro debe ser el resultado de Table.SelectRows.
Una vez que haya terminado, vuelva a agregar las condiciones de clasificación. Después de aplicar los cambios, su tabla ahora está ordenada correctamente por fecha.
Utilice la función Table.FirstN
Para este paso, solo necesita 2 registros en lugar de 3.
Para solucionar esto, vuelva a la consulta personalizada. Haga clic en Conservar filas y luego en Conservar filas superiores.
Ingrese 2 en el espacio en blanco para el número de filas.
Notará que la función Table.FirstN aparece en la barra de fórmulas. Table.FirstN devuelve la(s) primera(s) fila(s) de la tabla según el valor de countOrCondition .
Inserte esa función, junto con la cantidad de filas que necesita en la consulta principal. Incluya la tabla de tipos de función al final.
Cada objeto de tabla en el conjunto ahora tendrá 1 o 2 filas.
Obtenga la diferencia de días entre 2 valores de fecha
El siguiente paso es obtener el número de días entre los valores de fecha y extraer la fecha que estaba en el segundo registro.
Comience agregando una columna personalizada. Nómbrelo Días . Luego, sigue esta fórmula de Power Query:
La sintaxis asegura que haya 2 registros en una tabla. Si solo hay 1, la diferencia de días es 0 porque no tiene ningún registro siguiente. Si hay 2, puede obtener la diferencia de los valores de fecha.
A continuación, agregue el número de tipo en la fórmula de esta manera.
Como puede ver, obtiene una diferencia de 385 días desde el 14 de septiembre de 2017 hasta el 4 de octubre de 2018.
Determinar un paso de peso
A continuación, debe calcular cuál debe ser el peso para cada día.
Debe agregar una columna personalizada nuevamente, asígnele el nombre WeightStep y copie esta fórmula de Power Query:
La sintaxis verifica si la tabla tiene más de 1 fila, resta el peso del registro actual y divide esa diferencia por la cantidad de días.
Nuevamente, agregue el número de tipo en la fórmula para que pueda ver el peso de cada día.
Llenar el vacío
Ahora que tiene la cantidad de días, puede crear una lista de fechas para llenar el vacío en el conjunto de datos.
Primero, agregue otra columna personalizada y llámela DateKey . Luego, sigue esta fórmula de Power Query:
La fórmula comprueba si hay una diferencia de fecha. Si lo hay, crea una lista de fechas entre la fecha de inicio que es del registro actual y la expande por el número de días. Pero si no hay diferencias, devuelve la fecha.
Este es el resultado:
Los temas de la tabla que no tenían diferencias tenían su fecha devuelta; las tablas que lo hicieron, obtuvieron una lista de fechas.
Si expande DateKey a nuevas filas, puede ver los registros de todos los días.
Obtenga la proyección de peso de las fechas
Después de crear una lista de fechas, debe obtener una proyección de peso para las fechas.
Primero, agregue una columna personalizada y asígnele el nombre WeightProjection . Luego ingrese esta fórmula de Power Query:
La sintaxis obtiene el valor de ponderación, lo suma al valor de DateKey, lo resta del valor de fecha y lo multiplica por WeightStep.
Nuevamente, agregue el número de tipo al final de la fórmula.
Ahora tienes la proyección de peso para cada fecha.
Elimine las columnas auxiliares: Personalizado, Días y Paso de peso utilizando la fórmula a continuación y cambie el formato de la columna Clave de fecha a Fecha.
Conclusión
En este tutorial, aprendió cómo llenar los vacíos en su conjunto de datos creando valores en cada lista de fechas.
Estos valores de fecha lo ayudan a obtener información valiosa de su modelo. Si sus tablas carecen de información, puede usar esta técnica para hacerlas más completas.
Puede haber datos esenciales en su tabla que está omitiendo, así que siempre maximice cada fila y columna.