В стандартных сводных таблицах Excel есть опция для полей, которые позволяют принудительно отображать все элементы, даже если для текущего выбора нет результатов. Вот вариант:
Однако при использовании надстройки PowerPivot для Excel 2010 этот параметр неактивен. Есть ли обходной путь, чтобы я мог заставить все результаты появляться?
Пример сценария - количество проданных бананов по месяцам. Если я не продаю бананы в августе, то в таблице powerpivot столбец для августа вообще не отображается, он просто пропускает с июля по сентябрь. Мне нужно, чтобы появился август с пустым количеством бананов или с нулем.
Есть идеи? Может быть, требуется выражение DAX?
РЕДАКТИРОВАТЬ : чтобы ответить на вопрос Harrymc, я создал эту сводную таблицу, выбрав сводную таблицу из этого меню в окне PowerPivot.
Ответы:
На самом деле это лучшее решение. Спасибо Альберто Феррари за это.
Вам необходимо создать таблицу месяцев (т. Е. Список названий месяцев, январь / февраль / март и т. Д. - связанная таблица будет работать нормально) и создать связь между новой таблицей месяцев и таблицей фактов.
Затем напишите меру, как этот:
РЕДАКТИРОВАТЬ : Когда вы добавляете новый столбец месяцев в сводную таблицу, вы можете обнаружить, что сортировка по умолчанию расстраивает алфавитно; Апр, август, декабрь, февраль ... Вот отличный урок, показывающий, как обойти это.
источник
Обходной путь может быть возможным использовать выражение анализа данных (DAX) для замены пробелов нулями.
DAX может принудительно устанавливать ноль вместо пробела, если в таблице фактов нет данных, но вы хотите, чтобы строка отображалась в сводной таблице.
Для простого листа с Depts, Divisions и таблицей фактов Numbers и с одним столбцом «D», содержащим сумму для суммирования, напишите код DAX следующим образом:
Для получения дополнительной информации см .:
Как использовать DAX в выражениях анализа данных надстройки PowerPivot (DAX) в Excel
в PowerPivot.
Этот подход был первоначально предложен в теме Показать элементы без данных в строках .
источник
Units_2:=IF (COUNTROWS('FruitSales') > 0,IF(ISBLANK (SUM (FruitSales[Units])), 0, SUM (FruitSales[Units])))
. Сводная таблица просто показывает единицы, проданные в июле и сентябре.Метод грубой силы должен был бы создать меру для каждого месяца. Пока один из столбцов месяца содержит некоторые данные, будут отображаться все столбцы месяца. Создание всех этих отдельных мер очень утомительно, но не идеально.
источник
это работает для меня:
= Если (сумма (каландр [Дата])> 0; если (ISBLANK (сумма (Sales_SalesOrderDetail [LineTotal])); 0; сумма (Sales_SalesOrderDetail [LineTotal])))
источник
calendar[Date]
пришел? Это не в моем примере сценария, так как вы добавили это и как эта таблица связана в PowerPivot?