Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

¿Tabla calculada para obtener el valor más alto más temprano?

Estoy tratando de encontrar las primeras ocurrencias del valor más alto en una columna determinada.

Aquí está el estado inicial de los datos:

ArtículoCostarFecha
a1101/01/2022
a1301/05/2022
a1101/06/2022
a1201/03/2023
a1101/07/2023
b2201/03/2021
b2301/02/2022
b2101/04/2022
b2101/07/2022
b2301/09/2022
b2101/11/2022

Como podemos ver, el artículo a1 tuvo su costo más alto el 01/05/2022.

El ítem b2 tuvo dos instancias de mayor costo, una en 01/02/2022, y la otra en 01/09/2022. Quiero capturar solo el primero.

Así que a partir de estos datos quiero obtener el siguiente resultado:

ArtículoCostarFecha
a1301/05/2022
b2301/02/2022

Hasta ahora he usado una acción de nivel de consulta, primero ordenando Fecha ascendente, luego ordenando Costo descendente antes de dedudar todo, ya que esa es una lógica que funciona en Excel. También utilicé buffer.table al ordenar para asegurarme de que todos los datos se capturaran en ambos tipos.

Pero también quiero verificar estos datos, así que estoy buscando hacer una columna calcualizada contra la versión original de esta tabla.

¿Alguien puede ayudar con cómo debería ser eso?

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Crear una tabla temporal como

Tmp table =
ADDCOLUMNS (
    SUMMARIZE ( 'Table', 'Table'[Item], 'Table'[Date] ),
    "@num rows", CALCULATE ( COUNTROWS ( 'Table' ) )
)

Eso debería ayudarlo a identificar cualquier duplicado restante.

Syndicate_Admin
Administrator
Administrator

Como actualización, intenté deduping basado en las columnas que me estaban causando problemas, pero no ayudó.

Todavía obtengo el error anterior. ¿Alguna idea?

Syndicate_Admin
Administrator
Administrator

Solo como referencia, también necesitaba un argumento en blanco, elegí "Predeterminado".

Sin embargo, recibo un error:

A pesar de que se especifican las columnas MatchBy, se encuentran filas duplicadas en el parámetro Relation de INDEX. Esto no está permitido. La operación actual se canceló porque se produjo un error en otra operación de la transacción.

Creo que esto podría deberse a que algunos elementos pueden tener la misma fecha y calificación dos veces, intentarán deduplicar esa parte en el nivel de consulta y luego ejecutarán esto nuevamente.

Syndicate_Admin
Administrator
Administrator

Puede crear una tabla calculada como

My Table =
INDEX(
	1,
	'Table',
	ORDERBY( 'Table'[Cost], DESC, 'Table'[Date], ASC),
	PARTITIONBY( 'Table'[Item]),
	MATCHBY( 'Table'[Item], 'Table'[Date])
)

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.