Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
Плоская таблица из таблицы с группировкой
 
Neostt, спасибо, иерархию получил, правда не совсем понимаю как это работает...на буржуйском сайте подобное выкладывал наш соотечественник, более громоздко, но я тоже не осилил ) - но пользоваться буду.

Я правильно понимаю, что после объединения полученной таблицы с запросом, дальнейшая расстановка происходит через добавление новых условных столбцов (равно количество иерархий) или есть какой то более изящный путь?
Плоская таблица из таблицы с группировкой
 
1. Да.
2. Не очень силен в этом вопросе, могу познать только на примере) в идеале конечно запросом из PQ (но не знаю пока на сколько это возможно).  
Плоская таблица из таблицы с группировкой
 
Цитата
написал:
Вы бы хоть намекнули на конечный результат, который хотите получить.
получить плоскую таблицу в PQ, т.е. иметь возможность использовать штатный механизм PQ "заполнить вниз"
Изменено: muxey - 26.01.2023 15:02:19
Плоская таблица из таблицы с группировкой
 
Доброго времени суток, форумчане.

Устал править в ручную таблицы с группировками (часто присылают из 1С, возможности поправить выгрузку нет) для обработки через PQ.  Поиском нашел 2 варианта: 1. через справочники, но это громоздко и они постоянно разные. 2. получение данных об отступах из xml, но никак не могу осилить понять этот механизм Возможно недорос, возможно мой офис установленный через виртуальную машину на м1 не позволяет мне это сделать, но скорее недорос...)
Посмотрел вариант surkenny в теме #11 - вроде все просто, но не работает
Думал PLEX поможет, но тоже очень громоздко через трансформацию исходника.
Ткните носом где вариант 2 расписан более подробно для чайников)
Заранее спасибо.  
На что заменить функцию TOPN в Power Pivot
 
задачу вроде бы решил, но осталось недопонимание
Код
MINCALC_4_1:=var top4=TOPN(4;
SUMMARIZE('ПЛАН_ПРОИЗВОДСТВА'; 'Календарь'[ГГГГ-ММ]; 'ПЛАН_ПРОИЗВОДСТВА'[Номенклатура]; "count sum month"; SUM('ПЛАН_ПРОИЗВОДСТВА'[Количество]));
[count sum month]; 0; 'Календарь'[ГГГГ-ММ]; 1)
var top1= TOPN(1;
SUMMARIZE('ПЛАН_ПРОИЗВОДСТВА'; 'Календарь'[ГГГГ-ММ]; 'ПЛАН_ПРОИЗВОДСТВА'[Номенклатура]; "count sum month"; SUM('ПЛАН_ПРОИЗВОДСТВА'[Количество]));
[count sum month]; 0; 'Календарь'[ГГГГ-ММ]; 1)
var top4_1=EXCEPT(top4;top1)
return
AVERAGEX(top4_1;[count sum month]
* LOOKUPVALUE('СрокПоставки'[Срок];  'СрокПоставки'[Номенклатура]; 'ПЛАН_ПРОИЗВОДСТВА'[Номенклатура])) / 30
почему при попытке производить умножение на столбец за пределами функции AVERAGEX все варианты приводят к ошибке?
На что заменить функцию TOPN в Power Pivot
 
StepanWolkoff, попробовал - считает на ура, спасибо
есть еще пару вопросов

1. Есть вот такая мера, которая производит перемножение значений из двух таблиц. Нужно использовать тот же принцип - выкинуть 2 топовых значения.
Но как я не пытаюсь применить опыт из предыдущего примера - везде ошибка. Может быть это связано с введением переменных..?
Код
MINCALC:=AVERAGEX(
TOPN(5;
SUMMARIZE('ПЛАН_ПРОИЗВОДСТВА'; 'Календарь'[ГГГГ-ММ]; 'ПЛАН_ПРОИЗВОДСТВА'[Номенклатура]; "count sum month"; SUM('ПЛАН_ПРОИЗВОДСТВА'[Количество]));
[count sum month]; 0; 'Календарь'[ГГГГ-ММ]; 1); [count sum month]
* LOOKUPVALUE('СрокПоставки'[Срок];  'СрокПоставки'[Номенклатура]; 'ПЛАН_ПРОИЗВОДСТВА'[Номенклатура])) / 30

2. Если есть необходимость убрать из выстроенного ряда произвольное по номеру значение, например 2 и 4, то какая функция может быть применена?

На что заменить функцию TOPN в Power Pivot
 
