Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola
Una determinada industria tiene diferentes unidades de negocio (BU) que fabrican productos similares. Quiere rastrear y comparar el rendimiento de diferentes lotes dentro y entre las unidades de negocio (intra e inter BU).
Las columnas BU Id y Batch Id están numeradas numéricamente desde 1,2,3...en adelante. Pero debido a algún problema de facilidad de uso, el tablero debe ser tal que la columna Número de lote / Nombre también debe ser numérica, de modo que dentro de cada BU, el primer lote del año se numere 1, luego 2 y así sucesivamente.
ID de unidad de negocio | ID de lote | Número de lote |
1 | 1 | 1 |
1 | 2 | 2 |
1 | 3 | 3 |
2 | 4 | 1 |
2 | 5 | 2 |
2 | 6 | 3 |
3 | 7 | 1 |
3 | 8 | 2 |
El problema es que de esta manera cada BU tendrá números de lote idénticos. ¿Debería ser esto motivo de preocupación en el modelado de datos/DAX? Si es así, entonces cuál podría ser la solución (teniendo en cuenta que los números de lote TIENEN que comenzar desde 1 para cada BU al comienzo del año).
Aprecia tu tiempo.
Muchas gracias @v-yueyunzh-msft Sí, eso es correcto. No pude entenderlo antes. Por cierto, ¿puede la función AÑO obtener datos según el año financiero también (1 de julio - 30 de junio)? En caso afirmativo, ¿puede guiar amablemente cómo?
El formato de fecha también es correcto ahora. Aunque anteriormente también estaba haciendo lo mismo. 🙂
Hi, @saqib1
Creo que la respuesta @grazitti_sapna es correcta, solo agrupa y ordena según el año y la identificación de BU, si solo quieres agrupar según la identificación de BU, puedes eliminar el juicio del año.
Batch Number = RANKX(
FILTER(
ALL('Batching Detail'),
'Batching Detail'[BU Id]= EARLIER('Batching Detail'[BU Id])
),
'Batching Detail'[Batch Id],
,
ASC,
Dense
)
Y para su formato de fecha, puede usar "Usando Local":
También puede usar el formato para convertir, para esto puede referirse a:
Resuelto: Cómo configurar la fecha de consulta de energía como dd / mm / aaaa en ... - Comunidad de ...
Excel - Power BI: Convertir texto (aaaammdd) a fecha (dd/mm/aaaa) - Desbordamiento de pila
Gracias por su tiempo y uso compartido, y gracias por su apoyo y comprensión de PowerBI.
Saludos
Dijo Zhang
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @grazitti_sapna Muchas gracias por dar tu tiempo.
Disculpas por la respuesta tardía, en realidad la solución proporcionada no está dando los resultados esperados. Estuve trabajando en los datos desde hace unos días para ver si hay un error de mi parte. Por favor, vea a continuación el enlace del archivo PBIX.
https://1drv.ms/u/s!AoqwAyWfotQsjQgSbAyaW1EDLYEe?e=0ns1yU
El BU Id 1 está dando el resultado correcto para los números de lote, pero los BU Ids 2 y 3 están dando resultados incorrectos. También he dado nombre a las unidades de negocio. El usuario debe poder seleccionar el nombre de la unidad de negocio y el número de lote y, en consecuencia, debe poder obtener los datos del número de lote específico de la unidad de negocio respectiva.
Una cosa más, si está en su dominio o tiene conocimiento al respecto, quiero las fechas del lote en formato de fecha del Reino Unido, es decir, DD / MM / AAAA. Escribí todas las fechas en este formato en Excel, pero las que comienzan con fechas de un solo dígito, es decir, 01-09, siempre invierten el formato en Power BI, es decir, 01 de julio de 2022 se convierte en 07 de enero de 2022 y de manera similar a otras fechas similares. He intentado usar Locale para establecer la fecha del Reino Unido, pero tampoco está desgastado. ¿Puede amablemente guiar sobre esto también? ¿Tal vez esto podría haber tenido un impacto en los ID de BU 2 y 3?
Gracias de nuevo por su tiempo 🙂
Realmente lo aprecio
Puede crear una columna calculada llamada "Año" para extraer el año de la columna "Fecha de lote":
Año = AÑO('SuTabla'[Fecha de lote])
Cree una columna calculada denominada "Número de lote" mediante la siguiente fórmula:
Número de lote =
RANKX(
FILTRO(
ALL('YourTable'),
'YourTable'[ID de unidad de negocio] = BEFORE('YourTable'[ID de unidad de negocio]) &&
YEAR('YourTable'[Fecha de lote]) = BEFORE('YourTable'[Año])
),
'YourTable'[Id. de lote],
,
ASC
Denso
)
De esta manera, logrará el resultado deseado
Espero que esto ayude.