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.
¡Buenos días!
Estoy tratando de averiguar cómo mostrar sólo el primer valor de la columna. Tengo una tabla que contiene valores duplicados para InvoiceID y InvoiceAmount para cada PRODUCTID. Quiero mantener la columna InvoiceID con todos sus valores, pero InvoiceAmount solo debe mostrar el primer valor, básicamente quiero deshacerme del valor duplicado usando la medida.
Ejemplo:
Factura de InvoiceIDAmount productID
A0246605 999999 item0010
A0246605 999999 Artículo0079
A0246605 999999 Item0081
A0246605 999999 Item0093
A0246605 999999 Artículo0166
A0246605 999999 Artículo0191
A0246605 999999 Artículo0102
A0246605 999999 Artículo0470
A0246605 999999 Item0001
El resultado que estoy buscando:
Factura de InvoiceIDAmount productID
A0246605 999999 item0010
A0246605 Artículo0079
A0246605 Artículo0081
A0246605 Artículo0093
A0246605 Artículo0166
A0246605 Artículo0191
A0246605 Artículo0102
A0246605 Artículo0470
A0246605 Artículo0001
Gracias de antemano!
Solved! Go to Solution.
hola @RuslanP1
Si desea crear una medida, simplemente pruebe esta medida
Measrue =
var _firstrow=CALCULATE(MIN('Table'[productID]),ALLEXCEPT('Table','Table'[InvoiceID],'Table'[InvoiceAmount]))
return
CALCULATE(MIN('Table'[InvoiceAmount]),FILTER('Table','Table'[productID]=_firstrow))
Resultado:
y aquí está el archivo pbix de muestra, por favor pruébelo.
saludos
Lin
hola @RuslanP1
Si desea crear una medida, simplemente pruebe esta medida
Measrue =
var _firstrow=CALCULATE(MIN('Table'[productID]),ALLEXCEPT('Table','Table'[InvoiceID],'Table'[InvoiceAmount]))
return
CALCULATE(MIN('Table'[InvoiceAmount]),FILTER('Table','Table'[productID]=_firstrow))
Resultado:
y aquí está el archivo pbix de muestra, por favor pruébelo.
saludos
Lin
Esta es una solución que usa Power Query y la tabla de datos de ejemplo:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcjQwMjEzMzBVsAQDhcyS1FwDA0MDpVgdTElPsKS5JR5JC0M8kpbGuCUNzczwSFriMdbQwAi3pIk5Pq8YAI2NBQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"InvoiceID InvoiceAmount productID" = _t]),
#"Split Column by Delimiter" = Table.SplitColumn(Source, "InvoiceID InvoiceAmount productID", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"InvoiceID InvoiceAmount productID.1", "InvoiceID InvoiceAmount productID.2", "InvoiceID InvoiceAmount productID.3"}),
#"Renamed Columns" = Table.RenameColumns(#"Split Column by Delimiter",{{"InvoiceID InvoiceAmount productID.1", "InvoiceID"}, {"InvoiceID InvoiceAmount productID.2", "InvoiceAmount"}, {"InvoiceID InvoiceAmount productID.3", "productID"}}),
#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"InvoiceAmount", Int64.Type}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"InvoiceID"}, {{"All", each _, type table [InvoiceID=nullable text, InvoiceAmount=nullable number, productID=nullable text]}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "WithIndex", each Table.AddIndexColumn([All],"Index",1)),
#"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"WithIndex"}),
#"Expanded WithIndex" = Table.ExpandTableColumn(#"Removed Other Columns", "WithIndex", {"InvoiceID", "InvoiceAmount", "productID", "Index"}, {"InvoiceID", "InvoiceAmount", "productID", "Index"}),
#"Added Custom1" = Table.AddColumn(#"Expanded WithIndex", "Invoice Amount", each if [Index] = 1 then [InvoiceAmount] else ""),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"InvoiceAmount", "Index"}),
#"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"InvoiceID", "Invoice Amount", "productID"})
in
#"Reordered Columns"
Simplemente copie Pegar esto en el Editor avanzado para una nueva consulta. Se podría aplicar un patrón similar a la tabla.
@RuslanP1 , Vea si estas medidas pueden ayudar a
sumx(values(Table[InvoiceID]), min(Table[InvoiceAmount]))
sumx(values(Table[InvoiceID]),lastnonblankvalue(productID, min(Table[InvoiceAmount])))
Gracias por la respuesta rápida @amitchandak
Revisé las medidas sugeridas y ambas devolvieron la misma InvoiceAmount para cada fila:
InvoiceID | Productid | Medida | Medida 3 | InvoiceAmount |
A0246605 | item0010 | 999999 | 999999 | 999999 |
A0246605 | Artículo0079 | 999999 | 999999 | 999999 |
A0246605 | Artículo0081 | 999999 | 999999 | 999999 |
A0246605 | Artículo0093 | 999999 | 999999 | 999999 |
A0246605 | Artículo0166 | 999999 | 999999 | 999999 |
A0246605 | Artículo0191 | 999999 | 999999 | 999999 |
A0246605 | Artículo0102 | 999999 | 999999 | 999999 |
A0246605 | Artículo0470 | 999999 | 999999 | 999999 |
A0246605 | Artículo0001 | 999999 | 999999 | 999999 |
Medida "Measure" - sumx(values(Table[InvoiceID]), min(Table[InvoiceAmount]))
Medida "Measure 3" - sumx(values(Table[InvoiceID]),Firstnonblankvalue(productID, min(Table[InvoiceAmount])))
@RuslanP1 ¿Hay algo para identificar "Primero" como una columna de fecha o un índice? Index sería bueno entonces sería fácil. Sólo encuentra el MINX en ese momento. Básicamente una búsqueda mínima /máx. https://community.powerbi.com/t5/Quick-Measures-Gallery/Lookup-Min-Max/m-p/985814#M434
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 | |
2 | |
2 | |
2 | |
1 |