2017-07-21 3 views
1

J'utilise PivotTable.js pour faire pivoter certaines données pour un rapport. Dans le rapport, j'ai besoin d'afficher les lignes pour lesquelles la somme globale est zéro, et j'aimerais afficher ce zéro dans la colonne des totaux. Lors de l'utilisation de aggregatorTemplates.sum, la somme agrégée des zéros semble être une cellule noire. Je me demande s'il existe un moyen de rendre le zéro?PivotTable.js - l'agrégateur sum n'affiche pas de zéros

Un exemple simplifié de ce que je fais est

var sum = $.pivotUtilities.aggregatorTemplates.sum; 
var numberFormat = $.pivotUtilities.numberFormat; 
var intFormat = numberFormat({digitsAfterDecimal: 0}); 

$("#output").pivot(
    [ 
    {color: "green", shape: "null", value: 0}, 
    {color: "blue", shape: "circle", value: 1}, 
    {color: "red", shape: "triangle", value: 2}, 
    {color: "blue", shape: "circle", value: 3}, 
    {color: "red", shape: "triangle", value: 4} 
    ], 
    { 
    rows: ["color"], 
    cols: ["shape"], 
    aggregator: sum(intFormat)(["value"]) 
    } 
); 

Ceci est l'exemple de https://pivottable.js.org/examples/simple_agg.html, modifié pour illustrer la question que je suis confronté. Ceci est également disponible dans un violon https://jsfiddle.net/rgs258/dky0hh1y/. En tant que question secondaire, je me demande s'il existe un moyen de cacher la colonne 'null' dans mon exemple?

Toute aide ou conseil pour résoudre ce problème est apprécié.

Répondre

0

(je suis l'auteur de la bibliothèque :)

Vous pouvez remplacer le nombre intégré le formatage (qui cache les zéros) en créant un fichier de paramètres régionaux: https://github.com/nicolaskruchten/pivottable/wiki/Localization

Vous pouvez cacher les colonnes null en utilisant les paramètres filter ou exclusions: https://github.com/nicolaskruchten/pivottable/wiki/Parameters

+0

Désolé, mais votre documentation sur les fichiers de paramètres régionaux ne dit rien de ne pas masquer les zéros. Pouvez-vous s'il vous plaît fournir un exemple d'un tableau croisé dynamique qui montre toutes les cellules, indépendamment de la valeur? –

+0

Si vous pouviez mettre à jour ce violon, ce serait génial. https://jsfiddle.net/dky0hh1y/1/ –

+0

La documentation de localisation montre comment vous pouvez remplacer la mise en forme des nombres pour qu'elle soit ce que vous voulez qu'elle soit. Je devrais également noter que le comportement par défaut a changé depuis que cette réponse a été postée, et les zéros sont maintenant montrés pour toutes les cellules avec des données. Les cellules sans données ne montrent jamais rien et il n'y a aucun moyen de les forcer. – nicolaskruchten