Есть 2 таблицы фактов (план продаж и факт продаж), которые связаны между собой таблицами-измерениями (магазины и даты). Вопрос, есть ли какой-то способ посчитать averagex по мере, которая считается из этих двух таблиц фактов? То есть, есть мера, которая считает абс. процент отклонения факта от плана, и в итогах хотелось бы увидеть, скажем так, не "меру суммы", а "сумму мер"
Мб вообще есть какой способ это лучше сделать?
Постарался подробнее показать, что нужно, на скрине и в файле
Всем привет! Столкнулся с такой проблемой: посчитать накопленные продажи в вычисляемой колонке.
Исходная таблица выглядит так (магазин, дата, выручка, ранг магазина по выручке внутри даты):
Есть мера, которая корректно считает накопленные продажи
Код
Measure Cumulative =
VAR CurrRank = max(Table1[MyRank])
VAR Res = CALCULATE(SUM(Table1[RevByMonth]),Table1[MyRank] <= CurrRank, all(Table1[Store]))
RETURN Res
Вопрос: как добиться того же самого, но в вычисляемой колонке, а не в мере?
Код
MyCumulative =
VAR CurrRank = max(Table1[MyRank])
VAR Res = CALCULATE(SUM(Table1[RevByMonth]),Table1[MyRank] <= CurrRank
,all(Table1[Store])
--,allexcept(Table1,Table1[Date])
--,allexcept(Table1,Table1[Date],Table1[MyRank],Table1[RevByMonth])
)
RETURN Res
Из этих данных делается новая вычисляемая таблица, которая суммирует выручку по магазинам и месяцам:
Вопрос: как присвоить ранг магазину по выручке внутри месяца? Пока к этой новой таблице добавил колонку, но результат везде 1. Возможно, по умолчанию в каждой строке используется контекст этой конкретной строки. Надо как-то переключить этот контекст на контекст месяца(
Код
Rank1 = RANKX(Table1,(SUM(Table1[RevByMonth])))
Пробовал избавить вообще от контекста, но результат тот же((
Подскажите, как в Power Query группировать сумму столбца по условию? То есть, примерно так нужно:
= Table.Group(Источник, {"магазин", "дата"}, { {"выручка", each List.Sum([сумма]), type number}, {"выручка_опт", each List.Sum([сумма]) WHERE [тип выручки] = "оптовая", type number} })
На DAX и SQL понимаю как, на PQ пока не разобрался((
В теории, на PQ это можно сделать джойном с промежуточными таблицами, но это не вариант, так как много джойнов это вроде плохо, и показателей может быть не 2, как в примере, а больше Хотелось бы например как в dax, типа
Столкнулся с таким вопросом: есть табличка со значениями продаж, и у каждой записи есть атрибут - План либо Факт.
Чтобы вывести сами данные просто делаю так:
Код
SUM(Data[Сумма])
, а также вывожу в столбцы измерение "План или Факт"
Вопрос, как посчитать отклонение, не меняя основной меры и структуры таблицы?
Сделал так:
Код
=VAR a = CALCULATE([value];Data[План или факт] = "Факт")
VAR b = CALCULATE([value];Data[План или факт] = "План")
VAR Res = a - b
RETURN Res
Но отклонение естественно выводится и для Факта, и для Плана, так как фильтр внутри CALCULATE заменяет внешний фильтр, который я вывожу в столбцы сводной таблички
Столкнулся с такой проблемой - как посчитать % от определенной выручки?
Допустим, есть магазин. У магазина есть 2 вида выручки - розничная и оптовая. Соответственно, есть 2 вида себестоимости - себестоимость оптовая (которая относится к оптовой выручке) и себестоимость розничная (относится к розничной выручке). Также есть некая сумма административных расходов (которые относятся ко всей выручке).
Как написать меру (или как-то изменить сами исходные данные) для того, чтобы в одной мере можно было посчитать долю оптовой себестоимости от оптовой выручки, розничной себестоимости от розничной выручки, административных расходов от всей выручки, и прибыли магазина от всей выручки?
Есть запрос power query, в котором есть много шагов по обработке/сборке данных Допустим, я хочу добавить еще один любой шаг (например, добавить колонку или что угодно) Но сразу так сделать не получается - power query пересчитывает/обновляет КАЖДЫЙ предыдущий шаг, и добавление нового шага занимает очень много минут
Вопрос, как сделать так, чтобы при работе с Power query не пересчитывался каждый шаг?
Столкнулся с вопросом, пока не придумал, как его решить.
Есть таблица1. В ней содержатся уникальные продажи по всей компании. Колонки: 1) ID продажи 2) дата 3) сумма) Есть таблица2 - в ней содержится какая-то часть из таблицы1. Колонки: 1) свой ID продажи, вообще никак не связанный с таблицей1 !!! 2) дата 3) сумма) Цель - получить таблица3 = таблица1 - таблица2
Надо найти совпадающие продажи по сумма И по дате, и, соответственно, такие продажи убрать
Проблема в том, что стандартный join или append не работают=(
Добрый день! Прошу помочь разобраться с принципом работы SUMMARIZE А именно, как сделать следующее.
Исходные данные выглядят так:
Мне нужно, чтобы именно в отдельно "виртуальной" сводной таблице через SUMMARIZE получить продажи по ВСЕМ магазинам в данном месяце, то есть, примерно так:
Но на картинке выше я вывел эти данные в матрицу с помощью меры
Код
Value All Stores = CALCULATE([Value],ALL(Data[Store]))
Теперь, когда я пытаюсь сделать отдельную табличку в модели данных через SUMMARIZE, то получаю мусор.
То есть, она по каждому магазину тянет продажи этого магазина в этом месяце. А надо, чтобы по каждому магазину тянула продажи ВСЕХ магазинов в этом месяце
При этом, вроде бы меру суммирования для SUMMARIZE я написал корректно (как я думал, а по факту нет)
Код
MyTable1 = SUMMARIZE (
data,Data[Store],Data[Date],
"Value All Stores SUMMARIZED",[Value All Stores]
)
Почему SUMMARIZE игнорирует ALL и возвращает контекст ряда? Что с этим делать, и как всё поправить? =( Заранее спасибо!
Пусть есть 3 магазина, и нужно вывести продажи только по тем, которые входят в топ-2 по продажам в текущем периоде Думал, что будет работать такой вариант. Он корректно считает итоги, но на row-level по магазинам все равно подтягивает также сумму того магазина, который не входит в топ-2.
Столкнулся с проблемой - не могу посчитать сумму квадратов меры. (И вообще сумму мер. Выводится, скорее, мера суммы, чем сумма мер)
Допустим, в городе есть 5 фирм, и у каждой фирмы, соответственно, есть доля продаж внутри данного города (доля продаж всех фирм внутри города = 100). Получилось посчитать долю фирмы, квадрат доли фирмы, но не получилось посчитать сумму квадратов долей фирм внутри данного города =(
Помогите, пожалуйста (или подскажите, в какую сторону копать)
Призываются самые прошаренные DAX товарищи из этого форума=)
Столкнулся с такой проблемой в Power BI
Пусть модель данных состоит всего из одной таблички с одним столбцом, в котором всего одна строка, в которой пусть число 100 (для максимальной простоты)
И пусть с помощью Tabular Editor я создал простейшую Calculation group, в которой добавил всего 5 элементов: SELECTEDMEASURE() - просто выводит выбранную меру, ничего в ней не меняя SELECTEDMEASURE() + 1 - прибавляет число 1 к выбранной мере SELECTEDMEASURE() + 100 - прибавляет число 100 к выбранной мере SELECTEDMEASURE()*2 - умножает выбранную меру на 2 SELECTEDMEASURE()*3 - умножает выбранную меру на 3
В самом Power BI я создал 3 меры:
Measure = SUM('Table'[Column1]) - просто сумма из единственного столбца в табличке Divide Measure By Itself = DIVIDE([Measure],[Measure]) - просто делит меру на саму себя Measure Minus Itself = [Measure] - [Measure] - просто вычитает меру из самой себя
Так вот. ОБНАРУЖИЛ ОГРОМНУЮ ПРОБЛЕМУ (баг, фичу?)
Когда я пытаюсь поделить меру на саму себя, то везде кроме SELECTEDMEASURE() получаю неверный результат!!! Ожидаю везде получить, очевидно, единичку, а получаю от 2 до 101 (см. ниже на картинке, а также в приложенном файле)
А item-ы SELECTEDMEASURE() + 1 и SELECTEDMEASURE() + 100 вычитаются сами из себя некорректно - ожидаю получить ноль, а получаю 1 и 100.
Вопрос: что с этим делать и как получить единичку в мере "ivide Measure By Itself и нолик в Measure Minus Itself
Столкнулся с проблемой: не получается сортировать столбцы в waterfall chart в power bi в нужном мне порядке =( При этом вроде все сделал верно - добавил отдельный столбец с индексом и сортирую по нему, но все равно ничего не работает, ноль реакции! График выводит от большего к меньшему, а нужен другой порядок(
Помогите пжлста, кто шарит)
Кстати, забавный момент: сортировка корректно работает, но только когда нет данных (нули). Почему?) Может быть, дело в самой мере, которая выводит данные для диаграммы? Но я не понимаю, что в ней может быть не так, что не работает сортировка:
Никак не могу разобраться, как решить следующую проблему в Power Query
Как в Power Query подтянуть из другой колонки текст, который содержится в первой колонке?
Пока только дошел до уровня: проверить, есть ли совпадение = Table.AddColumn(#"Измененный тип", "Пользовательский", each Splitter.SplitTextByAnyDelimiter(code2_list)([code1])) Если в этом списке больше 1 элемента, то какое-то совпадение есть, но вот какое =)
Помогите, пожалуйста, с такой проблемой: у числового значения ("Сумма") в таблице есть всего 2 признака (измерения): поставщик и покупатель
В строки сводной таблицы добавлено измерение "Поставщик", а в столбцы - "Покупатель". Если вывести просто сумму (меру SUM(Data[Сумма]) ) и отфильтровать по одному покупателю мы получим разбивку по поставщиками. Вопрос в том, как теперь, не меняя фильтров и структуры сводной таблицы, с помощью отдельной меры вывести сумма, где поставщик теперь покупатель и наоборот. То есть, по дефолту мы видим, сколько Москва купила у Владимира, а рядом в той же строке в сводной таблице надо вывести, сколько Владимир купил у Москве (то есть, как бы измерения теперь меняются местами)
Пока сам не сталкивался с такой проблемой и не получается придумать, как ее решить((( Помогите, пожалуйста!
Прошу помочь написать меру, которая будет выводить данные по магазину только за тот месяц, в котором прибыль магазина была наибольшей Проблема выглядит так: То есть, в данном примере для Магазин1 лучший по прибыли месяц - это 03 М (пусть, март). Так как доход 250, расход 130 --> прибыль 120 - максимальная из трех (100 в январе, 90 в феврале, 120 в марте)
Идея у меня была такая - сначала вычислить номер месяца, а затем вывести данные только по этому месяцу Проблема возникла с получением лучшего месяца (лучшего по прибыли)
Логика такая: 1) делаем SUMMARIZE- виртуальную таблицу, в которой будет месяц-магазин-прибыль 2) смотрим макс значение 3) с помощью FILTER оставляем в табличке только макс значение (и, соответственно, месяц этого макс значения тоже останется) 4) с помощью функции VALUES берем название месяца
И вот проблема! VALUES пишет ошибку, когда пытаюсь получить данные из виртуальной таблички (MyTable1 или MyTable2). Как будто VALUES может в качестве аргумента принимать только исходную таблицу в модели данных, а не какие-либо еще таблицы(((
Что делать? Помогите пожалуйста!
Код
=
VAR MyTable1 =
SUMMARIZE (
Data;
[Магазин];
[Месяц];
"Прибыль в месяц"; SUMX(Data;[Сумма])
)
Var MyMax =
MAXX(MyTable1;[Прибыль в месяц])
Var MyTable2 =
FILTER (
MyTable1;
[Прибыль в месяц]=MyMax
)
RETURN VALUES(MyTable2[Месяц])
Возможно, вопрос не по адресу, но мб кто-то сталкивался с такой проблемой:
если делаешь график в excel, то он автоматически выводит все данные по ширине самого графика, иногда пропуская подписи элементов по оси x это удобно, так как видишь сразу все данные
а в Power BI наоборот: он выводит на график только те данные, которые помещаются. Для чтобы посмотреть, например, даты правее - надо руками крутить полосу прокрутки:
Возможно, кто-то знает, какими настройками графиков в Power BI это лечится? (сам пока не нашел) То есть, нужно вывести все данные на одном графике без полосы прокрутки
P.S. важный момент - параметр оси x в графике - Categorical, нужен именно такой!!! (а не Continuous - с ним работает)
Подскажите, как в DAX сделать следующее: вывести суммы по строкам за выбранный период. При это фильтр дат должен как бы одновременно и сброситься (чтобы суммировать все даты) и одновременно примениться (чтобы суммировать только выбранные даты, а не вообще все в таблице)
Первая мера успешно скидывает фильтр дат и суммирует по всем датам, но вместе с тем, игнорирует примененный фильтр(((
Возник сложный вопрос по расчету меры в Power Pivot, призываются гуру DAX'а))
Сетап: Есть факт расходов и выручки по магазинам за 2 месяца, и есть прогноз выручки на следующий месяц. Цель - составить прогноз расходов. Расходы считаются двумя способами: Себестоимость и Персонал - как средняя доля от выручки за последние 2 месяца, считается такой мерой [Тип расходов 1]:
То есть, сначала мера смотрит на тип расчета расходов, и если он =1, то вычисляет среднюю долю от выручки за последние 2 месяца, и эту долю умножает на прогнозную выручку.
А Аренда и Прочие расходы просто как среднее за последние 2 месяца. Тут мера попроще: смотрит на Тип расчета = 2 и на присутствие прогноза выручки, и если да, то берет среднее по статье за 2 месяца.
Хорошие новости: Мера работает! Корректно считает прогноз исходя из факта и прогноза выручки по каждой статье расходов отдельно (проверял руками). Соответственно, факт + прогноз просто-напросто считается как сумма факта и прогноза выручки и расходов:
Проблема: Такая мера вообще не считает промежуточные/агрегированные итоги((( То есть, невозможно посчитать с помощью нее ни валовую прибыль, ни чистую прибыль магазина, ни просто общую сумму в итогах по столбцу по магазинам/магазину (даже если убрать валовую и чистую прибыль) Похоже, это следует из того, как я эти меры составил: а именно проверка каждой записи на тип расходов (1 либо 2), и агрегация не является отдельно ни 1, ни 2 типом. Но как по-другому посчитать прогноз, у меня никаких идей нет((( Если кто-то сталкивался с подобным вопросом или есть свежие идеи, помогите пжлста!
Помогите с расчетом суммы накопленных сумм)) То есть, необходим, не просто Running total на дату, а сумма этих самых Running Total'ов Показатель редкий (и для большинства вещей не нужный), но крайне необходим для некоторых промежуточных вычислений
Running Total на дату получается вычислять такой мерой:
Код
=
VAR CurrentDate = MAX('Таблица1'[date])
RETURN
CALCULATE(
SUM('Таблица1'[growth_per_day]);
'Таблица1'[date]<=CurrentDate
)
А как корректно вычислить сумму этих мер пока не придумал((
Как думаете, можно ли решить следующий вопрос без множества вложенных "ЕСЛИ" ? Скажем, есть 4 категории помещений в зависимости от площади: от 0 до 100 - Категория 1, от 100 до 200 - Категория 2, от 200 до 300 - Категория 3, а свыше 300 - Категория 4. (числа и количество категорий - произвольные)
В принципе, можно написать такую формулу в Excel:
Код
=ЕСЛИ(D2>A5;B5;ЕСЛИ(D2>A4;B4;ЕСЛИ(D2>A3;B3;B2)))
(подробнее в прикрепленном файле) Но что если будет не 4, а 400 категорий? Есть ли какой-то способ помимо кучи вложенных "ЕСЛИ"? VBA/DAX не предлагать, нужна просто формула (хотя придумал, как это сделать на VBA - просто то же самое, как в формуле Excel, но перебор обратным циклом - будет всего примерно три строчки кода)
Есть данные в таком формате (скриншот и файл): дата, предыдущая дата, магазин, сумма/ Очевидно, что легко вывести в сводной таблице сумму на дату без написания вычисляемых мер
Вопрос: как написать меру, чтобы на дату выводилось значение, соответствующее не этой дате, а предыдущей дате? (При этом для каждой даты из колонки "дата" уже заранее известна ее предыдущая дата, в колонке "Пред.Дата", ее вычислять не нужно)
Пока продолжаю разбираться в DAX и возник вопрос: как надо написать меру, чтобы она выводила значение на предыдущую дату?
Есть простые исходные данные (на скриншоте): дата, сумма, магазин. Предполагаю, что для такой меры в CALCULATE сначала надо сбросить фильтры с помощью, например, ALL или ALLSELECTED, а затем в фильтр добавить предыдущую дату, только пока не понимаю, как ее вычислить
Пока сам в процессе изучения DAX, прошу помочь с вопросом:
Есть доходы и расходы в разбивке по дням --> можем создать меру в DAX и посчитать прибыль за 1 день: SUMX('RunningTotalTable';[доход]+[расход]) Вопрос: как посчитать накопленную прибыль за период? Подозреваю, что тут будет замешан CALCULATE и какие-то временные функции, сам пока не разобрался.
То есть, необходимо вывести и прибыль за день, и накопленную прибыль за все даты, которые меньше или равны текущей дате
Файл примера во вложении к теме, а на скриншоте 1 - исходные данные, на скриншоте 2 - предполагаемый результат
Подскажите, пожалуйста, как в PL (отчет о финансовом результате) в Power BI посчитать долю от выручки по каждой строке?
Имеется исходный собранный PL:
Цель – получить долю от выручки по каждой строке в таком формате через вычисляемые меры (в самом Excel это делается просто, так как есть возможность обращаться к конкретной ячейке, а в Power BI такой возможности нет):
В принципе, вся задача сводится к вычислению розничной выручи таким образом, чтобы она подтягивалась по каждой строке в Power BI и именно это не получается сделать.
Файлы (источник Excel и сам файл Power BI) во вложении