Qué es uno mismo en Python: ejemplos del mundo real
Qué es uno mismo en Python: ejemplos del mundo real
Este tutorial se centra en el uso de la función number.mod de Power Query M para crear un patrón alternativo 0-1 en la tabla de fechas. La solución que les mostraré provino de uno de los usuarios avanzados de nuestra comunidad, Rajesh, en LuckyTemplates. Puede ver el video completo de este tutorial en la parte inferior de este blog.
El objetivo es generar una secuencia de cuatro ceros alternados por cuatro unos, y luego repetirla a lo largo del día.
Rajesh dio en el clavo con su análisis y desglose del problema utilizando la función Power Query M para resolverlo. Dicho esto, pasemos a Power Query.
Tabla de contenido
La función Power Query M Number.Mod
Power Query M, específicamente la función number.mod, será el núcleo de nuestra solución. ¿Qué hace?
Puede consultar la documentación interna de cualquier función M ingresando su nombre sin paréntesis como se muestra aquí en la barra de fórmulas. Esta función devuelve el resto de una división de enteros. Toma hasta tres parámetros, los dos primeros, un número, y el divisor, que también es un número.
Ahora empecemos. Seleccionaré mi consulta de muestra que contiene un intervalo de fechas que he preparado.
En muchos casos, number.mod se usa en combinación con una columna de índice que luego se usa como su primer parámetro. Pero no voy a hacer eso porque si lo piensas bien, el valor de la fecha es un número entero. Entonces, crear un índice que comparta la misma granularidad que la columna Fecha, donde cada fila tiene un valor único, es algo que podemos evitar.
Todo lo que tenemos que hacer para imitar un índice es restar la primera fecha en nuestra tabla Fecha de cada fecha en la columna Fecha. Para hacer eso, podemos almacenar el valor de la fecha de inicio en una variable para que podamos usarlo una y otra vez. Creo que el Editor avanzado es el mejor lugar para hacer esto.
Así que abriré la ventana del Editor avanzado y crearé una nueva variable. Llamémoslo StartDate . Codifiqué mi Primera cita aquí, así que solo voy a copiarla y pegarla. No olvide la coma al final, y ahora podemos reemplazar esa Primera cita con nuestra variable Fecha de inicio.
Como puedes ver, nada cambió.
Creación de una columna personalizada para el patrón M de Power Query
Entonces, a través de esta mini tabla, agregaremos una columna personalizada.
Llamemos a esta columna Pattern e ingresemos la función de Power Query M, number.mod . Verá los dos parámetros aquí, un número como un número anulable y un divisor como un número anulable. Por lo tanto, requiere dos valores de tipo numérico como parámetros.
Ahora no tenemos números, ¿verdad? Tenemos fechas y no existe tal cosa como conversión de tipo automática en ellas. Entonces necesitamos obtener el número de nuestro valor de fecha. Así que escribimos aquí, number.from luego nuestra columna Fecha y luego restamos nuestra variable StartDate.
Ahora, supongamos que la primera fecha en nuestra tabla de fechas devuelve uno, luego nuestra fecha de inicio también devolverá uno. Y así, uno menos uno es igual a cero. Quiero que nuestra numeración de índice comience con un uno en lugar de un cero. Así que tendremos que sumar uno atrás más uno. Ahora uno menos uno es igual a cero más uno devuelve uno para el primer registro.
Para el segundo registro, obtenemos un valor de dos (2) para la fecha en la columna Fecha, menos un uno (1) de nuestro valor StartDate que es igual a uno, más el que estamos agregando nuevamente devuelve un dos, y así sucesivamente. . Nuestro patrón repetitivo se basó en una serie de cuatro valores alternos. Entonces, como divisor, voy a pasar el valor cuatro (4).
Veamos qué hace eso. En la fila cuatro, obtenemos cero, así como en la fila ocho. Entonces, cada cuarta aparición devuelve un valor cero para ese registro.
Creación de una construcción IF-THEN-ELSE
Volvamos al cuadro de diálogo de nuestro cliente y amplíemos la lógica que hemos escrito hasta ahora. Excepto por el divisor, necesitamos repetir la misma lógica para poder identificar una octava ocurrencia.
Sin embargo, en esa octava fila, queremos un valor diferente. Entonces, para hacer una distinción entre una cuarta y una octava ocurrencia, podemos usar una construcción IF-THEN-ELSE. De esa manera, podemos devolver un valor para la primera prueba lógica que devuelva un verdadero.
Así que If , y volveré a pegar nuestro código aquí (excepto por el divisor), cambie ese divisor a un ocho para que una octava fila devuelva cero. Entonces, si eso es igual a cero, eso significa que fallará en su camino a verdadero o falso. Entonces queremos un uno (1). De lo contrario , si nuestra lógica aquí identifica una cuarta fila igual a cero, entonces queremos cero (0). De lo contrario, no queremos recuperar un valor. Así que agreguemos un nulo .
Ahora, revisemos nuestra lógica nuevamente. Entonces, en cada cuarta aparición, obtenemos ese cero. Y luego, en el octavo, obtenemos un uno. A continuación, obtenemos cero y uno, y así sucesivamente.
Así que esto se ve bien. Todo lo que tenemos que hacer ahora es llenar estos valores.
Entonces, dentro de la barra de fórmulas, agregaremos Table.FillUp al principio y luego algunos paréntesis de apertura. Al final de nuestro código, agregamos el número de tipo ; también necesitamos agregar una columna como una lista. Entonces, vamos a coma , luego usamos las llaves para el inicializador de lista y como un valor de texto pasamos nuestro nombre de columna, Patrón . No olvide los paréntesis de cierre y presione OK.
Guía para principiantes del código M en LuckyTemplates
Función M para la tabla de fechas: cómo agregar un parámetro en el editor de consultas
Clasificación de las columnas de la tabla de fechas en LuckyTemplates
Conclusión
Este es un escenario único y, sinceramente, no puedo pensar en una aplicación para este patrón específico, pero espero que pueda ver el potencial de crear secuencias usando la función de Power Query M, number.mod.
Para obtener más detalles, vea el video completo a continuación para este tutorial.
¡Mis mejores deseos!
Toronjil
Qué es uno mismo en Python: ejemplos del mundo real
Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.
En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.
Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.
En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.
Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.
Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.
Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.
Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.
¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber