Додавання обчислених стовпців до Excel Pivot без деталей


1

Чи є спосіб додати обчислене поле, яке застосовуватиметься лише до загального стовпця, не додаючи зайвих деталей для кожного елемента стовпця?

Розглянемо наступний приклад.

Дані такі:

Year    Product     Units   Price   Revenue
2013    Porduct A   100     1.5     150
2013    Porduct B   150     1.6     225
2013    Porduct C   200     1.7     300
2013    Porduct D   250     1.8     375
2013    Porduct E   300     1.9     450
2014    Porduct A   150     1.5     225
2014    Porduct B   200     1.6     300
2014    Porduct C   250     1.7     375
2014    Porduct D   300     1.8     450
2014    Porduct E   350     1.9     525

Отриманий стрижень такий:

Отриманий результат

Тепер, скажімо, я хочу додати 10% знижку на кожен товар, проте коли я додаю розраховане поле, я отримую непотрібні дані про знижки на кожен рік окремо:

Зведення з обчисленими полями

Мені дуже хочеться позбутися деталей з року в рік і залишити розрахунок лише для загальної кількості:

Бажаний вихід

Але я хотів би досягти цього, не ховаючи стовпчиків, а просто додаючи поле, як я б зазвичай не робив без зсуву. Причина в тому, що може бути багато наступних обчислень, які я хотів би виконати, не роблячи зріст горизонтально зростати (особливо, коли я роблю аналіз місяць за місяцем, він розширює отриману таблицю на 12 стовпців щоразу, коли розрахункове поле є додано.


Чи можете ви додати спеціальне розраховане поле, яке є формулою, яка підсумовує знижку? Скажіть, роблячи обчислення в цьому полі та показуючи результат? Або вам потрібні результати доступних кроків, щоб побачити, але хочете їх нормально приховати?
Райстафаріан

@Raystafarian, мені потрібні результати кроків, але лише для підсумків. Поле зі знижкою в даний час є полем, розрахованим на замовлення. Поки він вирішує проблему, він також додає непотрібні стовпці.
turezky

Відповіді:


1

Нестандартні зведені таблиці не дозволяють цього робити.

По-перше, я опишу, як ви могли обійти це за допомогою звичайних зведених таблиць, по-друге, я покажу вам, як ви можете досягти цього за допомогою додатка PowerPivot.


Варіант 1: Дві стандартні зведені таблиці

Я вирішував би це питання, просто сидячи дві зведені таблиці поруч, одна з роками як мітка стовпця, а одна без (ця друга таблиця сидить на один ряд нижче, щоб вони вишикувалися).

Вам потрібно переконатися, що стовпці міток рядків відсортовані та відфільтровані однаково. Тоді ви можете просто заховати стовпчик міток на другій таблиці.

введіть тут опис зображення

(На цьому скріншоті я вручну додав мітки "Всього" у рядку 3)


Варіант 2: Використання PowerPivot

Використовуючи PowerPivot та DAX, ви можете створити всі ці стовпці як окремі заходи, щоб ви могли точно контролювати застосовані фільтри.

Спочатку переконайтеся, що у вас встановлено PowerPivot - Excel не постачається з ним, окрім деяких видань Excel 2013. Я не буду проходити процес встановлення, але швидкий пошук повинен допомогти, якщо ви застрягли.

Виберіть діапазон даних та натисніть Create Linked Tableна панелі інструментів PowerPivot.

введіть тут опис зображення

З'явиться зелене вікно PowerPivot. За замовчуванням ваша таблиця отримає просто ім'я Table1 - давайте перейменовано її ProductSales, щоб зробити її більш значущою.

введіть тут опис зображення

Клацніть PivotTableкнопку посередині зеленої стрічки та розмістіть її куди завгодно. Тепер нам потрібно створити деякі заходи. PowerPivot використовує тип коду під назвою DAX (Аналіз даних eXpressions), який дуже схожий на звичайні формули Excel.

Поверніться в Excel, почніть з додавання продукту до Row Labelsсвоєї PivotTable. Тепер натисніть New Measureкнопку на вкладці стрічки PowerPivot.

У вікні встановіть Measure name (all PivotTables)для Units Total і в Descriptionвільному текстовому полі введіть:

=sum(ProductSales[Units])

введіть тут опис зображення

Створіть ще один захід, який називається одиницями 2013 року . Введіть цей код:

=CALCULATE([Units Total],ProductSales[Year]=2013)

введіть тут опис зображення

CALCULATE()Функція DAX дозволяє застосовувати (кілька) фільтрів до агрегированной вираження - так що тут ми фільтрування одиниць загальною заходи ми тільки що створили, у відповідному році. Повторіть для одиниць 2014 року , а потім повторіть те ж саме для загальної суми доходу , доходу 2013 та доходу 2014 року .

Тепер ви можете замовляти та відформатувати свої стовпці за своїм бажанням - щоб імітувати свої знімки екрана вище, я вручну встановив стовпці 2013 та 2014 років на сірий колір.

введіть тут опис зображення


На жаль, приховування не вирішить проблему, оскільки це в основному той самий спосіб вирішення, який я зараз використовую (і без ризику, що деякі рядки / стовпці будуть невідповідними. З іншого боку, PowerPivot може бути не надмірним зрештою. Якщо це може вирішити Я думаю, що проблема з PowerPivot полягає в тому, що він повинен бути встановлений на інших комп'ютерах, якщо вони захочуть маніпулювати таблицею
turezky

Отже, як це зробити з PowerPivot? Я щойно додав міру, але це дає такий же результат.
turezky

Я розширив свою відповідь, щоб показати рішення PowerPivot.
Andi Mohr

Таким чином, це в основному означає вручну створювати записи на кожен рік. Це швидке рішення для даного випадку, але воно може стати вибором, коли стовпці місяці або коли вони є більш довгим списком (імена, регіони тощо), які слід генерувати автоматично.
turezky

Так, у обох є слабкі місця. Якщо у вас є багато стовпців, для чого вам потрібно це зробити, я б запропонував перший варіант - найкращий. Маючи трохи VBA, ви можете застосувати загальне сортування на обох таблицях.
Andi Mohr,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.