Excel 2010 PowerPivot: как отобразить элементы без данных?

в стандартных сводных таблицах Excel есть опция для полей, которые позволяют принудительно отображать все элементы, даже если нет результатов для текущего выбора. Вот такой вариант:

Pivot Table Field Settings Dialog box

однако при использовании надстройки PowerPivot для Excel 2010 этот параметр недоступен. Есть ли обходной путь, чтобы я мог заставить все результаты появиться?

пример сценария - количество бананов, проданных в месяц. Если я не продам бананы в августе таблица powerpivot не отображает столбец для августа вообще, он просто пропускает с июля по сентябрь. Мне нужно, чтобы появился август с пустым количеством бананов или нулем.

какие идеи? Требуется ли Дакса выражение?

EDIT: чтобы ответить на вопрос harrymc, я создал эту сводную таблицу, выбрав сводную таблицу из этого меню в окне PowerPivot.

PowerPivot PivotTable insert menu

26
задан Andi Mohr
08.03.2023 10:31 Количество просмотров материала 3454
Распечатать страницу

4 ответа

на самом деле это лучшее решение. Спасибо Alberto Ferrari для этого.

вам нужно построить таблицу месяцев (т. е. список имен месяцев, январь / февраль / март и т. д. -a связанная таблица будет работать просто отлично), и создать связь между таблицей новых месяцев и таблицей фактов.

затем напишите измерения, как этот:

NeverBlankUnits:=IF( ISBLANK( SUM(FruitSales[Units]) )
                      , 0
                      , SUM(FruitSales[Units]) 
                   )

редактировать: при добавлении столбца новые месяцы в сводную таблицу можно найдите сортировку по умолчанию в алфавитном порядке; Apr, Aug, Dec, Feb... Вот такой большой учебник показывает вам, как обойти это.

5
отвечен Andi Mohr 2023-03-09 18:19

возможно использование выражения анализа данных (DAX) заменить пробелы нулями.

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

для простого листа с Depts, Divisions и таблицей фактов с именем Numbers, и с одной колонки "D", содержащий номер сумма, напишите код DAX следующим образом:

=IF (
    COUNTROWS (Divisions) > 0; 
    IF (ISBLANK (SUM (Numbers[D])), 0, SUM (Numbers[D]))
)

для получения дополнительной информации см. :

как использовать DAX в надстройке PowerPivot Excel

выражения анализа данных (DAX) в PowerPivot

этот подход изначально предлагался в потоке показать элементы без данных о строках.

0
отвечен harrymc 2023-03-09 20:36

метод грубой силы будет заключаться в создании меры для каждого месяца. Пока один из столбцов месяца содержит некоторые данные, будут отображаться все столбцы месяца. Создание всех этих индивидуальных мер очень утомительно, хотя и не идеально.

=CALCULATE(
   SUM([Units])
   ,Filter('FruitSales',[Month Name]="August")
   )
0
отвечен Andi Mohr 2023-03-09 22:53

это работает для меня:

=if(sum(calender[Date])>0;if(isblank(sum(Sales_SalesOrderDetail[LineTotal]));0;sum(Sales_SalesOrderDetail[LineTotal])))

0
отвечен Jens 2023-03-10 01:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх