Anónimo
Hola,
Necesito encontrar un rango en la combinación de 2 columnas DocumentID, InoviceNumber.
Ver los datos de muestra,
Resultado esperado como a continuación,
Ayúdame a lograr el resultado deseado (rango).
Se agradecería mucho una ayuda rápida.
v-shex-msft
En respuesta a Anónimo
Hola @Anónimo,
Puede agregar un filtro en el proceso archivado (antes de los pasos del grupo), luego la columna de índice personalizado se cambiará según los registros filtrados.
Si quiere decir que estos registros deben ser cambios basados en el filtro / segmentador de nivel visual, es imposible. El power bi actual no puede usarlos para interactuar con los registros de las tablas de consulta. (los datos de nivel visual se generan a partir de tablas de modelos de datos, los registros de tablas de modelos de datos se generan a partir de tablas de consulta, no puede usar registros de nivel secundario para afectar a su padre)
Saludos,
Xiaoxin Sheng
Ashish_Mathur
Hola,
Este código M funciona
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcjQ0MlbSUYqINFSK1SHEdYJwI6OMsHGdoYqjjAlxYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Document ID" = _t, InvoiceNumber = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Document ID", type text}, {"InvoiceNumber", type text}}),
Partition = Table.Group(#"Changed Type", {"Document ID"}, {{"Partition", each Table.AddIndexColumn(_, "Index",1,1), type table}}),
#"Expanded Partition" = Table.ExpandTableColumn(Partition, "Partition", {"InvoiceNumber", "Index"}, {"InvoiceNumber", "Index"})
in
#"Expanded Partition"
Espero que esto ayude.
Anónimo
En respuesta a Ashish_Mathur
Hola @ v-shex-msft && @Ashish_Mathur
Gracias por la respuesta. Ambas soluciones están trabajadas. Pero me he olvidado de incluir una condición adicional,
Como tengo 80 columnas que incluyen ID de documento, InvoiceNumber y necesito calcular la clasificación en la ID de documento, InvoiceNumber, hay una condición de filtro al calcular la clasificación.
Básicamente, estoy convirtiendo contenido de Spotfire a Power BI. Permítanme ponerles el cálculo de Spotfire para el rango que estaban usando.
Calc de Spotfire:
Rango = caso cuando [process] en («abierto», «En curso»), luego Clasificar (Rowid (),[Document ID],[InvoiceNumber])fin
En el proceso de convertir lo mismo en poder bi, el proceso que ha compartido está funcionando en cierta medida. ¿Pueden ayudarme a alcanzar el rango, incluido el filtro de proceso?
Vea los datos de muestra a continuación y la salida deseada,
Ashish_Mathur
En respuesta a Anónimo
Hola,
¿A qué te refieres con filtrar? ¿Debería eliminarse esa fila o debería aparecer un nulo en esa celda?
Anónimo
En respuesta a Ashish_Mathur
Hola @Ashish_Mathur
Filtrar significa que debemos excluir ese registro si el proceso está cerrado y el rango debe calcularse para los registros restantes.
El rango debe calcularse en ID de documento, InvoiceNumber y el proceso no está cerrado.
Vea el siguiente ejemplo,
v-shex-msft
En respuesta a Anónimo
Hola @Anónimo,
Puede agregar un filtro en el proceso archivado (antes de los pasos del grupo), luego la columna de índice personalizado se cambiará según los registros filtrados.
Si quiere decir que estos registros deben ser cambios basados en el filtro / segmentador de nivel visual, es imposible. El power bi actual no puede usarlos para interactuar con los registros de las tablas de consulta. (los datos de nivel visual se generan a partir de tablas de modelos de datos, los registros de tablas de modelos de datos se generan a partir de tablas de consulta, no puede usar registros de nivel secundario para afectar a su padre)
Saludos,
Xiaoxin Sheng
v-shex-msft
Hola @Anónimo,
Me gustaría sugerirle que ingrese al editor de consultas para agregar una columna de índice para lograr su requisito.
Pasos:
1. Agrupe los registros de la tabla por ID de documento, agregue el modo a ‘todas las filas’.
2. Modifique los pasos del grupo para agregar índices en tablas agrupadas.
3. Haga clic en el icono de expansión para expandir la columna de la tabla, luego modifique la fórmula para agregar la columna de índice de visualización.
Datos de muestra de consulta completa:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUXI0VIrVwcV0AjKdMJjOQKYzTmYsAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [ID = _t, Invoice = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", type text}, {"Invoice", type text}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"ID"}, {{"Contents", each Table.AddIndexColumn(_,"Index",1,1), type table [ID=text, Invoice=text]}}),
#"Expanded Contents" = Table.ExpandTableColumn(#"Grouped Rows", "Contents", {"Invoice","Index"}, {"Invoice","Index"})
in
#"Expanded Contents"
Saludos,
Xiaoxin Sheng
az38
Hola @Anónimo
prueba la columna calculada
Column = RANKX(FILTER('Table1';'Table1'[Document ID]=EARLIER(Table1[Document ID]));'Table1'[InvoiceNumber];;ASC;Skip)
no dudes en dar un kudo a publicaciones útiles y marcar soluciones como solución
Anónimo
En respuesta a az38
Hola @ az38,
El siguiente cálculo me da el rango 1 para todos los registros. Necesitaría completar el rango con una combinación de ID de documento y número de factura.
Vea el resultado a continuación usando el cálculo,
El resultado esperado debería ser,
az38
En respuesta a Anónimo
@Anónimo
¿Es bueno que todos los InvoiceNumber sean completamente iguales dentro de cada ID de documento?
Anónimo
En respuesta a az38
Hola @ az38,
Tenemos datos como ese. Si ambos Documentid, Invoicenumber tienen duplicados, debería dar una clasificación como no de duplicados en orden asc.