StepanWolkoff,
приятно, что мое "творчество" так запало в память) полученных мною знаний хватило на год модернизации файла - это заслуга форумчан - за это спасибо

не хочу слету вставлять решение в пример, есть пара вопросов для закрепления понимания примененного метода
Код
Avg5Max:=var top5=TOPN(5;
         SUMMARIZE('ПЛАН_ПРОИЗВОДСТВА'; 'Calendar'[ДАТА]; "count sum month"; SUM('ПЛАН_ПРОИЗВОДСТВА'[Количество])); 
            [count sum month]; 0; 'Calendar'[ДАТА]; 1)
var top2=TOPN(2;
         SUMMARIZE('ПЛАН_ПРОИЗВОДСТВА'; 'Calendar'[ДАТА]; "count sum month"; SUM('ПЛАН_ПРОИЗВОДСТВА'[Количество])); 
            [count sum month]; 0; 'Calendar'[ДАТА]; 1)
var topint=EXCEPT(top5;top2)
return
вот это заведение переменных в мере Avg5Max
1 - получение топ 5
2 - получение топ 2
3 - исключение из топ5 топ2
Код
AVERAGEX(
topint; [count sum month])

это вычисление среднего значения на базе переменной 3
не пойму только начала кода - зачем Except перед названием меры?
или я туплю и это новое название получившейся меры "Except Avg5Max:="
На что заменить функцию TOPN в Power Pivot
 
Цитата
PooHkrd написал: Давайте вы опишите задачу целиком,
Тему почему то изменить не могу, но название лучше чем вот это, придумать не могу
"Подсчет среднего значения в выстроенном ряду начиная не с 1 значения используя функцию  TOPN"

Задача
"Как модернизировать меру, используя функцию TOPN, чтобы расчет среднего значения производился исключая 1...n значений начиная с верха ряда"

Пример выложу, как будет техническая возможность...просто на форуме столько спецов, думал "ларчик" просто открывается - подскажут просто на примере самой  меры)
На что заменить функцию TOPN в Power Pivot
 
звучит вроде бы логично, но не понял как вертнуть в обратную сторону..? и если ряд состоит из значений 7, 5, 0, 0, 0, то получим значение 0, а нужно 5 (т.е. до первого значения больше 0)
На что заменить функцию TOPN в Power Pivot
 
Доброго времени суток.
Есть вот такая мера, которая считает среднее значение из 5 выстроенных вряд значений.
Код
Avg5Max:=AVERAGEX(
TOPN(5;
SUMMARIZE('ПЛАН_ПРОИЗВОДСТВА'; 'Календарь'[ГГГГ-ММ]; "count sum month"; SUM('ПЛАН_ПРОИЗВОДСТВА'[Количество]));
[count sum month]; 0; 'Календарь'[ГГГГ-ММ]; 1); [count sum month])
Если для расчета я хочу отбросить 1 или 2 первых максимальных значений, то как модернизировать меру?  
Выделить цветом наименьшее время по условию
 
Цитата
a.i.mershik написал: =НАИМЕНЬШИЙ(ЕСЛИ($A$2:$A$11=$C$1;$B$2:$B$11);1)=B2где С1 - условие (ваше пять (5))
не хочу плодить новую тему, да и с названием будет туго)
возможно ли эту формулу для условного форматирования модернизировать, если условие С1 не уникально (т.е. есть список этих условий и они могут быть изменены - отдельная таблица)
пока использую ИЛИ (...) но не очень удобно с ростом таблицы
Изменено: muxey - 05.10.2018 12:30:57
Создание набора полей в сводной
 
пример графика
Создание набора полей в сводной
 
StepanWolkoff, решил задачу "подбором", но пока не понял почему это влияет...
разница между тестовым файлом (рассмотренным на форуме) и рабочем в последовательности строк в  группе СТОЛБЦЫ
Для нужного эффекта нужно чтобы было (сверху-вниз) Значение, ДатаПлана(гггг-мм), у меня автоматом устанавливалось наооборот ДатаПлана(гггг-мм), Значение.
Если в тестовом файле поменять - будет тоже самое...
Создание набора полей в сводной
 
StepanWolkoff,
вот так выглядит исходная мера
Код
Max1:=SUMMARIZE(
FILTER(
ADDCOLUMNS(
SUMMARIZE('ПЛАН_ПРОИЗВОДСТВА'; 'Календарь'[ГГГГ-ММ]; "mounth sum"; SUM('ПЛАН_ПРОИЗВОДСТВА'[Количество]));
"mounth sum rank"; RANKX(SUMMARIZE('ПЛАН_ПРОИЗВОДСТВА'; 'Календарь'[ГГГГ-ММ]; "mounth sum"; SUM('ПЛАН_ПРОИЗВОДСТВА'[Количество])); [mounth sum]; [mounth sum]; 0));
[mounth sum rank] = 1);
[mounth sum])
вот так преобразованная
Код
_Max1:=IF(ISFILTERED('ПЛАН_ПРОИЗВОДСТВА'[ДатаПлана(гггг-мм)]);BLANK();[Max1])
пробовал менять ДатаПлана(гггг-мм) на Календарь'[ГГГГ-ММ] - итог тот же
Создание набора полей в сводной
 
StepanWolkoff, и еще вопрос, применяю набор новых мер к большему по размеру данных файлу и выводит в не заданной последовательности столбцы, а столбец меры рядом с каждым месяцем... вы что то еще поменяли в примере?
Создание набора полей в сводной
 
Виктория Назарова,решние на коленке ниже
Создание набора полей в сводной
 
StepanWolkoff,можно как то вот так (ниже), но мозгов пока не хватает как использывать
Код
PivotTable.GrandTotalName=""
Создание набора полей в сводной
 
StepanWolkoff, огромное спасибо.
у меня маленький вопрос,
Цитата
StepanWolkoff написал:
поля в столбцах надо будет расставить "красиво"
я правильно понял, что наименование столбцов  с новой мерой (а именно слова Итого) я исправить/удалить не могу?
Создание набора полей в сводной
 
Цитата
StepanWolkoff написал:
а почему вы решили, что по виду и организации считает не правильно?
я как раз и написал, что ошибки не нашел
Цитата
muxey написал:
оставил пока просто IF без вложений, ошибку пока не выявил, но и массив данных в тесте мал.
но так как ошибка возможна (а это следует из приведенной статьи), я и спросил
Цитата
muxey написал:
в каком случае ISFILTERED дает не правильное значение в промежуточных итогах?
Цитата
StepanWolkoff написал:
Хотя если только вы допустим Вид перенесете в столбцы сводной, тогда да, надо переписывать меру...
если это допустить, то как должна быть изменена мера?
Цитата
StepanWolkoff написал:
правильно?
да
Создание набора полей в сводной
 
StepanWolkoff, во вложении
Создание набора полей в сводной
 
StepanWolkoff, допустим пользователь только один, и варианты использования могут быть:
1. только Номенклатура
2. Вид номенклатуры-Номенклатура
3. Организация - ВидНомеклатуры-Номенклатура
4. Организация - Номенклатура
5. Номенклатура - Организация

При этом периоды могут быть 1 месяц, 2 месяца...год ...n-месяцев

ЗЫ оставил пока просто IF без вложений, ошибку пока не выявил, но и массив данных в тесте мал...я просто пока не понял, в том числе и по приведенной вами статье, в каком случае ISFILTERED дает не правильное значение в промежуточных итогах?
Создание набора полей в сводной
 
Цитата
StepanWolkoff написал:
В вашем варианте будет просто несколько проверок для каждого уровня группировки от меньшего к большему:
и если изменить последовательность группировки - то будет вывод не корректных данных? нужно будет править меру под каждый случай?
Изменено: muxey - 02.04.2018 11:26:22
Создание набора полей в сводной
 
StepanWolkoff,
прочитал статью, но все таки не все понял, это похоже на "трюк", который может показывать верные данные исходя из заданной группировки полей, но если ее изменить (а в действительности полей для группировки больше, это подразделение, назначение, вид), то выбранный вариант с использованием ISFILTERED может вывести не все/не верные данные - верно?

еще вопрос для закрепления материала - почему меры, которые есть изначально нельзя вывести в такую последовательность в сводной таблице, а через IF можно?
Создание набора полей в сводной
 
StepanWolkoff,

я не совсем понял условие вводимой вами меры
Код
NewMax 1:=IF(HASONEVALUE('ПЛАН_ПРОИЗВОДСТВА'[Дата (Год-Месяц)]);
BLANK();
[Max1])
тестово вставил временную временную шкалу, и обнаружил ошибку в выведение данных - если период взять апрель-май, то не происходит расчет новых мер по этому типу, в тоже время данные в базовых мерах считаются и должны выводится в сводной
Создание набора полей в сводной
 
Цитата
StepanWolkoff написал:
Или даже не так: какая цель такого отображения информации?
наглядная прослеживаемость расчета (какие именно месяцы использованы для расчета) и построение в дальнейшем графика
ЗЫ файл урезан по вычисляемым мерам (их больше), хочу понять алгоритм объединения (все еще считаю что нужен этот инструмент) в наборы
Создание набора полей в сводной
 
Доброго времени суток!

Есть исходные данные, меры, которые считают нужные значения, на базе которых строится сводная таблица.
Проблема в том, что я могу построить 2 сводные  таблицы:
1. сводит значения по мерам
2. сводит значения по месяцам на основании исходных значений
но я ни как не могу объединить, как показано на вкладке Результат с сохранением функционала сводной таблицы

предполагаю, что это решается через наборы по аналогии с постом в этом форуме
тут
но никак не могу добавить нужные поля
Помогите решить задачу по созданию набора полей в сводной или может быть есть другой путь?
Как найти 3 максимальные дневные суммы при группировке по месяцу и номенклатуре и среднее по ним
 
Цитата
StepanWolkoff написал:
вы мечитесь и не можете четко сказать, чего вы хотите.
мне кажется в этом случае все просто, есть сводная таблица, которая пошагово разными мерами приводит к конечному результату. на одном из этапов необходимо умножить построчно получившееся значение меры на соответствующее значение из столбца связанной таблицы... может быть я не понятно пишу "по-русски" (я над этим работаю), но в примере я же показал формулами эксель, чего хочу добиться в сводной

более того, подобные операции мною будут востребованы и в дальнейшем, поэтому и хотелось разобраться "как корректно умножать значение меры" на "значение столбца"
Как найти 3 максимальные дневные суммы при группировке по месяцу и номенклатуре и среднее по ним
 
PooHkrd,Андрей VG,
не вдаваясь в дискуссию (я конечно люблю эпистолярный жанр, но тут не место), дайте время, я только учуся )

ЗЫ для понимания, я это делаю для себя, для автоматизации своих расчетов которые я делаю в Excel...я многое автоматизировал стандартными средствами через макросы (я не умею их писать с нуля, но вставлять нужные блоки в нужные места получается,благодаря форуму).
Но захотелось попробовать большей вариативности и наглядности, ну и чего таить, сократить время на эту нудную работу, многое все рано ручками приходится менять...
по поводу
Цитата
Андрей VG написал:
Хотя исходно, все мои меры были через IF жёстко привязаны к одному контексту вычисления - там где они, на мой взгляд, имеют смысл).
я очень много экспериментировал с Вашим применением IF (оно мне было нужно в последующих действиях), но условие
1. на уникальность месяца в моем случае не применимо (могут быть 2 одинаковых месяца, но года разные) и я его удалил (об этом вы мне и сказали)
2. на уникальность номенклатуры в справочнике по срокам - насколько я понял, это ограничение бесполезно, так как все мои тесты умышленно исказить исходные данные (ввод пустого значения, дубля) приводили к ошибке обновления сводной (ошибка связей 1 ко многим не возможно в таком случае), но мера продолжала в сводной успешно считать (в отличии ограничения по месяцу где был пустой столбец со значениями меры), хотя в PP показывала = пусто. Поэтому и "вот поворот" я заметил разницу в итогах, но не придал значения и в последующем таком случае.
хотел попробовать поставить условие на не равно "пусто", но подумав решил, что вариант когда в сводной я увижу расчет по строчке пусто, сразу пойму что не у всех номенклатур (а их может быть несколько тысяч) есть срок.
жаль, что так и не получил ответ на вопрос в каком случае вариант StepanWolkoff, даст не верный результат (а мои эксперименты его не выявили пока...)
Цитата
Андрей VG написал:
А что собственно вам мешает их почитать?
я практик и изучаю то что мне интересно на примерах как это работает, а не на теории...у меня нет цели стать гуру PP, но уверенным пользователем в части меня интересующей я хочу быть. поэтому применяю те методы, которые мне помогли освоить другие инструменты и не настаиваю на их исключительности - это мой выбор который дает результат
Цитата
Андрей VG написал:
Но вы ведь не за ответами на вопросы пришли
я пришел за решением, которое я могу изучить, задать вопросы которые мне не понятны и применять на практике полученное решение

Цитата
Андрей VG написал:
когда вопрощающий чётко формулирует - что, где, когда и отвечает на вопросы по деталям. Чего с вами, увы, не сложилось.
тут абсолютно согласен, у меня есть проблемы с четким формулированием ТЗ, но я над этим работаю )

ЗЫЗЫ все таки не удержался и написал много
 
Как найти 3 максимальные дневные суммы при группировке по месяцу и номенклатуре и среднее по ним
 
