I temi dei report consentono di applicare una combinazione di colori a un intero report, ad esempio i colori aziendali, i colori della stagione o qualunque altra combinazione di colori. Quando si applica un tema del report, tutti gli oggetti visivi del report usano i colori del tema selezionato, salvo alcuni casi particolari descritti più avanti in questo articolo.

Per applicare un tema del report è necessario un file JSON, con una struttura di base, da importare in Power BI Desktop e applicare al report. La struttura del file JSON è immediata e semplice, così come il processo di importazione, che richiede solo pochi clic.

A partire dalla versione di settembre 2017 di Power BI Desktop, è possibile definire ancora più elementi dei temi dei report usando un file JSON e personalizzare (e standardizzare) quasi tutti gli elementi usando il file JSON che è possibile modificare manualmente nel riquadro Formattazione. L'obiettivo della versione di settembre 2017 (e successive) è di consentire il controllo completo sull'aspetto dei report, a un livello granulare.

Abilitare i temi dei report in anteprima

La nuova funzionalità dei temi dei report sarà disponibile a partire dalla versione di marzo 2017 di Power BI Desktop. Per abilitare questa funzionalità di anteprima, selezionare File > Opzioni e impostazioni > Opzioni > Funzionalità di anteprima, quindi selezionare la casella di controllo accanto a Temi del report personalizzato. Dopo aver effettuato la selezione è necessario riavviare Power BI Desktop.

Come funzionano i temi dei report

Per applicare un tema a un report di Power BI Desktop, selezionare il pulsante Cambia tema nella scheda Home sulla barra multifunzione, quindi selezionare Importa tema nell'elenco a discesa.

Viene visualizzata una finestra che consente di passare al percorso del file del tema JSON. Power BI Desktop cerca i file con estensione JSON, il tipo di file per i temi dei report di Power BI. Nell'immagine seguente sono disponibili alcuni file di temi per le festività. Ne scegliamo uno corrispondente a una festività che cade nel mese di marzo.

Al termine del caricamento del file del tema, Power BI Desktop visualizza una notifica.

Ora che il file del tema è stato importato, osserviamo la struttura semplice e lineare del file JSON.

Struttura di un file JSON di tema del report

Il file JSON di base selezionato nella sezione precedente, ovvero St Patricks Day.json, ha un aspetto simile al seguente quando viene aperto in un editor.

Quel file JSON include le righe obbligatorie seguenti:

  • name: corrisponde al nome del tema ed è l'unico campo obbligatorio.
  • dataColors: elenco di codici colore hexcode da usare per i dati negli oggetti visivi di Power BI Desktop. L'elenco può contenere tutti i colori necessari in base alle esigenze.
  • background, foreground e tableAccent: questi valori sono i colori da usare negli oggetti visivi tabella e matrice. Il modo in cui vengono usati questi colori dipende dallo stile di tabella o matrice applicato. Gli oggetti visivi tabella e matrice applicano questi stili per impostazione predefinita.

Per applicare uno stile a un oggetto visivo tabella o matrice, selezionare l'oggetto visivo e nel riquadro Visualizzazioni selezionare la sezione Formato, quindi espandere Stile della matrice e selezionare uno stile nell'elenco a discesa Stile.

Per agevolare le operazioni di copia-incolla per creare un file JSON personalizzato, ecco il testo del file St Patricks Day.json:

{
    "name": "St Patricks Day",
    "dataColors": ["#568410", "#3A6108", "#70A322", "#915203", "#D79A12", "#bb7711", "#114400", "#aacc66"],
    "background":"#FFFFFF",
    "foreground": "#3A6108",
    "tableAccent": "#568410"
}

Da qui è possibile immettere il codice colore hexcode personalizzato per i colori selezionati.

A partire dalla versione di settembre 2017 di Power BI Desktop, il file JSON può essere molto più elaborato. Nel file JSON è possibile definire solo la formattazione che si vuole modificare e per tutto ciò che non è specificato nel file JSON vengono semplicemente ripristinate le impostazioni predefinite di Power BI.

I vantaggi della creazione di un file JSON sono molti. È ad esempio possibile specificare che tutti i grafici devono usare le dimensioni del carattere 12 o che determinati oggetti visivi devono usare una particolare famiglia di caratteri oppure disattivare le etichette dati per tipi di grafici specifici.

Poiché è possibile usare un file JSON granulare, si può creare un file dei temi che standardizza i grafici e i report, facilitando la coerenza dei report.

Per informazioni sul formato del file JSON dettagliato, vedere la sezione Formato di file JSON dei temi dei report alla fine di questo articolo.

Permanenza dei colori del tema nei report

Quando il report viene pubblicato nel servizio Power BI, i colori del tema restano applicati al report.

Inoltre, i colori nella sezione Colori dati del riquadro Formato riflettono il tema del report. Ad esempio, dopo aver applicato le moltissime tonalità di verde e marrone incluse nel tema St. Patrick's Day, quando si seleziona un oggetto visivo e si passa a Formato > Colori dati viene visualizzato quanto segue.

Come si nota, sono presenti molte sfumature di colore verde. Quei colori facevano appunto parte del tema del report che è stato importato e applicato.

Casi in cui i colori del tema non rimangono applicati ai report

Se si applica un set di colori personalizzato (o un singolo colore) a un particolare punto dati in un oggetto visivo, l'applicazione di un tema del report non sostituisce quel colore personalizzato per il punto dati.

Inoltre, se il colore di un punto dati è stato impostato manualmente usando la sezione Colori tema della tavolozza dei colori, quel colore non verrà aggiornato quando si applica un nuovo tema del report. Per ripristinare i colori predefiniti, in modo che vengano aggiornati quando si applica un nuovo tema del report, è possibile selezionare Ripristina valori predefiniti nella tavolozza Colori tema.

Inoltre, a molti oggetti visivi personalizzati non vengono applicati i temi dei report.

File di temi dei report pronti all'uso

Si vuole provare subito a usare i temi dei report? Ottimo! Ecco alcuni file JSON di temi dei report che è possibile scaricare e importare in un report di Power BI Desktop, con un'immagine del tema applicato al report usato in questo articolo.

  • Infine, ecco Valentine's Day, un delizioso tema dedicato al giorno di San Valentino.

Invece di un download, in questo caso mettiamo a disposizione il codice per il file JSON:

{
    "name": "Valentine's Day",
    "dataColors": ["#990011", "#cc1144", "#ee7799", "#eebbcc", "#cc4477", "#cc5555", "#882222", "#A30E33"],
    "background":"#FFFFFF",
    "foreground": "#ee7799",
    "tableAccent": "#990011"
}

Con i temi dei report è possibile aggiungere un tocco creativo ai report di Power BI Desktop applicando i colori preferiti dall'utente o dall'organizzazione o quelli caratteristici di una stagione o di una festività. Buon lavoro e buon divertimento!

Formato di file JSON dei temi dei report

Il file JSON di base ha cinque righe obbligatorie:

  • name: corrisponde al nome del tema ed è l'unico campo obbligatorio.
  • dataColors: elenco di codici colore hexcode da usare per i dati negli oggetti visivi di Power BI Desktop. L'elenco può contenere tutti i colori necessari in base alle esigenze.
  • background, foreground e tableAccent: questi valori sono i colori da usare negli oggetti visivi tabella e matrice. Il modo in cui vengono usati questi colori dipende dallo stile di tabella o matrice applicato. Gli oggetti visivi tabella e matrice applicano questi stili per impostazione predefinita.

Per creare un file JSON in formato esteso, con un controllo più dettagliato e granulare sulla formattazione, è necessario aggiungere una sezione visualStyles al file JSON e annidare le specifiche della formattazione in tale sezione. Il formato della sezione visualStyles si presenta come segue:

visualStyles: {
    visualName: {
        styleName: {
            cardName: [{
                propertyName: propertyValue
            }]
        }
    }
}

Per le sezioni visualName e cardName, è possibile elencare un oggetto visivo e un nome scheda specifici o usare un asterisco ("") per applicare tale impostazione a tutti gli oggetti visivi o a tutte le schede contenenti una proprietà per un oggetto visivo specifico. È possibile usare l'asterisco ("") per applicare un'impostazione in modo globale nel report, ad esempio le dimensioni del carattere o una famiglia di caratteri specifica da usare in tutti gli oggetti visivi del report.

Nota: è necessario specificare solo gli elementi di formattazione che si vuole modificare. Per gli elementi di formattazione non inclusi nel file JSON vengono semplicemente ripristinati i valori e le impostazioni predefiniti.

Definizioni degli elementi del file JSON

