Страницы: 1
RSS
DAX как посчитать сумму квадратов меры? (индекс монополизации)
 
Всем привет!

Столкнулся с проблемой - не могу посчитать сумму квадратов меры. (И вообще сумму мер. Выводится, скорее, мера суммы, чем сумма мер)

Допустим, в городе есть 5 фирм, и у каждой фирмы, соответственно, есть доля продаж внутри данного города (доля продаж всех фирм внутри города = 100). Получилось посчитать долю фирмы, квадрат доли фирмы, но не получилось посчитать сумму квадратов долей фирм внутри данного города =(

Помогите, пожалуйста (или подскажите, в какую сторону копать)
Изменено: PowerBI_WannaBe - 18.05.2022 17:34:16
 
Пока предпринимаю попытки, но получается фигня:

Код
=VAR tbl1 = ADDCOLUMNS (
   data;
   "col1";
   CALCULATE (
      SUM(data[выручка, руб.]);
      ALL(data[фирма])
      )
   )
RETURN SUMX(tbl1;[выручка, руб.]/[col1])*100
 
Так тоже не работает=)

Код
=VAR tbl1 = ADDCOLUMNS (
   data;
   "col1";
   SUMX(data;[выручка, руб.])
   /
   CALCULATE (
      SUMX(data;[выручка, руб.]);
      ALL(data[фирма])
      )
   )
RETURN SUMX(tbl1;[col1])*100
 
Код
=
SUMX ( VALUES ( data[фирма] ); [доля фирмы] ^ 2 )
 
mechanix 85 огромное спасибо,  работает!

Можешь пжлста оценить, правильно ли я читаю эту формулу:

sumx - итеративно (построчно) проводит сумму по строкам таблицы, которая указана первым аргументом

VALUES ( data[фирма] ) - первый аргумент формулы sumx. представляет собой таблицу из одной колонки, в которой находятся уникальные значения фирм
[доля фирмы] ^ 2 - ну тут понятно
Изменено: PowerBI_WannaBe - 18.05.2022 18:10:23
 
PowerBI_WannaBe, вот по поводу описания я не гаразд)) для каждого значения по фирме выводим квадрат, а sumx производит ее суммирование
 
Лучше всегда писать так:
Код
=
SUMX ( VALUES ( data[фирма] ); CALCULATE ( [доля фирмы] ) ^ 2 )

Если в коде ссылаемся на меру, она неявно оборачивается в CALCULATE. Но вот такой код без CALCULATE (необходим для преобразования контекста строки в контекст фильтра) не сработает:
Код
=
SUMX ( VALUES ( data[фирма] ); SUM ( data[value] ) ^ 2 )

Правильно:
Код
=
SUMX ( VALUES ( data[фирма] ); CALCULATE ( SUM ( data[value] ) ) ^ 2 )
Изменено: surkenny - 18.05.2022 18:32:45
 
mechanix 85
surkenny

товарищи, спасибо!
Страницы: 1
Наверх