Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
PowerPivot: сумма с нарастающим итогом в сводной таблице
 
Добрый вечер!
Прошу помощи, сижу в гугле уже 4 день и не могу найти ответов.
Ничего не получается.
Исходные данные:
1. Есть куча таблиц, всё сводится в единую сводную таблицу.
2. Одна из таблиц, содержит, в том числе, столбцы с артикулами и количеством (столбец "отпущено"). Артикулы в таблице повторяются в разных строках с разным количеством.
Задача:
Сделать (что угодно - меру/вычисляемый столбец) сумму по столбцу отпущено для каждого артикула с нарастающим итогом на каждой последующей строке.

Скриншоты и примечания:

Отфильтровано по одному из артикулов пытался сделать чтобы в вычисляемом столбце первая строка рассчитывалась как 33, вторая как 33+7, третья - 33+8+55 и т.д.
Перепробовал миллион вариаций с EARLIER, с ALL и ALLSELECTED, пробовал решения основанные на
Код
'М15'[ID] <= MAX ( 'М15'[ID] )
Но почему то ни в одной из вариаций функция MAX  не заработала (выдаёт ошибку о неверных значениях типа String. Даже при условии написания простой меры
Код
max:=MAX('M15'[ID])
max2:=MAX('M15'[Дата отгрузки])
max3:=CALCULATE(MAX('M15'[ID]);ALL('M15'))
При любых раскладах ошибка.

Данную задачу пробовал решить стандартными средствами Сводной таблицы применяя к Значениям (Сумма по столбцу отпущено) Дополнительное вычисление с нарастающим итогом.
Работало пока слева от области значений было не более 2-ух областей строк. Потом превращается просто в сумму. Скриншот ниже.

По этому скриншоту:
Номер накладной - из таблицы Реестр накладных, где только уникальные номера накладных,
Имя файла - оттуда же,
Артикул - из таблицы М15, где для каждого артикула указаны количество номер накладной, цена дата и т.д. и т.п.
Остальные столбцы - область значений.
Столбец "Отпущено (накопительная) - раньше работал с дополнительными вычислениями, теперь нет. на скриншоте можно заметить по артикулу PZRF9UBF

На всякий случай ещё приведу скриншот связей.  
 
Частично получилось...
Осталось решить проблему с сортировкой...
Значения подсчитываются но в неопределённом порядке, где-то я на форуме про это читал. У меня есть в таблице столбец ID, в котором все строчки пронумерованы по порядку. Думаю нужно сделать сортировку по этому столбцу, только в каком месте формулы об этом писать? Или же лучше по номерам накладных, т.к. будет в сводной таблице
 
Ещё в сводной какая-то фигня выходит
 
Silent_VL, потратили 4 дня, потрудись выделить еще 15 мин на составление примера и выложите файл Ексель на форум. Достаточно по несколько строк в таблицах данных (можете предварительно заменить значения в таблицах, если стоит вопрос конфедициальности). По описанию задачка простая. По поводу ошибки "string": установите числовой формат данных по столбцу. Если не устанавливается, проверьте, все ли значения числовые?  
 
Цитата
Silent_VL написал:
сижу в гугле уже 4 день
За одну минуту нашел тему первая по счету в выдаче
Изменено: PooHkrd - 20 Дек 2018 09:26:41
Вот горшок пустой, он предмет простой...
 
Бурчание на тему


Цитата
Silent_VL написал:
Ещё в сводной какая-то фигня выходит
Выходит ровно то, что должно считаться в вашей модели данных. Вы же фильтр по накладным применяете, он в каждой строке у вас разный, соответственно в каждой строке сводной у вас все исходные данные отфильтрованы по
- номеру накладной из "Реестр накладных"
- номеру файла из "Реестр накладных",
- артикулу из "М15",
- наименованию из "М15"
- и цене из "М15"

Вы считаете, что достаточно снять фильтры только с таблицы M15 - вот она вас и слушается, оставляя работающие фильтры по накладным.

Цитата
Silent_VL написал:
сумму по столбцу отпущено для каждого артикула с нарастающим итогом на каждой последующей строке.
Если у одной накладной в таблице М15 есть несколько строк, и вы не выводите ID в сводную, то что значит "накопительный итог" - накопление по какому полю должно происходить? Накапливаться от накладной к накладной? Или только в рамках одной накладной? (тогда непонятно, что значит "накопительно" в принципе)

Определитесь с задачей, в общем.
F1 творит чудеса
 
Цитата
Vladimir Chebykin написал:
По поводу ошибки "string": установите числовой формат данных по столбцу. Если не устанавливается, проверьте, все ли значения числовые?  
Установлено, перепроверено, пробовал даже формулой VALUE в PowerPivot и ЗНАЧЕН в Excel - не помогает.
Цитата
PooHkrd написал:
За одну минуту нашел  тему  первая по счету в  выдаче
Эту тему я несколько раз перечитывал, как и следующие 2 страницы в гугле именно по такому запросу, только не помогло в решении задачи.

Максим Зеленский,
Спасибо, ход мыслей уловил. Вечером буду пробовать.

Цитата
Максим Зеленский написал:
Если у одной накладной в таблице М15 есть несколько строк, и вы не выводите ID в сводную, то что значит "накопительный итог" - накопление по какому полю должно происходить? Накапливаться от накладной к накладной? Или только в рамках одной накладной? (тогда непонятно, что значит "накопительно" в принципе)
Накапливаться должно от артикула к артикулу.
Задача на выходе получить мини отчёт для руководства. Накопительый итог требуется для того, чтобы отслеживать, на какой накладной общий объём того или иного материала выйдет за проектный.

Цитата
Vladimir Chebykin написал:
выделить еще 15 мин на составление примера и выложите файл Ексель на форум. Достаточно по несколько строк в таблицах данных (можете предварительно заменить значения в таблицах, если стоит вопрос конфедициальности).
Попробовал позаменять данные, почистить. За час не уложился сделать таблицу для примера, очень много связанных данных. Если вечером самостоятельно не найду решения по вашим наводкам - попробую сделать упрощённый аналог этого файла.

Цитата
Максим Зеленский написал:
Бурчание на тему
Совсем недавно начал вникать в DAX. Да не всё ещё до конца понятно, но пытаюсь понять. Читаю, просто паралельно задачи пытаюсь решать.
А по сути моей задачи - я понимаю, что мне нужно получить на выходе.
У меня есть объём данных по накладным и объём данных по спецификации (другая таблица). Мне нужно сравнить эти два объёма и вычислить. Какие накладные "помещаются" в объём спецификации, а какие нет.
Плюс таким образом, чтобы показать, что и как не помещается, с прицелом на дальнейшие поиски и пополнения условий и информации.)
 
Цитата
Silent_VL написал:
Накапливаться должно от артикула к артикулу.
Давайте проще.
Одной накладной может соответствовать несколько файлов?
Один и тот же артикул может встречаться в одном файле?
Один и тот же артикул может встречаться в одной накладной но в разных файлах?

Вот у вас сводная:
Накладная1 Артикул1 ... 10
Накладная2 Артикул2 ... 20
Накладная3 Артикул1 ... 40
Накладная4 Артикул2 ... 80

что должно быть в новом столбце нарастающим итогом?
F1 творит чудеса
 
Максим Зеленский,
Все в одном файле
одной накладной соответствует один файл (просто справочно указывается),
одной накладной (файлу) может соответствовать несколько артикулов,
один артикул может встречаться в одной накладной несколько раз (в сводной суммируется), может встречаться в разных накладных

по поводу примера сводной
накладная 1 артикул 1 ... 10 ... 10
накладная 2 артикул 2 ... 20 ... 20
накладная 3 артикул 1 ... 40 ... 50
накладная 4 артикул 2 ... 80 ... 100
 
Код
=
CALCULATE (
    [СуммаОтпущено];
    ALL ( 'Реестр' );
    ALLEXCEPT ( 'М15'; 'М15'[Артикул] );
    FILTER ( ALL ( 'М15'[ID] ); 'М15'[ID] <= MAX ( 'М15'[ID] ) )
)
F1 творит чудеса
 
Спасибо! Всё заработало, всё понял. Но, действительно, на большом объёме информации адски вешает эксель на этапе "идет чтение данных"
 
Скорее всего, вам нужно в принципе другое решение вашей задачи
Цитата
Silent_VL написал:
У меня есть объём данных по накладным и объём данных по спецификации (другая таблица). Мне нужно сравнить эти два объёма и вычислить. Какие накладные "помещаются" в объём спецификации, а какие нет.Плюс таким образом, чтобы показать, что и как не помещается, с прицелом на дальнейшие поиски и пополнения условий и информации.)
Но это уже другая тема
F1 творит чудеса
Страницы: 1
Читают тему (гостей: 1)
Наверх