Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Общий Итог по столбца в PowerPivot - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Общий Итог по столбца в PowerPivot (Формулы/Formulas)
Общий Итог по столбца в PowerPivot
DJ_Marker_MC Дата: Вторник, 03.01.2017, 16:32 | Сообщение № 1
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Коллеги и друзья, всем привет.
Уже битый час бьюсь над одной на первый взгляд простой задачей и уже готов разбить монитор из за того что не могу додуматься как решить проблему.
Прошу помощи.

У меня есть предположим две таблицы связанных между собой в PowerPivot - одна Календарь, друга продажи.
в продажах создана мера Сумма по продажам, таблицы связаны по дате.
При построении сводной таблицы на листе Excel вкидываем в строки группы товара, в столбцы месяц, в значение меру Сумма продаж.

Мне теперь нужно создать меру СРЕДНИЕ ПРОДАЖИ предположим по всем имеющимся месяца, для этого необходимо как минимум получить общий итог по всем имеющимся столбцам с помощью Меры и формулы DAX что то вроде этого:
Код
српр:=CALCULATE(SUMMARIZE('Календарь';'Календарь'[Месяц];"SR";[Продажи_шт]/5))

Но оно нифига не хочет работать

А второй вариант который работает в PowerPivot (то есть вычисление все таки происходит внутри pp), не позволяет почему то добавить эту меру на лист excel
Код
српр2:=SUMMARIZECOLUMNS("SR";[Продажи_шт]/5)


Цель получить такой же столбец как Общий Итог только с помощью меры без развертывания на месяцы.

Буду благодарен за помощь либо подсказку как это сделать.
Файл с примером и НЕРАБОЧИМИ мерами в приложении.

p.s. хочу сделать именно как то так, но где то что то не так прописываю видимо в первом варианте. Все похоже формулы (по типу ADDCOLUMNS) уже перепробовал.
p.s.2. проект powerpivot сделан в excel 13-16 и в 10-й версии не откроется.
К сообщению приложен файл: 2016776.rar (68.0 Kb)


Сообщение отредактировал DJ_Marker_MC - Вторник, 03.01.2017, 16:34
 
Ответить
СообщениеКоллеги и друзья, всем привет.
Уже битый час бьюсь над одной на первый взгляд простой задачей и уже готов разбить монитор из за того что не могу додуматься как решить проблему.
Прошу помощи.

У меня есть предположим две таблицы связанных между собой в PowerPivot - одна Календарь, друга продажи.
в продажах создана мера Сумма по продажам, таблицы связаны по дате.
При построении сводной таблицы на листе Excel вкидываем в строки группы товара, в столбцы месяц, в значение меру Сумма продаж.

Мне теперь нужно создать меру СРЕДНИЕ ПРОДАЖИ предположим по всем имеющимся месяца, для этого необходимо как минимум получить общий итог по всем имеющимся столбцам с помощью Меры и формулы DAX что то вроде этого:
Код
српр:=CALCULATE(SUMMARIZE('Календарь';'Календарь'[Месяц];"SR";[Продажи_шт]/5))

Но оно нифига не хочет работать

А второй вариант который работает в PowerPivot (то есть вычисление все таки происходит внутри pp), не позволяет почему то добавить эту меру на лист excel
Код
српр2:=SUMMARIZECOLUMNS("SR";[Продажи_шт]/5)


Цель получить такой же столбец как Общий Итог только с помощью меры без развертывания на месяцы.

Буду благодарен за помощь либо подсказку как это сделать.
Файл с примером и НЕРАБОЧИМИ мерами в приложении.

p.s. хочу сделать именно как то так, но где то что то не так прописываю видимо в первом варианте. Все похоже формулы (по типу ADDCOLUMNS) уже перепробовал.
p.s.2. проект powerpivot сделан в excel 13-16 и в 10-й версии не откроется.

