Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
5 years ago
Solved

Tabla como variable no funciona

Hola a todos,
He creado una variable de tabla:

Measure_ = 
Var _table = 
SUMMARIZE(
    CALCULATETABLE(
        STOCK, 
        FILTER(STOCK, RELATED(_Outliers[Outlier cost]) <> "Outlier"),
        FILTER(STOCK, STOCK[date] >= DATE(2020, 11, 22))
        ), 
    STOCK[Itm_ID],
    "Average", CALCULATE(AVERAGE(STOCK[Quantity]), FILTER(STOCK, STOCK[date] >= DATE(2020, 11, 22)))
)

Ahora quiero calcular la suma acumulado haciendo esto, con el fin de ahorrar en otra tabla variable:

var _table1 = SUMMARIZE(_table,
    STOCK[Itm_ID],
    "column",
    CALCULATE(SUM(_table[Average], ALL(_table), [Average] >= EARLIER([Average]))
))

Pero cada enfoque que uso es inútil.
¿Puede alguien expármelo cómo puedo hacer esto?

  • Syndicate_Admin's avatar
    Syndicate_Admin
    5 years ago

    Hey @Veigar ,

    puede filtrar una tabla calculada. No veo por qué esto no debería ser posible.

    Las medidas que registró en la publicación inicial no pueden funcionar. Se colocan variables (VAR) pero no hay RETORNO. Eso no funciona. Echa un vistazo a la sintaxis:

    RETURN – Guía DAX

    Pero por lo que entiendo esa medida no está funcionando en este momento, ¿verdad?

    Me di cuenta de que quieres hacer un análisis de ABC. Compruebe el artículo sobre patrones dax, tal vez eso le ayudará a:

    Clasificación ABC - Patrones DAX

    Saludos

    Denis

6 Replies

  • Hey @Veigar ,

    ¿Puedes publicar toda la medida? Cuando lo divides eso deja espacio para la interpretación.

    También falta la última SUMA un corchete de cierre "CALCULATE(SUM(_table[Average]),ALL(_table), ..."

    Entonces, ¿a qué regresas? Cuando se utilizan variables hay que poner un RETURN al final y, a continuación, indicar a la medida lo que desea devolver. por ejemplo:

    YoY% =
    VAR Sales = SUM(SalesTable[SalesAmount])  
    VAR SalesLastYear = CALCULATE ( SUM ( SalesTable[SalesAmount] ), SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )
    
    RETURN 
    if(Sales, DIVIDE(Sales – SalesLastYear, Sales))  

    Si necesitas ayuda, por favor avísame.
    Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
    Saludos
    Denis
    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola @selimovd,gracias por la respuesta.
      Tenía una tabla estática y por lo tanto no puedo usar ningún filtro.
      Así que traté de construir esta medida. El objetivo de esta medida es calcular la cantidad de los artículos en "UNA CLASE". (Análisis ABC).
      Quería calcular los números de A e i intentado añadir estas columnas: Stock acumulado, Porcentaje acumulado, valor ABC (Que será una función IF).

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hey @Veigar ,

        ¿Qué es una mesa estática?

        ¿Y por qué no puedes publicar la medida?

        Saludos

        Denis

  • @selimovd , Una tabla estática es una tabla calculada (al menos para mí). El tipo de mesas que puedes encontrar a la derecha de la pantalla.
    Publiqué toda la medida que escribí, sólo estoy atascado porque no puedo agregar otra columna a la primera variable. Si entiendo esto, puedo terminar la medida por mi yo mismo.
    gracias

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hey @Veigar ,

      puede filtrar una tabla calculada. No veo por qué esto no debería ser posible.

      Las medidas que registró en la publicación inicial no pueden funcionar. Se colocan variables (VAR) pero no hay RETORNO. Eso no funciona. Echa un vistazo a la sintaxis:

      RETURN – Guía DAX

      Pero por lo que entiendo esa medida no está funcionando en este momento, ¿verdad?

      Me di cuenta de que quieres hacer un análisis de ABC. Compruebe el artículo sobre patrones dax, tal vez eso le ayudará a:

      Clasificación ABC - Patrones DAX

      Saludos

      Denis

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola @selimovd ,

        Sé que tengo que devolver, pero, como usted dijo, la medida no se completó.

        En segundo lugar, puedo filtrar una tabla calculada, pero quería filtrar las filas en las que se calculará el ABC.

        Te doy un ejemplo:
        Tengo 100 elementos y creé una tabla calculada para el ABC para todos los artículos. Ahora, si quiero calcular el ABC de solo los elementos que son, por ejemplo, rojos, el filtro seleccionará las filas donde el elemento tiene esa calidad (es rojo), pero el análisis de ABC se realiza en todos los elementos y, a continuación, filtrará.
        Mi objetivo es filtrar primero, y luego aplicar el análisis ABC.

        Encontré el mismo vínculo que encontraste sobre el ABC y luego me di cuenta de que mi enfoque estaba totalmente equivocado, también porque no estaba tan seguro de qué volver.

        Así que voy a tratar de implementarlo en mi código.

        Muchas gracias, fuiste fundamental.