Filtro de tabela dinâmica

0

Abaixo está uma representação simples de dados enormes e sua tabela dinâmica

Dados

+------+------+
| Proj | Data |
+------+------+
| ABC  | S    |
| ABC  | U    |
| ABC  | S    |
| ABC  | U    |
| ABC  | U    |
| XYZ  | U    |
| XYZ  | U    |
| XYZ  | U    |
| XYZ  | U    |
| XYZ  | U    |
+------+------+

Quando aplicamos tabela dinâmica a esses dados,
Rótulo Coulumn - Proj
Rótulo de Linha - Dados
Valor - Dados

Recebemos

+-------+---+---+-------+
| Proj  | S | U | Total |
+-------+---+---+-------+
| ABC   | 2 | 3 |     5 |
| XYZ   |   | 5 |     5 |
| Total | 2 | 8 |    10 |
+-------+---+---+-------+

Como podemos mostrar o resultado abaixo,
usando combinação de filtros de valores e filtros de rótulos em rótulos de coluna | e sem usar filtros de rótulo de linha (não será possível, pois os dados originais têm muitos rótulos de linha)

+-------+---+---+-------+
| Proj  | S | U | Total |
+-------+---+---+-------+
| ABC   | 2 | 3 |     5 |
| Total | 2 | 3 |     5 |
+-------+---+---+-------+

Obrigado!

    
por OT5 06.03.2015 / 17:27

1 resposta

0

Eu acho que você pode fazer esse filtro legal no Excel 2010 também (enquanto eu estiver usando 2013).

UPDATE

Estecódigofazisso:

Subhide_pivot_items()DimptAsPivotTableSetpt=ActiveSheet.PivotTables("PivotTable2")
Dim cell As Range

For Each cell In pt.PivotFields("Data").PivotItems("S").DataRange
    If cell.Value = vbNullString Then
        'hiding row
        pt.PivotFields("Proj").PivotItems(ThisWorkbook.ActiveSheet.Cells( _
            cell.Row, pt.PivotFields("Proj").DataRange.Column).Value).Visible = False
    End If
Next
End Sub

Use apenas o nome real da tabela dinâmica em vez de PivotTable2 na terceira linha.

    
por 15.03.2015 / 05:37