Forum Discussion

SmellyCat's avatar
SmellyCat
New Member
2 years ago

Comparar dos columnas

¡Hola a todos!
Estoy trabajando con 2 tablas: La primera tiene toda la información de los productos, incluyendo el product_id. La segunda tiene la información de los pedidos que ha recibido mi tienda, incluyendo el product_id y el precio. Estoy intentando comparar ambas tablas, usando la columna product_id, y traer el precio de la segunda tabla a la primera, veo este mensaje de error:

No podemos determinar un valor único para la columna 'product_id' en la tabla 'olist_products_dataset'. Esto puede ocurrir cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación, como min, max, count, o sum, para obtener un resultado único.

Esta es la fórmula que estoy usando:



Medida
3 = LOOKUPVALUE(
        olist_order_items_dataset[price],olist_order_items_dataset[product_id],olist_products_dataset[product_id]
    )

2 Replies

  • Eso significa que una product_id puede encontrar diferentes precios en la segunda tabla, por lo que no puede determinar qué precio tomar. Por favor, comparta los datos de muestra y la salida esperada. Tal vez podamos usar otra fórmula para resolver esto.

  • @ryan_mayu ¡Gracias por su pronta respuesta!

    Hola @Syndicate_Admin

    Considere la posibilidad de utilizar una función de agregación para obtener un valor de precio único. Por ejemplo, es posible que desee utilizar el precio promedio, mínimo o máximo. A continuación, le indicamos cómo puede modificar su medida para usar el precio promedio, mínimo o máximo.

    PROMEDIO

    Measure 3 = 
    AVERAGEX(
        FILTER(
            olist_order_items_dataset,
            olist_order_items_dataset[product_id] = olist_products_dataset[product_id]
        ),
        olist_order_items_dataset[price]
    )

    MÁXIMO

    Measure 3 = 
    MAXX(
        FILTER(
            olist_order_items_dataset,
            olist_order_items_dataset[product_id] = olist_products_dataset[product_id]
        ),
        olist_order_items_dataset[price]
    )

    MIN

    Measure 3 = 
    MINX(
        FILTER(
            olist_order_items_dataset,
            olist_order_items_dataset[product_id] = olist_products_dataset[product_id]
        ),
        olist_order_items_dataset[price]
    )

    Saludos

    Jayleny