Цитата
Андрей VG написал:
И где при таком утверждении разбор этого [
я взял ваш рабочий пример и разобрал его на части, теперь благодаря вам, у меня нет сложности в умножении любой меры (построенной по типу AVR, надеюсь и с другими тоже - пока не пробовал) на значение столбца. я могу использовать его во всех подобных конструкциях

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

Цитата
Андрей VG написал:
Но, думаю, вам же знакомо такое выражение - средняя температура по больнице. Имеет ли она смысл?
статистика, это такая наука, где и 1.5 землекопа иногда могут о многом рассказать, но мы не об этом...
Цитата
Андрей VG написал:
в Общем итоге 130,02 <> 255,66 разница очевидна
разницу в общем итоге я сразу заметил, но даже в той статье, ссылку на которую указал PooHkrd,  написано, что мера считает в зависимости от контекста
в моем слабом понимании это выглядит как, мера в вашей редакции содержит фильтры/группировки внутри себя, а мера в редакции StepanWolkoff, берет все из контекста сводной

Цитата
Андрей VG написал:
Пока это больше выглядит как - а давайте вы мне объясните почему это так.
да, я многое не понимаю из того, как это работает, но я думал что для этого и существуют форумы, где такие "чайники" как я в вопросах PP  могут задавать может быть и такие глупые вопросы и получать по возможности объясняющие ответы...

ЗЫ используя ваш пример, а также примеры на форуме, решил задачу выбора мерой значения в зависимости от результатов сравнения значения самой меры с суммой значений по номенклатуре за выбранный период, а теперь вот начал сомневаться правильно ли она считает во всех контекстах...
Как найти 3 максимальные дневные суммы при группировке по месяцу и номенклатуре и среднее по ним
 
Сначала хотел выразить огромную благодарность Андрей VG, за помощь в освоении изложенных мною вопросов.

не много офф топ
Что касается изучения
Цитата
PooHkrd написал:
Просто это фундамент, без него любые готовые формулы для вас будут филькиной грамотой, даже если вы будете думать что вам все понятно.
я не согласен. Не обязательно знать устройство сотового телефона чтобы уметь по нему звонить...Есть разные методики освоения материала, но самая эффективная, на мой взгляд, - это использование реальных примеров и разбирать их на части для понимания как можно использовать в реальной жизни. Примером может быть изучение языка, можно учить грамматику и "Ланден из капитал...", но говорить вы от этого быстрее не будете, а вот изучение тех же песен и разделение их на фрагменты позволит быстрее научиться слушать и говорить. Да и вспомните как мы учим говорить детей, явно не с грамматики...
Так я освоил Excel, осваиваю PQ (в том числе по примерам на этом сайте) и надеюсь освою в рамках необходимого PP - я услышал о его существовании только 2 месяцев назад..у меня еще все впереди с Вашей помощью - )
Цитата
PooHkrd написал:
попробуйте вдумчиво разобраться вот в  этом .
я прочитал это, но не приблизился к ответу без реального примера...особенно прочитав про контекст запроса...я так и полагал что должна работать мера используя строки в качестве фильтра...буду еще перечитывать, но пока возникает больше вопросов...
Цитата
StepanWolkoff написал:
если я правильно понял, что вы хотите, то мера по срокам будет такой:Код ? 1SUMX('СрокПоставки';'СрокПоставки'[Срок]*[Avg3DayMax])
Спасибо, итог расчета такой же как и мера, предложенная Андрей VG.

Хотя Андрей VG, написал, что
Цитата
Андрей VG написал:
Из темы вышел.
осмелюсь на последний вопрос в этой теме: если итог расчета идентичный, зачем использовать столь сложную конструкцию
Код
Avg3DayMax:=AVERAGEX(
TOPN(3;
SUMMARIZE('ПЛАНЫ_ПРОИЗВОДСТВА'; 'Календарь'[Дата1]; 'ПЛАНЫ_ПРОИЗВОДСТВА'[Номенклатура]; "count sum month"; SUM('ПЛАНЫ_ПРОИЗВОДСТВА'[Количество]));
[count sum month]; 0; 'Календарь'[Дата1]; 1); [count sum month]
* LOOKUPVALUE('СрокПоставки'[Срок];  'СрокПоставки'[Номенклатура]; 'ПЛАНЫ_ПРОИЗВОДСТВА'[Номенклатура]))
?

Мера
Код
SUMX('СрокПоставки';'СрокПоставки'[Срок]*[Avg3DayMax])
может дать не верный результат?
Изменено: muxey - 20.02.2018 12:34:08
Страницы: 1 2 3 След.
Наверх