Автор - DJ_Marker_MC
Дата добавления - 03.01.2017 в 16:32
SLAVICK Дата: Вторник, 03.01.2017, 21:51 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
А если сделать доп столбец firstDayInMonth - тогда все просто:
Код
српр:=[Продажи_шт]/DISTINCTCOUNT([firstDayInMonth])
К сообщению приложен файл: 7470718.rar (71.5 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеА если сделать доп столбец firstDayInMonth - тогда все просто:
Код
српр:=[Продажи_шт]/DISTINCTCOUNT([firstDayInMonth])

Автор - SLAVICK
Дата добавления - 03.01.2017 в 21:51
DJ_Marker_MC Дата: Среда, 04.01.2017, 00:25 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
SLAVICK, спасибо, но это к сожалению не то. Среднее получить не сложно, но мне нужно получить ИТОГОВОЕ СРЕДНЕЕ при добавлении которого в поле "значение" не происходило развертывание до столбцов, но при этом чтоб месяц был добавлен в поля СТОЛБЦЫ.
Если интересно для чего это нужно, то это для расчета весьма не простой таблицы, у которой в поля ЗНАЧЕНИЯ добавлены Продажи за 3 месяца, с разбивкой на месяцы и Запас склада (тоже с разбивкой за 2 предыдущих и 1 текущий месяц), теперь я хочу получить средние продажи за 3 месяца в одном столбце, но при этом не нарушая все остальное, для этого мне нужно получить итоговый столбец с помощью dax (такой же как автоматическое поле Общий Итог).
 
Ответить
СообщениеSLAVICK, спасибо, но это к сожалению не то. Среднее получить не сложно, но мне нужно получить ИТОГОВОЕ СРЕДНЕЕ при добавлении которого в поле "значение" не происходило развертывание до столбцов, но при этом чтоб месяц был добавлен в поля СТОЛБЦЫ.
Если интересно для чего это нужно, то это для расчета весьма не простой таблицы, у которой в поля ЗНАЧЕНИЯ добавлены Продажи за 3 месяца, с разбивкой на месяцы и Запас склада (тоже с разбивкой за 2 предыдущих и 1 текущий месяц), теперь я хочу получить средние продажи за 3 месяца в одном столбце, но при этом не нарушая все остальное, для этого мне нужно получить итоговый столбец с помощью dax (такой же как автоматическое поле Общий Итог).

Автор - DJ_Marker_MC
Дата добавления - 04.01.2017 в 00:25
SLAVICK Дата: Среда, 04.01.2017, 09:54 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Или я не проснулся - или написано непонятно. %) .
что такое ИТОГОВОЕ СРЕДНЕЕ? - мое итоговое среднее не то (оно же не просто среднее)?
Покажите в примере - что нужно получить - вставьте просто текстовые значения рядом - а то не понятно(по крайней мере мне и утром :D )


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеИли я не проснулся - или написано непонятно. %) .
что такое ИТОГОВОЕ СРЕДНЕЕ? - мое итоговое среднее не то (оно же не просто среднее)?
Покажите в примере - что нужно получить - вставьте просто текстовые значения рядом - а то не понятно(по крайней мере мне и утром :D )

Автор - SLAVICK
Дата добавления - 04.01.2017 в 09:54
DJ_Marker_MC Дата: Среда, 04.01.2017, 09:55 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Решение придумал, но все равно не обошлось без дополнительного столбца.
Может кому пригодится.
Сначала в листе продажи делаем доп.стобец с датой которая не пересекается с текущими датами по продажам, как вариант сделать эту дату годом вперед с помощью формулы:
Код
=EOMONTH(TODAY();12)


После этого делаем еще одну связь на вкладке связи с календарем, эта связь будет неактивна, так как у нас уже календарь связан с нашей основной датой продаж.
После того как сделали эту доп связь создаем меру расчета среднего показателя (в моем примере за 5 месяцев, но это можно организоваться и просчетом формулы - вариаций много), так как у меня к-во месяцев - это статическая величина, то я не заморачивался:
Код
СредниеПродажи:=CALCULATE([Продажи_шт]/5;USERELATIONSHIP('Продажи'[Дата2];'Календарь'[Дата]))

USERELATIONSHIP - функция которая отвечает за активацию в текущей мере неактивной связи. На выходе работает именно так как мне нужно.

Но все равно остается 2 вопроса:
1. как сделать также без доп столбца?

2. С какого "Нового Года" не удается сделать тоже самое с помощью формулы:
Код
ср:=SUMMARIZECOLUMNS("Средние";[Продажи_шт]/5)

если точнее то удается, но только внутри PP


а если ее попытаться добавить в значения, то выдает ошибку:

И таким образом я не понимаю тогда где используется SUMMARIZECOLUMNS если в этом варианте не работает.
К сообщению приложен файл: 2903444.rar (72.2 Kb)
 
