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

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.

Reply
Anonymous
Not applicable

Compruebe si la fila existe en la semana anterior y elimine las filas en función del resultado

El problema viene con estos datos de origen importados de una carpeta - varias tablas anexas juntas

Artículo No.FechaPrecio de compraPrecio de ventaMargen
14/20/2020451
14/16/2020451
24/16/2020451

El problema aquí es que creé una matriz para mostrar el margen a lo largo del tiempo como esta:

No de artículo, margen, fecha4/16/20204/20/2020
111
21

En este caso, el margen para el punto 2 estaría en blanco.

Me pregunto si hay una manera de que pueda buscar elementos que no existían para la tabla de datos más reciente y eliminar su registro en los datos anteriores? Por ejemplo, quiero eliminar el elemento 2 si no existía en la tabla más reciente.

Gracias por cualquier ayuda.

1 ACCEPTED SOLUTION

Hola, @annacqy

Según su descripción, he modificado los datos para reproducir su escenario.

Mesa:

d1.png

Puede crear una medida de la siguiente manera.

Visual Control = 
var itemno = SELECTEDVALUE('Table'[Item No])
var _maxdate =
CALCULATE(
    MAX('Table'[Date]),
    ALLSELECTED('Table')
)
var latestweek = 
CALCULATETABLE(
    DISTINCT('Table'[SourceName]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Date] = _maxdate
    )
)
var margin =
CALCULATE(
    SUM('Table'[Margin]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Item No] = itemno&&
        'Table'[Date] = _maxdate&&
        'Table'[SourceName] in latestweek
    )
)
return
IF(
    NOT( ISBLANK(margin) ),
    1,
    0
)

Por último, puede ponerlo en el filtro de nivel visual para mostrar el resultado.

d2.png

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

5 REPLIES 5
v-alq-msft
Community Support
Community Support

Hola, @annacqy

Según su descripción, creé datos para reproducir su escenario.

Mesa:

c1.png

Puede crear una medida como se muestra a continuación.

IsDisplay = 
var itemno = SELECTEDVALUE('Table'[Item No.])
var latestdate = 
CALCULATE(
    MAX('Table'[Date]),
    FILTER(
         ALLSELECTED('Table'),
         'Table'[Item No.] = itemno
    )
)
return
IF(
    latestdate = TODAY(),
    1,
    0
)

A continuación, debe colocar la medida en el filtro de nivel visual. Hoy es 4/21/2020. Aquí está el resultado.

c2.png

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

Hola, gracias por tu respuesta. Tal vez no lo explique claramente antes.

Aquí hay dos tablas originales:

1 - semana 16, con 8 artículos

week16.pngsemana 16

2- semana 17: con 7 artículos, el artículo 8 fue descontinuado en la semana 17.

week17.pngsemana 17

A medida que importé estos datos de una carpeta, se anexaron a una hoja como esta:

powerbi import.pngImportación de PowerBI

Basándome en los datos importados, creé una matriz para comparar el margen a lo largo del tiempo:

powerbi matrix.pngMatriz PowerBI

lo que veo aquí, el margen del punto 8 en la semana 17 está en blanco porque está descontinuado. En este caso, no quiero ver el punto 8 en absoluto, ya que ya ha sido descontinuado, realmente no me importa su rendimiento pasado. Así que mi pregunta aquí es, ¿cómo puedo marcar el elemento 8 y filtrarlo?

Estoy tratando de encontrar una manera de comparar los números de artículo y filtrar esos elementos descontinuados.

Hola, @annacqy

Según su descripción, he modificado los datos para reproducir su escenario.

Mesa:

d1.png

Puede crear una medida de la siguiente manera.

Visual Control = 
var itemno = SELECTEDVALUE('Table'[Item No])
var _maxdate =
CALCULATE(
    MAX('Table'[Date]),
    ALLSELECTED('Table')
)
var latestweek = 
CALCULATETABLE(
    DISTINCT('Table'[SourceName]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Date] = _maxdate
    )
)
var margin =
CALCULATE(
    SUM('Table'[Margin]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Item No] = itemno&&
        'Table'[Date] = _maxdate&&
        'Table'[SourceName] in latestweek
    )
)
return
IF(
    NOT( ISBLANK(margin) ),
    1,
    0
)

Por último, puede ponerlo en el filtro de nivel visual para mostrar el resultado.

d2.png

Saludos

Allan

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Greg_Deckler
Super User
Super User

¿Desea eliminarlo, eliminarlo o simplemente no mostrarlo?


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Anonymous
Not applicable

Gracias por su respuesta. Sí, en realidad sólo quiero ocultarlo en lugar de eliminar el registro.

Estoy buscando una manera de comparar el número de artículo de la semana actual y el número de artículo de la semana anterior para marcar esos artículos existían antes, pero no ahora.

basado en la columna marcada (1 o 0), puedo aplicareso como filtro al objeto visual.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.