Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Querido
Tenemos un caso de negocio en particular donde tenemos varios documentos y múltiples estados por documento.
Nos gustaría contar el número distinto de documentos por estado, pero evitando el doble conteo (por ejemplo, cuando un documento tiene varias filas de estado). No hay ningún campo como la última fecha de creación o el último estado, sólo podemos detectar el recuento correcto basado en la dimensión donde tenemos un orden de prioridad. Vea el ejemplo a continuación, he añadido los detalles de la dimensión...
Por ejemplo, DocumentId 1 tiene un StatusID 1 y 2, pero en función de la tabla de dimensiones, sabemos que StatusID 2 tiene la prioridad más alta (cuanto menor sea el número, mayor será la prioridad, pero no tan importante). Por lo tanto, cuando contamos por estado, el DocumentId debe contarse solo con StatusID 2 y no para StatusID 1.
Desafortunadamente, soy bastante nuevo en Power BI y DAX y no pude encontrar una función para derivar esto.
¿Alguien una sugerencia?
@timvw
Dado que la expresión de filtro es max([status id], si desea filtrar basado en la prioridad. Intente cambiar la parte subrayada a min([Priority]), mantenga a otros iguales.
Paul Zheng _ Equipo de apoyo de la comunidad
Si este post ayuda, por favor Acédárlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola
Eso no es del todo correcto. Lo que necesito es obtener la prioridad mínima por documentId y como tal conozco el Status(Id) correspondiente.
Traté de implementarlo :
Pero el resultado no es correcto:
Me convierto en StatusID 3 - recuento de 4 (todos los documentos)
Mientras que el resultado del conteo debe ser:
StatusID 1 a 1 (DocumentId 2)
StatusID 2 a 1 (DocumentId 1)
StatusID 3 a 3 (DocumentId 3, 4,5)
StatusId 4 a 0
¿Qué tiene de malo mi medida?
@tvw83 , Pocas maneras. Cree una columna de rango y filtre en 1.
columna de rango : rankx(filter(Table, [document_id] ? earlier([document_id])), [Status_id],,desc,dense)
o probar una medida como esta.
measure: calculate(count(Table[document_id]), filter(Table , Table[status]- calculate(max([Status_id]),allexcept(Table,table[document_id]))))
Hola amitchandak,
Desafortunadamente eso no es completamente lo que estoy buscando. Me gustaría ordenar/clasificar en función de un campo de la tabla de dimensiones (dimPriority) que no está en la tabla de hechos. En mi ejemplo, los he puesto en una tabla, pero solo StatusId es la clave entre la tabla de hechos y la dimensión.
Por coincidencia, el resultado es el mismo si se ordena en StatusID, pero eso no es lo que necesito.
Por lo tanto, la pregunta es, ¿cómo ordeno/clasifico en la tabla de hechos (DocumentId, Date, StatusID) en función de un campo de la tabla de dimensiones (dimPriority) ?
Gracias de antemano
Para ayudar a sugerir una expresión específica, proporcione un ejemplo de un objeto visual (por ejemplo, tabla o matriz) que haría que muestre el resultado correcto en contexto.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Hola, cambié ligeramente los datos para mostrar un caso real.
Debajo de la pantalla de impresión de la relación. Me gustaría contar en función del campo Prioridad en la tabla de dimensiones.
Y en adelante una pantalla de impresión del hecho, Dimension tablas como matriz.
Por favor, mire DocumentId 5, debe contarse una vez para StatusID 3 y no StatusID 4. ¿por qué? Basado en la prioridad (cuanto menor sea más importante), StatusID 3 es anterior. Así que me gustaría contarlo para ese estatus.
Pero para esto, necesito poder ordenar en función de la columna Prioridad.
¿Alguna sugerencia?
Kr
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |