Forum Discussion

SL_1983's avatar
SL_1983
Icon for Helper II rankHelper II
6 years ago
Solved

Desglose

Buenos días

Tengo una pregunta.

Quiero crear 2 tablas drilldwon:

En la tabla izquierda quiero los siguientes detalles: Descripción del producto, Descripción del embalaje, Cantidad. Entonces quiero ser capaz de explorar en profundidad utilizando las medidas precio más barato por persona y precio más caro por persona.

En la tabla derecha quiero los siguientes detalles: Descripción del producto, Descripción del embalaje, Cantidad. Entonces quiero ser capaz de desglosar usando las medidas costo por embalaje comprado Precio superior y

Costo por embalaje comprado precio más bajo.
He añadido las 2 tablas a la página 2. Sin embargo, no puedo añadir Verpakking Omschrijving, porque entonces me da todos los artículos. Sólo quiero los artículos de las recetas.
En segundo lugar: quiero calcular el número de paquetes que se deben comprar para hacer la receta, según el número de personas en la receta.
He creado esta medida:
Costo por embalaje comprado Precio superior - SUMX('Ingredients';('Ingredients'[Packaging Weight Most Expensive Price] * IF('Ingredients'[Quantity]/4)
* SELECTEDVALUE("Número de personas de la segmentación"[Número de personas])<'Ingredientes'[Peso de embalaje precio más caro];1;2))
* relacionado('Producto'[Precio más caro]))
Sin embargo, a veces 3, 4 o más paquetes necesitan ser comprados. ¿Qué fórmula puedo usar para calcular el número de paquetes necesarios?
Ahora utilicé "2" como parámetro. Pero a veces es 3 o 4.
Saludos amables y gracias.

  • Encontré la solución:

    sumx("Ingredientes";
    (
    'Ingredientes'[Peso de embalaje Precio más caro]
    * si (
    ("Ingredientes"[Cantidad]/4)
    * SELECTEDVALUE('Slicer Number of People'[Number of People]) > 'Ingredients'[Packing Weight Most Expensive Price];( ROUNDUP (
    DIVIDE (
    (("Ingredientes"[Cantidad]/4)*SELECTEDVALUE("Número de personas de la segmentación"[Número de personas]));
    'Ingredientes'[Peso de embalaje Precio más caro]
    );0));1)
    * RELACIONADO ( 'Producto'[Precio más caro] )
    )
    )

7 Replies

  • Hola

    He intentado añadir la siguiente columna a la tabla 'Ingredi-nten' :

    Lista de la lista de la lista de

    CALCULAR(
    SELECTEDVALUE('Packaging'[Verpakking_Omschrijving]);
    filter("Packaging Shop";" Tienda de embalaje'[Id de producto]'Ingredientes'[Id de producto] &&
    'Tienda de embalaje'[Id de embalaje] - RELACIONADO(Empaquetado[Verpakking_ID])))
    Pero sólo devuelve algunas de las descripciones del paquete....
    • SL_1983's avatar
      SL_1983
      Icon for Helper II rankHelper II

      Hola

      Resolví la mayor parte, excepto, el cálculo del número de paquetes necesarios.

      Esta es la medida que creé:

      Costo por paquete comprado Precio superior (SUMX('Ingredients';('Ingredients'[Packaging Weight Most Expensive Price] * IF("Ingredients"[Quantity]/4) * SELECTEDVALUE('Slicer Number of Persons'[Number of Persons])<'Ingredients'[Packaging Weight Most Expensive Price];1;2)) * related('Product'[Most Expensive Price])))

       

      Sin embargo, en este cálculo dice, que necesito o 1 o 2 paquetes, pero a veces necesito 3 o 4 empaquetados. El número de paquetes necesarios depende del número de personas op en la receta.

      Si el precio más caro del peso del embalaje es más estrecho que la "cantidad" necesaria, debe seguir el siguiente cálculo; (Ingredientes[Cantidad/'Número de segmentación de personas'[Número de personas])/Ingredientes[Peso de embalaje Precio más caro]. (Sin embargo, no estoy seguro de que este sea el cálculo correcto.

      También es importante que este número se redondee (sin decimales) Pero no puedo averiguar cómo puedo obtener este cálculo en la medida anterior.

      • SL_1983's avatar
        SL_1983
        Icon for Helper II rankHelper II

        He intentado arreglarlo usando esta medida:

        SUMX("Ingredientes';('Ingredientes'[Peso de embalaje precio más barato] * IF("Ingredientes"[Cantidad]/4)
        * SELECTEDVALUE("Número de personas de la segmentación"[Número de personas])<'Ingredientes'[Peso de embalaje precio más barato];1;
        if((("Ingredientes'[Cantidad]/4)
        * SELECTEDVALUE("Número de segmentadores"[Número de personas]))>'Ingredientes'[Precio más barato del peso de embalaje];roundup((("Ingredients"[Quantity]);' Ingredientes'[Peso de embalaje Precio más barato]);0)
        * relacionado('Producto'[Precio más barato]))))
        Sin embargo, algo el resultado no es correcto....
  • v-zhenbw-msft's avatar
    v-zhenbw-msft
    Icon for Community Support rankCommunity Support

    Hola @SL_1983,

    Lo sentimos, pero no podemos entender su problema claramente , ¿Podría por favor tratar de verificar si la siguiente medida puede producir el resultado del deseo que desea?

    Test = 
    SUMX (
        'Ingrediënten',
        (
            'Ingrediënten'[Verpakking Gewicht Goedkoopste Prijs]
                * IF (
                    ( 'Ingrediënten'[Hoeveelheid] / 4 )
                        * SELECTEDVALUE ( 'Slicer Aantal Personen'[Aantal Personen] ) <= 'Ingrediënten'[Verpakking Gewicht Goedkoopste Prijs],
                    1,
                    ROUND (
                        DIVIDE (
                            'Ingrediënten'[Hoeveelheid],
                            'Ingrediënten'[Verpakking Gewicht Goedkoopste Prijs]
                        )
                            * RELATED ( 'Product'[Goedkoopste Prijs] ),
                        0
                    )
                )
        )
    )

    El resultado así,

    drill1.jpg

    Si no cumple con su requisito, ¿podría proporcionar el resultado del deseo basado en la tabla que ha compartido?

    BTW, pbix como adjunto.

    Saludos


    Equipo de Apoyo comunitario _ zhenbw
    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.

      • SL_1983's avatar
        SL_1983
        Icon for Helper II rankHelper II

        Hola @MFelix ,

        Lo he probado usando la siguiente medida:

        SUMX (
        'Ingredientes';
        (
        'Ingredientes'[Peso de embalaje precio más barato]
        * SI (
        ( 'Ingredientes'[Cantidad] / 4 )
        * SELECTEDVALUE ( 'Número de personas'[Número de personas] ) <'Ingredientes'[Precio más barato del peso de embalaje];
        1; si (
        ("Ingredientes"[Cantidad]/4)
        * SELECTEDVALUE('Slicer Number of People'[Number of People]) > 'Ingredients'[Packaging Weight Cheapest Price]; ROUND (
        DIVIDE (
        (("Ingredientes"[Cantidad]/4)*SELECTEDVALUE("Número de personas de la segmentación"[Número de personas]));
        'Ingredientes'[Peso de embalaje precio más barato]
        );0)
        * RELACIONADO ( 'Producto'[Precio más barato] )
        )
        )
        ))
        Pero el resultado no es correcto.
        El cálculo para el número de paquetes debe ser el siguiente:
        Ejemplo: cortadora 1 pax:
        si 'Ingredientes'[cantidad] <'Ingredientes'[Peso de embalaje Precio más caro];1;('Ingredientes'[cantidad]/4)/'Ingredientes'[Peso de embalaje Precio más caro]).
        Si el resultado del número de paquetes es 1,5, se debe redondear a dos.
        Enlace a la hoja de Excel para el cálculo: https://1drv.ms/x/s!AuaqHTxLCZ_h1jpRcr4IUX53wYDK?e=ygvAw6
        ¿Alguien puede ayudarme?