Le tabelle di questa sezione definiscono i nomi degli oggetti visivi (visualName), i nomi delle schede (cardName) e le enumerazioni necessarie per creare il file JSON.

Quando si usa dateTime, la data deve essere una data ISO tra virgolette singole, con datetime all'inizio, come segue:

“datetime’2011-10-05T14:48:00.000Z’”

I valori booleani sono true o false. Le stringhe devono essere tra virgolette doppie, come in "this is a string".

visualName
accessibleTable
animatedNumber
areaChart
barChart
basicShape
bingSocialNews
bingSocialTweets
scheda
cheerMeter
clusteredBarChart
clusteredColumnChart
columnChart
comboChart
consoleWriter
dataDotChart
dataDotClusteredColumnComboChart
dataDotStackedColumnComboChart
dataViewer
debugVisual
donutChart
filledMap
imbuto
misuratore
heatMap
helloIVisual
hundredPercentStackedBarChart
hundredPercentStackedColumnChart
image
kpi
lineChart
lineClusteredColumnComboChart
lineStackedColumnComboChart
mappa
matrice
multiRowCard
pieChart
pivotTable
realTimeLineChart
ribbonChart
scatterChart
scriptVisual
shapeMap
filtro dei dati
stackedAreaChart
sunburst
tabella
tableEx
casella di testo
mappa ad albero
waterfallChart

La tabella seguente definisce i valori di cardName. Il primo valore in ogni cella è il termine del file JSON, il secondo valore è il nome della scheda visualizzata nell'interfaccia utente di Power BI Desktop.

cardName
axis: Asse misuratore
breakdown: Scomposizione
bubbles: Bolle
calloutValue: Valore callout
card: Scheda
cardTitle: Titolo scheda
categoryAxis: Asse X
categoryLabels: Etichette categorie
clustering: non definito
colorBorder: Bordo colorato
colorByCategory: Colore per categoria
columnFormatting: Formattazione campi
columnHeaders: Intestazioni di colonna
columnWidth: non definito
currentFrameIndex: non definito
data: non definito
dataLabels: Etichette dati
dataPoint: Colori dati
date: Input di date
dateRange: Intervallo di date
defaultColors: Colore predefinito
fill: Intero
fillPoint: Punto di riempimento
filters: definito
forecast: Previsione
general: Generale
goals: Obiettivi
grid: Griglia
header: Intestazione
imageScaling: Scala
indicator: Indicatore
items: Elementi
labels: Etichette dati
legend: Legenda
line: Linea
lineStyles: Forme
mapControls: Controlli della mappa
mapStyles: Stili mappa
numericInputStyle: Input numerici
percentBarLabel: Etichetta tasso di conversione
plotArea: Area tracciato
plotAreaShading: Ombreggiatura simmetrica
ratioLine: Riga del rapporto
referenceLine: Linea costante
ribbonChart: Barre multifunzione
rotation: Rotazione
rowHeaders: Intestazioni di riga
scalarKey: non definito
script: non definito
selection: Comandi di selezione
sentimentColors: Colori sentiment
shape: Forma
slider: Dispositivo di scorrimento
status: Codifica a colori
subTotals: Subtotali
target: Destinazione
total: Totale complessivo
trend: Linea di tendenza
trendline: Asse tendenza
valueAxis: Asse Y
values: Valori
wordWrap: Ritorno a capo automatico
xAxisReferenceLine: Linea costante asse X
y1AxisReferenceLine: Linea costante
zoom: Zoom

La sezione seguente definisce le enumerazioni che è possibile usare nel file JSON.

{
    "legend": {
        "position": [
            {
                "value": "Top",
                "displayName": "Top"
            },
            {
                "value": "Bottom",
                "displayName": "Bottom"
            },
            {
                "value": "Left",
                "displayName": "Left"
            },
            {
                "value": "Right",
                "displayName": "Right"
            },
            {
                "value": "TopCenter",
                "displayName": "Top Center"
            },
            {
                "value": "BottomCenter",
                "displayName": "Bottom Center"
            },
            {
                "value": "LeftCenter",
                "displayName": "Left Center"
            },
            {
                "value": "RightCenter",
                "displayName": "Right center"
            }
        ],
        "legendMarkerRendering": [
            {
                "value": "markerOnly",
                "displayName": "Markers only"
            },
            {
                "value": "lineAndMarker",
                "displayName": "Line and markers"
            },
            {
                "value": "lineOnly",
                "displayName": "Line only"
            }
        ]
    },
    "categoryAxis": {
        "axisScale": [
            {
                "value": "linear",
                "displayName": "Linear"
            },
            {
                "value": "log",
                "displayName": "Log"
            }
        ],
        "axisType": [
            {
                "value": "Scalar",
                "displayName": "Continuous"
            },
            {
                "value": "Categorical",
                "displayName": "Categorical"
            }
        ],
        "axisStyle": [
            {
                "value": "showTitleOnly",
                "displayName": "Show title only"
            },
            {
                "value": "showUnitOnly",
                "displayName": "Show unit only"
            },
            {
                "value": "showBoth",
                "displayName": "Show both"
            }
        ],
        "gridlineStyle": [
            {
                "value": "dashed",
                "displayName": "Dashed"
            },
            {
                "value": "solid",
                "displayName": "Solid"
            },
            {
                "value": "dotted",
                "displayName": "Dotted"
            }
        ],
        "position": [
            {
                "value": "Left",
                "displayName": "Left"
            },
            {
                "value": "Right",
                "displayName": "Right"
            }
        ]
    },
    "valueAxis": {
        "position": [
            {
                "value": "Left",
                "displayName": "Left"
            },
            {
                "value": "Right",
                "displayName": "Right"
            }
        ],
        "axisScale": [
            {
                "value": "linear",
                "displayName": "Linear"
            },
            {
                "value": "log",
                "displayName": "Log"
            }
        ],
        "axisStyle": [
            {
                "value": "showTitleOnly",
                "displayName": "Show title only"
            },
            {
                "value": "showUnitOnly",
                "displayName": "Show unit only"
            },
            {
                "value": "showBoth",
                "displayName": "Show both"
            }
        ],
        "gridlineStyle": [
            {
                "value": "dashed",
                "displayName": "Dashed"
            },
            {
                "value": "solid",
                "displayName": "Solid"
            },
            {
                "value": "dotted",
                "displayName": "Dotted"
            }
        ],
        "secPosition": [
            {
                "value": "Left",
                "displayName": "Left"
            },
            {
                "value": "Right",
                "displayName": "Right"
            }
        ],
        "secAxisScale": [
            {
                "value": "linear",
                "displayName": "Linear"
            },
            {
                "value": "log",
                "displayName": "Log"
            }
        ],
        "secAxisStyle": [
            {
                "value": "showTitleOnly",
                "displayName": "Show title only"
            },
            {
                "value": "showUnitOnly",
                "displayName": "Show unit only"
            },
            {
                "value": "showBoth",
                "displayName": "Show both"
            }
        ]
    },
    "lineStyles": {
        "strokeLineJoin": [
            {
                "value": "miter",
                "displayName": "Miter"
            },
            {
                "value": "round",
                "displayName": "Round"
            },
            {
                "value": "bevel",
                "displayName": "Bevel"
            }
        ],
        "lineStyle": [
            {
                "value": "dashed",
                "displayName": "Dashed"
            },
            {
                "value": "solid",
                "displayName": "Solid"
            },
            {
                "value": "dotted",
                "displayName": "Dotted"
            }
        ],
        "markerShape": [
            {
                "value": "circle",
                "displayName": "●"
            },
            {
                "value": "square",
                "displayName": "■"
            },
            {
                "value": "diamond",
                "displayName": "◆"
            },
            {
                "value": "triangle",
                "displayName": "▲"
            },
            {
                "value": "x",
                "displayName": "☓"
            },
            {
                "value": "shortDash",
                "displayName": " -"
            },
            {
                "value": "longDash",
                "displayName": "—"
            },
            {
                "value": "plus",
                "displayName": "+"
            }
        ]
    },
    "trend": {
        "style": [
            {
                "value": "dashed",
                "displayName": "Dashed"
            },
            {
                "value": "solid",
                "displayName": "Solid"
            },
            {
                "value": "dotted",
                "displayName": "Dotted"
        }
    ]
},
"y1AxisReferenceLine": {
    "style": [
        {
            "value": "dashed",
            "displayName": "Dashed"
        },
        {
            "value": "solid",
            "displayName": "Solid"
        },
        {
            "value": "dotted",
            "displayName": "Dotted"
        }
    ],
    "position": [
        {
            "value": "back",
            "displayName": "Behind"
        },
        {
            "value": "front",
            "displayName": "In Front"
        }
    ],
    "dataLabelText": [
        {
            "value": "Value",
            "displayName": "Value"
        },
        {
            "value": "Name",
            "displayName": "Name"
        },
        {
            "value": "ValueAndName",
            "displayName": "Name and Value"
        }
    ],
    "dataLabelHorizontalPosition": [
        {
            "value": "left",
            "displayName": "Left"
        },
        {
            "value": "right",
            "displayName": "Right"
        }
    ],
    "dataLabelVerticalPosition": [
        {
            "value": "above",
            "displayName": "Above"
        },
        {
            "value": "under",
            "displayName": "Under"
        }
    ]
},
"referenceLine": {
    "style": [
        {
            "value": "dashed",
            "displayName": "Dashed"
        },
        {
            "value": "solid",
            "displayName": "Solid"
        },
        {
            "value": "dotted",
            "displayName": "Dotted"
        }
    ],
    "position": [
        {
            "value": "back",
            "displayName": "Behind"
        },
        {
            "value": "front",
            "displayName": "In Front"
        }
    ],
    "dataLabelText": [
  {
    "value": "Value",
    "displayName": "Value"
  },
  {
    "value": "Name",
    "displayName": "Name"
  },
  {
    "value": "ValueAndName",
    "displayName": "Name and Value"
  }
],
"dataLabelHorizontalPosition": [
  {
    "value": "left",
    "displayName": "Left"
  },
  {
    "value": "right",
    "displayName": "Right"
  }
],
"dataLabelVerticalPosition": [
  {
    "value": "above",
    "displayName": "Above"
  },
  {
    "value": "under",
    "displayName": "Under"
  }
]
},
"labels": {
"labelOrientation": [
  {
    "value": "vertical",
    "displayName": "Vertical"
  },
  {
    "value": "horizontal",
    "displayName": "Horizontal"
  }
],
"labelPosition": [
  {
    "value": "Auto",
    "displayName": "Auto"
  },
  {
    "value": "InsideEnd",
    "displayName": "Inside End"
  },
  {
    "value": "OutsideEnd",
    "displayName": "Outside End"
  },
  {
    "value": "InsideCenter",
    "displayName": "Inside Center"
  },
  {
    "value": "InsideBase",
    "displayName": "Inside Base"
  }
],
"labelStyle": [
  {
    "value": "Category",
    "displayName": "Category"
  },
  {
    "value": "Data",
    "displayName": "Data value"
  },
  {
    "value": "Percent of total",
    "displayName": "Percent of total"
  },
  {
    "value": "Both",
    "displayName": "Category, data value"
  },
  {
    "value": "Category, percent of total",
    "displayName": "Category, percent of total"
  },
  {
    "value": "Data value, percent of total",
    "displayName": "Data value, percent of total"
  },
  {
    "value": "Category, data value, percent of total",
    "displayName": "All detail labels"
  }
 ]
},
"card": {
    "outline": [
      {
        "value": "None",
        "displayName": "None"
      },
      {
        "value": "BottomOnly",
        "displayName": "Bottom only"
      },
      {
        "value": "TopOnly",
        "displayName": "Top only"
      },
      {
        "value": "LeftOnly",
        "displayName": "Left only"
      },
      {
        "value": "RightOnly",
        "displayName": "Right only"
      },
      {
        "value": "TopBottom",
        "displayName": "Top + bottom"
      },
      {
        "value": "LeftRight",
        "displayName": "Left + right"
      },
      {
        "value": "Frame",
        "displayName": "Frame"
      }
     ]
},
"imageScaling": {
    "imageScalingType": [
      {
        "value": "Normal",
        "displayName": "Normal"
      },
      {
        "value": "Fit",
        "displayName": "Fit"
      },
      {
        "value": "Fill",
        "displayName": "Fill"
      }
    ]
},
"forecast": {
    "confidenceBandStyle": [
      {
        "value": "fill",
        "displayName": "Fill"
      },
      {
        "value": "line",
        "displayName": "Line"
      },
      {
        "value": "none",
        "displayName": "None"
      }
    ],
    "style": [
      {
        "value": "dashed",
        "displayName": "Dashed"
      },
      {
        "value": "solid",
        "displayName": "Solid"
      },
      {
        "value": "dotted",
        "displayName": "Dotted"
      }
    ]
    },
    "mapStyles": {
    "mapTheme": [
      {
        "value": "aerial",
        "displayName": "Aerial"
      },
      {
        "value": "canvasDark",
        "displayName": "Dark"
      },
      {
        "value": "canvasLight",
        "displayName": "Light"
      },
      {
        "value": "grayscale",
        "displayName": "Grayscale"
      },
      {
        "value": "road",
        "displayName": "Road"
      }
    ]
},
"shape": {
    "projectionEnum": [
      {
        "value": "albersUsa",
        "displayName": "Albers USA"
      },
      {
        "value": "equirectangular",
        "displayName": "Equirectangular"
      },
      {
        "value": "mercator",
        "displayName": "Mercator"
      },
      {
        "value": "orthographic",
        "displayName": "Orthographic"
      }
    ]
    },
    "xAxisReferenceLine": {
    "style": [
      {
        "value": "dashed",
        "displayName": "Dashed"
      },
      {
        "value": "solid",
        "displayName": "Solid"
      },
      {
        "value": "dotted",
        "displayName": "Dotted"
      }
    ],
    "position": [
      {
        "value": "back",
        "displayName": "Behind"
      },
      {
        "value": "front",
        "displayName": "In Front"
      }
    ],
    "dataLabelText": [
      {
        "value": "Value",
        "displayName": "Value"
      },
      {
        "value": "Name",
        "displayName": "Name"
      },
      {
        "value": "ValueAndName",
        "displayName": "Name and Value"
      }
    ],
    "dataLabelHorizontalPosition": [
      {
        "value": "left",
        "displayName": "Left"
      },
      {
        "value": "right",
        "displayName": "Right"
      }
    ],
    "dataLabelVerticalPosition": [
      {
        "value": "above",
        "displayName": "Above"
      },
      {
        "value": "under",
        "displayName": "Under"
      }
    ]
    },
    "ratioLine": {
    "style": [
      {
        "value": "dashed",
        "displayName": "Dashed"
      },
      {
        "value": "solid",
        "displayName": "Solid"
      },
      {
        "value": "dotted",
        "displayName": "Dotted"
      }
    ]
    },
    "columnHeaders": {
    "outline": [
      {
        "value": "None",
        "displayName": "None"
      },
      {
        "value": "BottomOnly",
        "displayName": "Bottom only"
      },
      {
        "value": "TopOnly",
        "displayName": "Top only"
      },
      {
        "value": "LeftOnly",
        "displayName": "Left only"
      },
      {
        "value": "RightOnly",
        "displayName": "Right only"
      },
      {
        "value": "TopBottom",
        "displayName": "Top + bottom"
      },
      {
        "value": "LeftRight",
        "displayName": "Left + right"
      },
      {
        "value": "Frame",
        "displayName": "Frame"
      }
    ]
    },
    "values": {
    "outline": [
      {
        "value": "None",
        "displayName": "None"
      },
      {
        "value": "BottomOnly",
        "displayName": "Bottom only"
      },
      {
        "value": "TopOnly",
        "displayName": "Top only"
      },
      {
        "value": "LeftOnly",
        "displayName": "Left only"
      },
      {
        "value": "RightOnly",
        "displayName": "Right only"
      },
      {
        "value": "TopBottom",
        "displayName": "Top + bottom"
      },
      {
        "value": "LeftRight",
        "displayName": "Left + right"
      },
      {
        "value": "Frame",
        "displayName": "Frame"
      }
    ]
    },
    "total": {
    "outline": [
      {
        "value": "None",
        "displayName": "None"
      },
      {
        "value": "BottomOnly",
        "displayName": "Bottom only"
      },
      {
        "value": "TopOnly",
        "displayName": "Top only"
      },
      {
        "value": "LeftOnly",
        "displayName": "Left only"
      },
      {
        "value": "RightOnly",
        "displayName": "Right only"
      },
      {
        "value": "TopBottom",
        "displayName": "Top + bottom"
      },
      {
        "value": "LeftRight",
        "displayName": "Left + right"
      },
      {
        "value": "Frame",
        "displayName": "Frame"
      }
    ]
    },
    "rowHeaders": {
    "outline": [
      {
        "value": "None",
        "displayName": "None"
      },
      {
        "value": "BottomOnly",
        "displayName": "Bottom only"
      },
      {
        "value": "TopOnly",
        "displayName": "Top only"
      },
      {
        "value": "LeftOnly",
        "displayName": "Left only"
      },
      {
        "value": "RightOnly",
        "displayName": "Right only"
      },
      {
        "value": "TopBottom",
        "displayName": "Top + bottom"
      },
      {
        "value": "LeftRight",
        "displayName": "Left + right"
      },
      {
        "value": "Frame",
        "displayName": "Frame"
      }
    ]
    },
    "subTotals": {
    "outline": [
      {
        "value": "None",
        "displayName": "None"
      },
      {
        "value": "BottomOnly",
        "displayName": "Bottom only"
      },
      {
        "value": "TopOnly",
        "displayName": "Top only"
      },
      {
        "value": "LeftOnly",
        "displayName": "Left only"
      },
      {
        "value": "RightOnly",
        "displayName": "Right only"
      },
      {
        "value": "TopBottom",
        "displayName": "Top + bottom"
      },
      {
        "value": "LeftRight",
        "displayName": "Left + right"
      },
      {
        "value": "Frame",
        "displayName": "Frame"
      }
    ],
    "rowSubtotalsPosition": [
      {
        "value": "Top",
        "displayName": "Top"
      },
      {
        "value": "Bottom",
        "displayName": "Bottom"
      }
    ]
    },
    "general": {
    "orientation": [
      {
        "value": "vertical",
        "displayName": "Vertical"
      },
      {
        "value": "horizontal",
        "displayName": "Horizontal"
      }
    ]
    },
    "data": {
    "relativeRange": [
      {
        "value": "Last",
        "displayName": "Last"
      },
      {
        "value": "Next",
        "displayName": "Next"
      },
      {
        "value": "This",
        "displayName": "This"
      }
    ],
    "relativePeriod": [
      {
        "value": "None",
        "displayName": "Select"
      },
      {
        "value": "Days",
        "displayName": "Days"
      },
      {
        "value": "Weeks",
        "displayName": "Weeks"
      },
      {
        "value": "Calendar Weeks",
        "displayName": "Weeks (Calendar)"
      },
      {
        "value": "Months",
        "displayName": "Months"
      },
      {
        "value": "Calendar Months",
        "displayName": "Months (Calendar)"
      },
      {
        "value": "Years",
        "displayName": "Years"
      },
      {
        "value": "Calendar Years",
        "displayName": "Years (Calendar)"
      }
    ],
    "mode": [
      {
        "value": "Between",
        "displayName": "Between"
      },
      {
        "value": "Before",
        "displayName": "Before"
      },
      {
        "value": "After",
        "displayName": "After"
      },
      {
        "value": "Basic",
        "displayName": "List"
      },
      {
        "value": "Dropdown",
        "displayName": "Dropdown"
      },
      {
        "value": "Relative",
        "displayName": "Relative"
      },
      {
        "value": "Single",
        "displayName": "Single Value"
      }
    ]
    },
    "header": {
    "outline": [
      {
        "value": "None",
        "displayName": "None"
      },
      {
        "value": "BottomOnly",
        "displayName": "Bottom only"
      },
      {
        "value": "TopOnly",
        "displayName": "Top only"
      },
      {
        "value": "LeftOnly",
        "displayName": "Left only"
      },
      {
        "value": "RightOnly",
        "displayName": "Right only"
      },
      {
        "value": "TopBottom",
        "displayName": "Top + bottom"
      },
      {
        "value": "LeftRight",
        "displayName": "Left + right"
      },
      {
        "value": "Frame",
        "displayName": "Frame"
      }
    ]
    },
    "items": {
    "outline": [
      {
        "value": "None",
        "displayName": "None"
      },
      {
        "value": "BottomOnly",
        "displayName": "Bottom only"
      },
      {
        "value": "TopOnly",
        "displayName": "Top only"
      },
      {
        "value": "LeftOnly",
        "displayName": "Left only"
      },
      {
        "value": "RightOnly",
        "displayName": "Right only"
      },
      {
        "value": "TopBottom",
        "displayName": "Top + bottom"
      },
      {
        "value": "LeftRight",
        "displayName": "Left + right"
      },
      {
        "value": "Frame",
        "displayName": "Frame"
      }
    ]
    },
    "status": {
    "direction": [
      {
        "value": "Positive",
        "displayName": "High is good"
      },
      {
        "value": "Negative",
        "displayName": "Low is good"
      }
     ]
   }
}