Перевести вычисления SMAPE из Tableau в Power BI

#powerbi #powerbi-desktop

#powerbi #powerbi-рабочий стол

Вопрос:

Пытаюсь заставить это вычисление в Tableau работать в BI, но я застрял на некоторое время. В Tableau это похоже:

{INCLUDE [Product Key]: 2*ABS(SUM([Constr Demand])-SUM([Actual Qty]))/SUM(ABS([Constr Demand]) ABS([Actual Qty]))}

То, что я перепробовал, — это множество различных решений DAX, но я не получаю правильного значения. Если я разделю их, я получу одинаковые значения во многих частях, но Tableau суммирует каждую строку, затем усредняет значение, и это то, что мне мешает. Моя последняя пробная версия возвращает не так уж много значений, но логика вроде как правильная по сравнению с tableau.

  #SMAPE Prod =
   AVERAGEX(
    SUMMARIZE(
        df_backtest_day,df_backtest_day[product_key],
        "Sum_2Times",
        2*ABS(
            SUM(df_backtest_day[constr_demand])-SUM(df_backtest_day[actual_qty])
        )
        /
        ABS(
            SUMX(df_backtest_day,df_backtest_day[constr_demand] df_backtest_day[actual_qty]
            )
        )
    ),[Sum_2Times]
)
  

Комментарии:

1. Можете ли вы добавить некоторые примеры данных с ожидаемым результатом?

Ответ №1:

После некоторых проб и ошибок я обнаружил, что добавление DIVIDE в часть SUMMARIZE сделало свое дело.

 #SMAPE Prod = 
AVERAGEX(
    SUMMARIZE(
        df_backtest_day,df_backtest_day[product_key],
        "Sum_2Times",
        DIVIDE(
        2*ABS(
            SUM(df_backtest_day[constr_demand])-SUM(df_backtest_day[actual_qty])
        )
        ,
        ABS(
            SUMX(df_backtest_day,df_backtest_day[constr_demand] df_backtest_day[actual_qty]
            )
        )
    )),[Sum_2Times]
)