Excel 2010 PowerPivot: come posso mostrare gli articoli senza dati?


12

Nelle tabelle pivot di Excel standard, è disponibile un'opzione per i campi che consente di forzare la visualizzazione di tutti gli elementi anche se non ci sono risultati per la selezione corrente. Ecco l'opzione:

Finestra di dialogo Impostazioni campo tabella pivot

Tuttavia, utilizzando il componente aggiuntivo PowerPivot per Excel 2010 questa opzione è disattivata. Esiste una soluzione alternativa per poter forzare la visualizzazione di tutti i risultati?

Scenario di esempio: numero di banane vendute per mese. Se non vendo banane ad agosto, la tabella powerpivot non mostra affatto una colonna per agosto, salta da luglio a settembre. Ho bisogno che appaia August, con un numero di banane vuoto o zero.

Qualche idea? Forse è necessaria un'espressione DAX?

EDIT : per rispondere alla domanda di harrymc, ho creato questa tabella pivot selezionando la tabella pivot da questo menu nella finestra di PowerPivot.

Menu di inserimento della tabella pivot di PowerPivot


In un set di dati PowerPivot non è possibile aggiungere elementi senza dati, pertanto è naturale che "Mostra elementi senza dati" sia disattivato. Stai usando una tabella pivot piatta come descritto qui ?
harrymc,

Grazie per la risposta harrymc, non sto usando una tabella pivot appiattita, ho usato una tabella pivot standard (vedi immagine sopra).
Andi Mohr,

Sul tuo primo punto, non sono sicuro di averti capito correttamente. Dici che non puoi aggiungere articoli senza dati, tuttavia il mio set di dati include le vendite di agosto per le mele. Ciò significherebbe normalmente abilitare "Mostra articoli senza dati" mostra la colonna di agosto. Stai dicendo che le tabelle pivot che estraggono dai dati PowerPivot si comportano in modo diverso rispetto a qualsiasi altra origine dati?
Andi Mohr,

Risposte:


5

In realtà questa è una soluzione migliore. Grazie a Alberto Ferrari per questo.

È necessario creare una tabella dei mesi (ovvero un elenco di nomi di mesi, gennaio / febbraio / marzo ecc. - Una tabella collegata funzionerà perfettamente) e creare una relazione tra la nuova tabella dei mesi e la tabella dei fatti.

Quindi scrivi una misura come questa:

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

EDIT : quando aggiungi la colonna dei nuovi mesi nella tabella pivot, potresti scoprire che l'ordinamento predefinito è frustrante in ordine alfabetico; Apr, Aug, Dec, Feb ... Ecco un ottimo tutorial che ti mostra come aggirare questo.


0

Una soluzione alternativa potrebbe essere possibile utilizzare una Data Analysis Expression (DAX) per sostituire gli spazi vuoti con zero.

DAX può forzare uno zero anziché uno spazio vuoto quando non esistono dati nella tabella dei fatti ma si desidera che la riga appaia nella tabella pivot.

Per un semplice foglio di lavoro con Depts, Divisioni e una tabella dei fatti denominata Numbers e con una singola colonna "D" contenente un numero da sommare, scrivere il codice DAX in questo modo:

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

Per ulteriori informazioni, consultare:
Come utilizzare DAX nel componente aggiuntivo PowerPivot di Excel
espressioni di analisi dei dati del componente (DAX) in PowerPivot

Questo approccio è stato originariamente suggerito nella discussione Mostra elementi senza dati sulle righe .


Grazie - sto solo guardando questo approccio per vedere se riesco a farlo funzionare. La prima cosa che ho notato è un piccolo errore di battitura nella formula: hai un punto e virgola anziché una virgola. (Come nel post originale di Alberto Ferrari sul link.)
Andi Mohr,

Purtroppo questo non sembra fare il trucco. Ho adattato la formula come segue: Units_2:=IF (COUNTROWS('FruitSales') > 0,IF(ISBLANK (SUM (FruitSales[Units])), 0, SUM (FruitSales[Units]))). La tabella pivot mostra solo le unità vendute a luglio e settembre.
Andi Mohr,

Se non è possibile trovare un'altra soluzione, ciò che resta è Appiattire la tabella pivot in un foglio di calcolo locale. L' articolo che ho collegato prima potrebbe aiutare.
harrymc,

0

Un metodo di forza bruta sarebbe quello di creare una misura per ogni mese. Finché una delle colonne del mese contiene alcuni dati, verranno visualizzate tutte le colonne del mese. La creazione di tutte queste misure individuali è molto noiosa, ma non ideale.

=CALCULATE(
   SUM([Units])
   ,Filter('FruitSales',[Month Name]="August")
   )

0

questo funziona per me:

= Se (somma (calendario [Data])> 0; if (ISBLANK (somma (Sales_SalesOrderDetail [LineTotal])); 0; sum (Sales_SalesOrderDetail [LineTotal])))


Da dove calendar[Date]viene? Non è nel mio scenario di esempio, quindi come hai aggiunto questo e come è collegata questa tabella in PowerPivot?
Andi Mohr,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.