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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
bo_afk
Post Patron
Post Patron

Función LOOKUPVALUE en una medida

Hola

Estoy creando una medida usando la función LOOKUPVALUE, pero estoy teniendo algunos problemas. Busco un valor basado en un valor de otra columna, pero en realidad no me permite seleccionar una columna en la parte 'valor de búsqueda' de la fórmula.

Fórmula: LOOKUPVALUE ( <Result_ColumnName>, <Search_ColumnName>, <Search_Value> )

Medida prevista: LOOKUPVALUE( 'Tabla'[Unidades] , 'Tabla'[Año], 'Tabla'[RefYear] )

Si creo esto como una columna, puedo seleccionar la columna como el valor de búsqueda, pero no puedo hacer esto en una medida. ¿Alguien sabe cómo puedo evitar esto?

Gracias

Afk

12 REPLIES 12
v-alq-msft
Community Support
Community Support

Hola, @bo_afk

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

b1.png

Puede crear un meaure como se muestra a continuación.

MeasureUnits = 
LOOKUPVALUE(
    'Table'[Units],
    'Table'[Year],
    SELECTEDVALUE('Table'[Ref_Year]),
    'Table'[Week],
    SELECTEDVALUE('Table'[Ref_Week])
)

Resultado:

b2.png

Saludos

Allan

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

Hola @amitchandak,gracias por su sugerencia. He aplicado esto a un conjunto de datos más complejo, pero obtengo el siguiente mensaje de error.

"Error de cálculo en la medida..... Se proporcionó una tabla de varios valores donde se esperaba un único valor"

Tengo otra columna llamada 'categoría' por lo que el mismo año y número de semana aparecerá en varias filas para diferentes categorías. ¿Puede aconsejar cómo lo haría en esta situación?

¡Gracias de nuevo!

Afk

Hola, @bo_afk

Modifiqué los datos como se indica a continuación. El archivo pbix se adjunta al final.

h1.png

Puede probar la siguiente medida.

MeasureUnits = 
CALCULATE(
    SUM('Table'[Units]),
    FILTER(
        ALL('Table'),
        'Table'[Year]=SELECTEDVALUE('Table'[Ref_Year])&&
        'Table'[Week]=SELECTEDVALUE('Table'[Ref_Week])
    )
)

Resultado:

h2.png

Saludos

Allan

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

Hola @v-alq-msft, gracias por su sugerencia. Parece haber funcionado.

Sin embargo, la medida solo aparece en una tabla. Si intento mostrar la medida como una 'tarjeta', aparece como '(BLANK)'. Del mismo modo, tampoco muestra un total en la tabla. ¿Sabes por qué es así y cómo se puede arreglar?

Gracias de nuevo

Afk

Hola, @bo_afk

Puede modificar la medida como se indica a continuación.

MeasureUnits = 
var tab = 
ADDCOLUMNS(
    'Table',
    "Result",
    var _refyear=[Ref_Year]
    var _refweek=[Ref_Week]
    return
    CALCULATE(
        SUM('Table'[Units]),
        FILTER(
            ALL('Table'),
            'Table'[Year]=_refyear&&
            'Table'[Week]=_refweek
        )
    )
)
return
SUMX(
    tab,
    [Result]
)

Resultado:

h1.png

Saludos

Allan

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

Gracias por su respuesta @v-alq-msft!

¿Podría proporcionar el archivo PBIX para esto también? De alguna manera soy incapaz de replicar el mismo resultado.

Hola, @bo_afk

El archivo pbix se adjunta al final.

Saludos

Allan

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

Hola @v-alq-msft , gracias por esto.

Si tuviera que agregar otra columna, supongamos "SubCategory", ¿cómo cambiaría la medida con esta nueva columna?

AntrikshSharma
Community Champion
Community Champion

Esto debería darte una idea.

1.PNG

Measure 3 =
SUMX (
    Sales,
    VAR ProductKey = Sales[ProductKey]
    VAR Price =
        LOOKUPVALUE ( Products[Unit Price], Products[ProductKey], ProductKey )
    RETURN
        Price * Sales[Quantity]
)
Total Sales =
SUMX ( Sales, Sales[Quantity] * RELATED ( Products[Unit Price] ) )

Básicamente reescribió la misma medida usando LOOKUPVALUE

amitchandak
Super User
Super User

@bo_afk ,¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla?

Hola @amitchandak,vea a continuación los datos de muestra y la salida. Las 'measureunits' es lo que estoy intentando generar usando la función LOOKUPVALUE. ¿Esperemos que tenga sentido?

Datos de muestra

añoSemanaUnidadesRef_YearRef_Week
2020151420191
2020248120191
2020348720192
2020447020194
20191636
20192500
20193520
20194463
20195541

Salida de muestra

añoSemanaUnidadesMeasureUnits
20201514636
20202481636
20203487500
20204470463

Hola @amitchandak, ¿tienes alguna idea para esto para que yo también pueda mostrar el total de la medida y no sólo el nivel de fila?

Gracias

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors