cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Limitación en el análisis de nivel de fila debido a la agregación inicial a nivel de cliente / material.

Querida comunidad,

Tengo un connumdrum con respecto a un análisis de precio / volumen que deseo hacer y debido a las limitaciones en los derechos, me veo obligado a hacerlo directamente en el escritorio de PowerBI y no en el servidor SQL ni puedo solicitar que se hagan tablas específicas para mí en sql server.

Gol:

Para hacer un cálculo de nivel de fila en una tabla agregada para cliente / material donde comparo dos períodos, en este caso el año pasado con el año en curso para determinar, o.a., el aumento de precio promedio / variación de volumen. Para esto no necesito directamente todos los detalles sobre el cliente / artículo (lo que sería bueno eventualmente), pero inicialmente poder segmentar esto en grupos más grandes o en el cliente sería un buen comienzo.

Limitaciones:

He logrado crear esto para un conjunto de datos limitado, pero al usar el conjunto completo 2021; 2020 me encuentro con la limitación de recuperar 1 millón de filas. No puedo crear el cálculo en el servidor y solo recupero un retroceso limitado.

Si alguien pudiera darme un comienzo, sería muy apreciado.

Los datos de la tabla Mi factura tienen el siguiente aspecto

ClienteMaterialNúmero de facturaFecha de facturaAñoVentas brutas Cantidad

El código inicial que funciona para un conjunto limitado es el siguiente:

Variance = 
SUMMARIZECOLUMNS(
    'Invoice Data'[Customer],
    'Invoice Data'[Material],
     "Gross Sales CY",
        Var GrossSalesCY = Calculate(SUM('Invoice Data'[Gross Sales]),'Invoice Data'[Year] = "2021") 
        Return 
            GrossSalesCY,
    "Gross Sales LY",
         Var GrossSalesLY = Calculate(SUM('Invoice Data'[Gross Sales]),'Invoice Data'[Year] = "2020")  
         Return
            GrossSalesLY,
    "Quantity CY",  
        Var QuantityCY = Calculate(SUM('Invoice Data'[Quantity]), 'Invoice Data'[Year] = "2021")  
        Return
            QuantityCY,
    "Quantity LY",
        Var QuantityLY = Calculate(SUM('Invoice Data'[Quantity]), 'Invoice Data'[Year] = "2020")
        Return
            QuantityLY,

    "PType", 
    Var GrossSalesCY = Calculate(SUM('Invoice Data'[Gross Sales]),'Invoice Data'[Year] = "2021") 
    Var GrossSalesLY = Calculate(SUM('Invoice Data'[Gross Sales]),'Invoice Data'[Year] = "2020")  
    Var QuantityCY = Calculate(SUM('Invoice Data'[Quantity]), 'Invoice Data'[Year] = "2021")   
    Var QuantityLY = Calculate(SUM('Invoice Data'[Quantity]), 'Invoice Data'[Year] = "2020")
    Var PriceCY = GrossSalesCY / QuantityCY
    Var PriceLY = GrossSalesLY / QuantityLY
    Var PType = 
       If(Or(GrossSalesCY = 0, GrossSalesLY = 0), "Type E/F",
         If(or(QuantityCY = 0, QuantityLY = 0), "Type G/H",
            If (PriceCY <= PriceLY, "Type A/B",  
                        if (PriceCY >= PriceLY, "Type C/D",    

                            Blank()))))
Return 
    calculate(PType),
    "Price Variance",
    Var GrossSalesCY = Calculate(SUM('Invoice Data'[Gross Sales]),'Invoice Data'[Year] = "2021") 
    Var GrossSalesLY = Calculate(SUM('Invoice Data'[Gross Sales]),'Invoice Data'[Year] = "2020")  
    Var QuantityCY = Calculate(SUM('Invoice Data'[Quantity]), 'Invoice Data'[Year] = "2021")   
    Var QuantityLY = Calculate(SUM('Invoice Data'[Quantity]), 'Invoice Data'[Year] = "2020")
    Var PriceCY = GrossSalesCY / QuantityCY
    Var PriceLY = GrossSalesLY / QuantityLY
    Var PType = 
       If(Or(GrossSalesCY = 0, GrossSalesLY = 0), "Type E/F",
         If(or(QuantityCY = 0, QuantityLY = 0), "Type G/H",
            If (PriceCY <= PriceLY, "Type A/B",  
                        if (PriceCY >= PriceLY, "Type C/D",    

                            Blank()))))
    Var PVariance = 
        If (
            Ptype = "Type A/B", 
            (PriceCY-PriceLY) * QuantityCY, 
            If (PType = "Type C/D", (PriceCY-PriceLY) * QuantityLY, 
                    If(PType = "Type G/H", (GrossSalesCY - GrossSalesLY), Blank())))
    Return
    PVariance)

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hay @Nescio ,

Límite de un millón de filas devueltas en cualquier consulta: Hay un límite fijo de un millón de filas colocadas en el número de filas que se pueden devolver en cualquier consulta individual al origen subyacente. Esto generalmente no tiene implicaciones prácticas, y las imágenes en sí mismas no mostrarán tantos puntos. Sin embargo, el límite puede producirse en los casos en que Power BI no está optimizando completamente las consultas enviadas y se solicita algún resultado intermedio que supera el límite. También puede ocurrir mientras se construye un visual, en el camino hacia un estado final más razonable. Por ejemplo, incluir Customer y TotalSalesQuantity alcanzaría este límite si hubiera más de 1 millón de clientes, hasta que se aplicara algún filtro.

El error que se devolvería sería "El conjunto de resultados de una consulta a un origen de datos externo ha superado el tamaño máximo permitido de las filas '1000000'".

https://docs.microsoft.com/en-us/power-bi/desktop-directquery-about#other-implications

Este error solo en power bi desktop y en el servicio power bi, no mostrará este error, pero solo devolverá 1 millón de filas que dan como resultado visual.

Saludos

Arrendajo

View solution in original post

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Hay @Nescio ,

Límite de un millón de filas devueltas en cualquier consulta: Hay un límite fijo de un millón de filas colocadas en el número de filas que se pueden devolver en cualquier consulta individual al origen subyacente. Esto generalmente no tiene implicaciones prácticas, y las imágenes en sí mismas no mostrarán tantos puntos. Sin embargo, el límite puede producirse en los casos en que Power BI no está optimizando completamente las consultas enviadas y se solicita algún resultado intermedio que supera el límite. También puede ocurrir mientras se construye un visual, en el camino hacia un estado final más razonable. Por ejemplo, incluir Customer y TotalSalesQuantity alcanzaría este límite si hubiera más de 1 millón de clientes, hasta que se aplicara algún filtro.

El error que se devolvería sería "El conjunto de resultados de una consulta a un origen de datos externo ha superado el tamaño máximo permitido de las filas '1000000'".

https://docs.microsoft.com/en-us/power-bi/desktop-directquery-about#other-implications

Este error solo en power bi desktop y en el servicio power bi, no mostrará este error, pero solo devolverá 1 millón de filas que dan como resultado visual.

Saludos

Arrendajo

View solution in original post

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

November Power BI Update 768x460.png

Check it Out!

Click here to read more about the November 2021 Updates!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.