Ответить
СообщениеРешение придумал, но все равно не обошлось без дополнительного столбца.
Может кому пригодится.
Сначала в листе продажи делаем доп.стобец с датой которая не пересекается с текущими датами по продажам, как вариант сделать эту дату годом вперед с помощью формулы:
Код
=EOMONTH(TODAY();12)


После этого делаем еще одну связь на вкладке связи с календарем, эта связь будет неактивна, так как у нас уже календарь связан с нашей основной датой продаж.
После того как сделали эту доп связь создаем меру расчета среднего показателя (в моем примере за 5 месяцев, но это можно организоваться и просчетом формулы - вариаций много), так как у меня к-во месяцев - это статическая величина, то я не заморачивался:
Код
СредниеПродажи:=CALCULATE([Продажи_шт]/5;USERELATIONSHIP('Продажи'[Дата2];'Календарь'[Дата]))

USERELATIONSHIP - функция которая отвечает за активацию в текущей мере неактивной связи. На выходе работает именно так как мне нужно.

Но все равно остается 2 вопроса:
1. как сделать также без доп столбца?

2. С какого "Нового Года" не удается сделать тоже самое с помощью формулы:
Код
ср:=SUMMARIZECOLUMNS("Средние";[Продажи_шт]/5)

если точнее то удается, но только внутри PP


а если ее попытаться добавить в значения, то выдает ошибку:

И таким образом я не понимаю тогда где используется SUMMARIZECOLUMNS если в этом варианте не работает.

Автор - DJ_Marker_MC
Дата добавления - 04.01.2017 в 09:55
SLAVICK Дата: Среда, 04.01.2017, 10:14 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
если точнее то удается, но только внутри PP

может я чего не понял, но Вы смотрели мой пример?

Та же цифра %) .
К сообщению приложен файл: 6208684.jpg (38.5 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
если точнее то удается, но только внутри PP

может я чего не понял, но Вы смотрели мой пример?

Та же цифра %) .

Автор - SLAVICK
Дата добавления - 04.01.2017 в 10:14
DJ_Marker_MC Дата: Среда, 04.01.2017, 10:22 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
SLAVICK, Вы не поняли. Мне нужно чтоб при добавлении меры в ЗНАЧЕНИЯ не происходило разделение помесячно, но при этом чтоб поле МЕСЯЦ был в столбцах.
Обратите внимание, у Вас в примере добавлена одна мера СРЕДНИЕ, а у меня добавлено в значение два поля - продаж и средние. Продажи развернуты помесячно, а среднее сжато в один столбец.
 
Ответить
СообщениеSLAVICK, Вы не поняли. Мне нужно чтоб при добавлении меры в ЗНАЧЕНИЯ не происходило разделение помесячно, но при этом чтоб поле МЕСЯЦ был в столбцах.
Обратите внимание, у Вас в примере добавлена одна мера СРЕДНИЕ, а у меня добавлено в значение два поля - продаж и средние. Продажи развернуты помесячно, а среднее сжато в один столбец.

Автор - DJ_Marker_MC
Дата добавления - 04.01.2017 в 10:22
SLAVICK Дата: Среда, 04.01.2017, 10:54 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Вы не поняли.

о теперь понял - что нужно чтоб было одним столбцом, но не понял зачем.
Ведь у меня те же цифры в итоге выходят. В месяце продажи за месяц, в итоге - сумма продаж / к-во месяцев.
Кроме того если будет какого-то товара не 5, а 4-е месяца - моя формула посчитает, а Ваша - просто разделит на 5....

Тогда уже замените
[vba]
Код
CALCULATE([Продажи_шт]/5;USERELATIONSHIP('Продажи'[Дата2];'Календарь'[Дата]))
[/vba]на [vba]
Код
CALCULATE([Продажи_шт]/DISTINCTCOUNT('Продажи'[Дата2]);USERELATIONSHIP('Продажи'[Дата2];'Календарь'[Дата]))
[/vba]

а
[vba]
Код
EOMONTH(TODAY();12)
[/vba]на[vba]
Код
EOMONTH([Дата];100)
[/vba]
К сообщению приложен файл: 5038527.rar (72.2 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Вы не поняли.

о теперь понял - что нужно чтоб было одним столбцом, но не понял зачем.
Ведь у меня те же цифры в итоге выходят. В месяце продажи за месяц, в итоге - сумма продаж / к-во месяцев.
Кроме того если будет какого-то товара не 5, а 4-е месяца - моя формула посчитает, а Ваша - просто разделит на 5....

Тогда уже замените
[vba]
Код
CALCULATE([Продажи_шт]/5;USERELATIONSHIP('Продажи'[Дата2];'Календарь'[Дата]))
[/vba]на [vba]
Код
CALCULATE([Продажи_шт]/DISTINCTCOUNT('Продажи'[Дата2]);USERELATIONSHIP('Продажи'[Дата2];'Календарь'[Дата]))
[/vba]

а
[vba]
Код
EOMONTH(TODAY();12)
[/vba]на[vba]
Код
EOMONTH([Дата];100)
[/vba]

Автор - SLAVICK
Дата добавления - 04.01.2017 в 10:54
DJ_Marker_MC Дата: Среда, 04.01.2017, 11:43 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
SLAVICK, все верно, как я и писал выше мне нужно именно деление на четкое к-во месяцев - чтоб понимать реальное среднее за 5 месяцев, а не среднее по тем месяцам где была продажа.
А все же без до.столбца такого же решения не видите? и где применяется формула про которую я выше написал, почему она не работает на листе ексель? - я лично так и не нашел ответа в инете
Код
ср:=SUMMARIZECOLUMNS("Средние";[Продажи_шт]/5)


Сообщение отредактировал DJ_Marker_MC - Среда, 04.01.2017, 11:43
 
Ответить
СообщениеSLAVICK, все верно, как я и писал выше мне нужно именно деление на четкое к-во месяцев - чтоб понимать реальное среднее за 5 месяцев, а не среднее по тем месяцам где была продажа.
А все же без до.столбца такого же решения не видите? и где применяется формула про которую я выше написал, почему она не работает на листе ексель? - я лично так и не нашел ответа в инете
Код
ср:=SUMMARIZECOLUMNS("Средние";[Продажи_шт]/5)

Автор - DJ_Marker_MC
Дата добавления - 04.01.2017 в 11:43
SLAVICK Дата: Пятница, 06.01.2017, 13:41 | Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
где применяется формула про которую я выше написал

похоже ответ тут


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
где применяется формула про которую я выше написал

похоже ответ тут

Автор - SLAVICK
Дата добавления - 06.01.2017 в 13:41
anvg Дата: Понедельник, 09.01.2017, 10:36 | Сообщение № 11
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток.
Цитата
создать меру СРЕДНИЕ ПРОДАЖИ предположим по всем имеющимся месяца
Если подразумевается, что это одностолбцовая мера, выводимая только в итогах то так.
[vba]
Код
IF(HASONEFILTER('Календарь'[Месяц]);BLANK();
    DIVIDE(SUM('Продажи'[Кво]);
        CALCULATE(DISTINCTCOUNT('Календарь'[Месяц]); 'Продажи'); BLANK()
    )
)
[/vba]
Правда, в этом случае нужно определить правило отображения набора, иначе пустые помесячные значения средней продажи будут отображаться в любом случае.
[vba]
Код
{([Календарь].[Месяц].Members,[Measures].[Продажи шт]),([Календарь].[Месяц].[All],[Measures].[Сред_мес_прод_шт])}
[/vba]

Успехов.
P. S. Пример сделан в 2010 ;) (Данные передёрнул через Power BI Desktop).
К сообщению приложен файл: _2010.zip (79.7 Kb)


Сообщение отредактировал anvg - Понедельник, 09.01.2017, 10:38
 
Ответить
СообщениеДоброе время суток.
Цитата
создать меру СРЕДНИЕ ПРОДАЖИ предположим по всем имеющимся месяца
Если подразумевается, что это одностолбцовая мера, выводимая только в итогах то так.
[vba]
Код
IF(HASONEFILTER('Календарь'[Месяц]);BLANK();
    DIVIDE(SUM('Продажи'[Кво]);
        CALCULATE(DISTINCTCOUNT('Календарь'[Месяц]); 'Продажи'); BLANK()
    )
)
[/vba]
Правда, в этом случае нужно определить правило отображения набора, иначе пустые помесячные значения средней продажи будут отображаться в любом случае.
[vba]
Код
{([Календарь].[Месяц].Members,[Measures].[Продажи шт]),([Календарь].[Месяц].[All],[Measures].[Сред_мес_прод_шт])}
[/vba]

Успехов.
P. S. Пример сделан в 2010 ;) (Данные передёрнул через Power BI Desktop).

Автор - anvg
Дата добавления - 09.01.2017 в 10:36
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Общий Итог по столбца в PowerPivot (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!