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
Syndicate_Admin
Administrator
Administrator

Contar ofertas ganadoras para una matriz de puja inversa visual

Este es mi problema.

Tengo una imagen que me muestra las ofertas más baratas para una serie de compañías navieras para algunas regiones.

Lo que necesito es contar cuántas "victorias" tenía cada compañía naviera para cada Estado, y sumar el costo de envío solo para esas líneas. En este momento lo que tengo es el número total de registros para cada empresa y la suma por todo el costo de envío para ese ShipCo en particular y estoy a punto de perder la cabeza.

A continuación puede encontrar una imagen de la tabla y los archivos pbi y xlsx para su descarga:

- https://freeimage.host/i/BBNtcv

- https://www.mediafire.com/file/5bdy6uaj2vsx15j/Dash_Frete.zip/file

Gracias de antemano.

1 ACCEPTED SOLUTION

No hay @leonardoficz,

Pruebe la siguiente fórmula para crear medidas:

Min_ShipCost = 
CALCULATE(
    MIN(ShipService[ShipCost]),
    FILTER(
        ALLSELECTED(ShipService),
        ShipService[DocNo] = MAX(ShipService[DocNo])
    )
)
ShipCo = 
CALCULATE(
    MAX(ShipService[ShippingCo]),
    FILTER(
        ShipService,
        ShipService[ShipCost] = [Min_ShipCost]
    )
)
Count_Win = 
VAR tab = 
    FILTER(
        ALLSELECTED('ShipService'),
        VAR mincost = [Min_ShipCost]
        VAR SegmentForCost = 
            FILTER (
                'ShipService',
                'ShipService'[DocNo] = 'ShipService'[DocNo]
                &&'ShipService'[ShipCost] = mincost
            )
        VAR Istab = NOT ISEMPTY(SegmentForCost) 
        RETURN Istab
    )
VAR Result = 
    CALCULATE (
        COUNTROWS( 'ShipService' ),
        KEEPFILTERS(tab)
    )
RETURN 
    IF(
        ISFILTERED(ShipService[ShippingCo]),
        Result,
        DISTINCTCOUNT(ShipService[DocNo])
    )

image.png

Si el problema aún no se ha resuelto, proporcione información detallada sobre errores o el resultado esperado que espera. Hágamelo saber inmediatamente, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Ahí @leonardoficz,

¿Qué consideras una victoria? ¿Desea contar el número de líneas que corresponden al valor thje shipcost Min para cada estado?

Por ejemplo para el TRP001 stata DF es 2 (8.21) y para ES es 1 para 9.38

MFelix_0-1620033601186.png

Hola MFelix.

Déjame tratar de explicarte mejor.

Esta es una hoja de Excel con alrededor de 35000 DocNo.s para cada compañía naviera, todos son iguales. Lo que quiero decir es que hay 35k DocNo.s para TRP001, 35k para TRP002 y así sucesivamente. Para cada DocNo. tenemos un valor de costo de envío para cada compañía naviera. Algo así:

DocNo. ------------ costo de envío de ShpCompany ---------

330000 ------------ TRP 001 --------------- 35.01

330000 ------------ TRP 002 --------------- 18.89

330000 ------------ TRP 003 --------------- 13.74

330000 ------------ TRP 004 --------------- 70.80

En este caso, TRP003 ofrece el mejor precio, lo que significa que gana la subasta para ese DocNo en particular. Eso sucede para cada uno de los DocNo.s de 35k.

Lo que quiero es contar cuántas victorias tuvo cada compañía naviera.

=====================================================

En portugués, desde que vi que usted es tbem brasileño -'

Mi archivo base, que se está llevando a pbi es un archivo con 35k mock nfs para cada transportista para hacer una simulación de costos de flete con varios escenarios.

Cada uno de los NFs (docno.) ha vinculado a él un precio de flete, un transportista (que ofrece el precio más bajo) y un estado.

Lo que quiero es contar las notas donde cada operador ofrece el precio más bajo, para cada uno de los billetes de 35k. Por ejemplo, si TRP001 ofrecía el precio más bajo en billetes de 2000, quiero que aparezca ese 2000 y no el número total de notas.

También es necesario que de acuerdo con esta primera parte allí arriba, se agregue el valor del flete donde cada transportista ganó la subasta, dando así una visión general de cuál es el gasto que tendría si utilizara ese transportista.

A tener en cuenta: el transportista puede o no tomar pedidos de un código postal determinado, si no ligero, el precio de flete será 0, pero este valor ya está excluido en el filtro general. Es por eso que en la tabla 2 para las notas TRP001 17k que son las notas totales que toma ese portador.

No sé si podrías entenderlo. Si no es así, puedo darte .xlsx y .pbi para que eche un vistazo.

No hay @leonardoficz,

Pruebe la siguiente fórmula para crear medidas:

Min_ShipCost = 
CALCULATE(
    MIN(ShipService[ShipCost]),
    FILTER(
        ALLSELECTED(ShipService),
        ShipService[DocNo] = MAX(ShipService[DocNo])
    )
)
ShipCo = 
CALCULATE(
    MAX(ShipService[ShippingCo]),
    FILTER(
        ShipService,
        ShipService[ShipCost] = [Min_ShipCost]
    )
)
Count_Win = 
VAR tab = 
    FILTER(
        ALLSELECTED('ShipService'),
        VAR mincost = [Min_ShipCost]
        VAR SegmentForCost = 
            FILTER (
                'ShipService',
                'ShipService'[DocNo] = 'ShipService'[DocNo]
                &&'ShipService'[ShipCost] = mincost
            )
        VAR Istab = NOT ISEMPTY(SegmentForCost) 
        RETURN Istab
    )
VAR Result = 
    CALCULATE (
        COUNTROWS( 'ShipService' ),
        KEEPFILTERS(tab)
    )
RETURN 
    IF(
        ISFILTERED(ShipService[ShippingCo]),
        Result,
        DISTINCTCOUNT(ShipService[DocNo])
    )

image.png

Si el problema aún no se ha resuelto, proporcione información detallada sobre errores o el resultado esperado que espera. Hágamelo saber inmediatamente, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

Ahí @leonardoficz,

Pruebe la siguiente fórmula para crear medidas:

Min_ShipCost = 
CALCULATE(
    MIN(ShipService[ShipCost]),
    FILTER(
        ALLSELECTED(ShipService),
        ShipService[DocNo] = MAX(ShipService[DocNo])
    )
)
ShipCo = 
CALCULATE(
    MAX(ShipService[ShippingCo]),
    FILTER(
        ShipService,
        ShipService[ShipCost] = [Min_ShipCost]
    )
)
Count_Win = 
VAR tab = 
    FILTER(
        ALLSELECTED('ShipService'),
        VAR mincost = [Min_ShipCost]
        VAR SegmentForCost = 
            FILTER (
                'ShipService',
                'ShipService'[DocNo] = 'ShipService'[DocNo]
                &&'ShipService'[ShipCost] = mincost
            )
        VAR Istab = NOT ISEMPTY(SegmentForCost) 
        RETURN Istab
    )
VAR Result = 
    CALCULATE (
        COUNTROWS( 'ShipService' ),
        KEEPFILTERS(tab)
    )
RETURN 
    IF(
        ISFILTERED(ShipService[ShippingCo]),
        Result,
        DISTINCTCOUNT(ShipService[DocNo])
    )

image.png

Si el problema aún no se ha resuelto, proporcione información detallada sobre errores o el resultado esperado que espera. Hágamelo saber inmediatamente, esperando su respuesta.

Saludos
Winniz

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

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.