[ad_1]
Tengo una tabla que contiene número de pieza, ubicación, col1, col2, medida1, medida2, medida3. Según Measure3, debe mostrar los 100 registros principales.
La cosa es que la tabla carga dos meses de datos. por ej. carga de datos enero + febrero. según el número de pieza, la ubicación y, si hay registros duplicados, se debe tomar el registro más reciente. en consulta SQL funcionando. en consulta SQL suma de datos de dos meses, es decir. jan =dic+jan, feb =feb+jan, clasificándolos y tomando el puesto 1. de esta manera obteniendo el último registro. Cómo se logra en power bi usando dax. sin tabla o columna de fechas. teniendo meso. por ejemplo: nov2023=23, diciembre2023=24, enero2024=25, febrero2024=26, marzo2024=27 y así sucesivamente.
tener rebanadoras número de parte, ubicación. y en la tabla debe mostrar el número de serie del 1 al 100 para esos registros.
Lo que he probado:
medida creada para mostrar el top 50. Está bien, pero lo necesario es obtener el registro más reciente.
Solución 1
Realmente necesita cambiar su base de datos para lograr esto de una manera significativa: almacenar datos basados en fechas en cadenas siempre es una mala idea y las comparaciones de cadenas siempre se basan en el primer par diferente de caracteres; los siguientes ni siquiera se miran. Entonces el orden sería:
apr2022 apr2023 aug2022 aug2023 dec2022 dec2023 feb2022 feb2023 jan2022 jul2022 jul2023 jun2022 jun2023 mar2022 mar2023 may2022 may2023 nov2022 nov2023 oct2022 oct2023 sep2022 sep2023
Lo cual es bastante inútil.
Si bien es posible hacerlo, requiere mucho esfuerzo y suerte: el nombre de un mes en francés o alemán arruinará su código, por ejemplo.
La función CAST te permitirá hacerlo:
CAST('oct2023' AS DATE)
Le daré el 2023-10-01, pero agregará mucho procesamiento y complejidad a sus consultas (todas ellas) y aún así no le brindará los pedidos que necesita dentro de cada mes porque sus datos no los contienen: todas las fechas serán el primero del mes. Y afectará el rendimiento y aumentará el número de filas.
Como mínimo, agregue una columna de marca de tiempo (DATETIME o DATETIME2) a su base de datos y establezca de forma predeterminada la hora de inserción (en UTC de preferencia) y utilícela en lugar de la basura basada en cadenas que tiene actualmente.
[ad_2]
コメント