Столкнулся с проблемой расчета средневзвешенной цены в одномерном массиве для каждой строки по нескольким критериям (торговая марка, месяц, город и.т.д).
Вычисление решается просто при помощи обычных формул Excel СУММПРОИЗВ() или СУММЕСЛИМН()
Но с учетом того что в массиве более 300 тыс строк то процесс вычисления может занять более суток.
Попробовал считать через POWERPIVOT при помощи DAX формулы CALCULATE() (пишут что это аналог СУММЕСЛИМН()) или при помощи SUMX() (аналога СУММПРОИЗВ() ,но никак не получается разобраться в синтаксисе.
Какой корректный синтаксис отсылки на значение в конкретной ячейке надстройки POWERPIVOD, или такой возможности нет?
Добрый день.
Столкнулся с проблемой расчета средневзвешенной цены в одномерном массиве для каждой строки по нескольким критериям (торговая марка, месяц, город и.т.д).
Вычисление решается просто при помощи обычных формул Excel СУММПРОИЗВ() или СУММЕСЛИМН()
Но с учетом того что в массиве более 300 тыс строк то процесс вычисления может занять более суток.
Попробовал считать через POWERPIVOT при помощи DAX формулы CALCULATE() (пишут что это аналог СУММЕСЛИМН()) или при помощи SUMX() (аналога СУММПРОИЗВ() ,но никак не получается разобраться в синтаксисе.
Нужен ваш пример в файле, с небольшим количеством тестовых данных. А то вот так прямо непонятно, что у вас там именно задано именованными выражениями (какие именно списки, значения и прочее)
Нужен ваш пример в файле, с небольшим количеством тестовых данных. А то вот так прямо непонятно, что у вас там именно задано именованными выражениями (какие именно списки, значения и прочее)AndreTM
Я бы (думаю, и второй Андрей со мной согласится) вообще делал такой свод, используя возможности Power Query, а не PowerPivot. Потому что если нужен именно только расчёт значений, с созданием таблицы (которую вы уже можете потом крутить на предмет группировки по нужным показателям и прочее) - то зачем использовать DAX, если всё можно сделать сразу в M?
Я бы (думаю, и второй Андрей со мной согласится) вообще делал такой свод, используя возможности Power Query, а не PowerPivot. Потому что если нужен именно только расчёт значений, с созданием таблицы (которую вы уже можете потом крутить на предмет группировки по нужным показателям и прочее) - то зачем использовать DAX, если всё можно сделать сразу в M?AndreTM
К сожалению не удалось открыть приложенный вами файл. Пишет что версия EXCEL более ранняя.
Меня интересует на сколько идентичны функции EXCEL СУММЕСЛИМН() и СУММПРОИЗВ() с соответствующими функциями CFLCULATE() и SUMX() Особенно интересует вопрос по поводу возможности отсылки в функции DAX на конкретную ячейку в качестве условия отбора c последующим протягиванием формулы, как это возможно в EXCEL, или все-таки такой возможности нет?
Добрый день.
К сожалению не удалось открыть приложенный вами файл. Пишет что версия EXCEL более ранняя.
Меня интересует на сколько идентичны функции EXCEL СУММЕСЛИМН() и СУММПРОИЗВ() с соответствующими функциями CFLCULATE() и SUMX() Особенно интересует вопрос по поводу возможности отсылки в функции DAX на конкретную ячейку в качестве условия отбора c последующим протягиванием формулы, как это возможно в EXCEL, или все-таки такой возможности нет?zzbear
Доброе время суток. Странно, что у вас не открылась модель, обычно в новых версиях предлагается её преобразовать, после чего без проблем всё просматривается и меняется. Код функции меры в предложенном файле [vba]
[/vba] Обратите внимание, что таблица переименована в Products. Фитльтрацию (аналог ЕСЛИ) выполняют поля таблицы, размещённые в строках/столбцах сводной таблицы. Успехов.
Доброе время суток. Странно, что у вас не открылась модель, обычно в новых версиях предлагается её преобразовать, после чего без проблем всё просматривается и меняется. Код функции меры в предложенном файле [vba]
[/vba] Обратите внимание, что таблица переименована в Products. Фитльтрацию (аналог ЕСЛИ) выполняют поля таблицы, размещённые в строках/столбцах сводной таблицы. Успехов.anvg
anvg, Добрый день еще раз проанализировал вашу формулу, попробовал использовать.
Результат не сходится с необходимым.
По условию необходимо найти средневзвешенную цену бренда (искомое) с учетом объемов реализации (вес), а также учитывая следующие факторы (фильтры): принадлежность к определенному городу, объем продукта (вид тары), месяц реализации
anvg, Добрый день еще раз проанализировал вашу формулу, попробовал использовать.
Результат не сходится с необходимым.
По условию необходимо найти средневзвешенную цену бренда (искомое) с учетом объемов реализации (вес), а также учитывая следующие факторы (фильтры): принадлежность к определенному городу, объем продукта (вид тары), месяц реализацииzzbear
AndreTM, Попробовал через запрос осуществить решение проблемы, достиг нужных значений но не в необходимой форме
Посредством группировки и простейшей операции деления прихожу к правильному результату, но выводимая таблица представляет из себя только данные которые были выбраны для группировки и соответственно происходит не добавление дополнительных вычисляемых столбцов к общему массиву, а образуется новый, но уже сокращенный массив....
AndreTM, Попробовал через запрос осуществить решение проблемы, достиг нужных значений но не в необходимой форме
Посредством группировки и простейшей операции деления прихожу к правильному результату, но выводимая таблица представляет из себя только данные которые были выбраны для группировки и соответственно происходит не добавление дополнительных вычисляемых столбцов к общему массиву, а образуется новый, но уже сокращенный массив....zzbear
Через запросы ты сможешь получать правильные данные, только если начнешь формировать запрос динамически, уже с учетом выставленного тобой текущего фильтра в отчете. Либо все же добивай DAX-формулами, только не забудь конечную формулу обернуть в CALCULATE() с использованием FILTER() для нужных тебе группировок - тогда в отчете формула динамически подсчитает правильные данные с учетом текущих фильтров.
Через запросы ты сможешь получать правильные данные, только если начнешь формировать запрос динамически, уже с учетом выставленного тобой текущего фильтра в отчете. Либо все же добивай DAX-формулами, только не забудь конечную формулу обернуть в CALCULATE() с использованием FILTER() для нужных тебе группировок - тогда в отчете формула динамически подсчитает правильные данные с учетом текущих фильтров.AndreTM