Power BI -visualisointien tietonäkymän yhdistämismääritykset
Tässä artikkelissa käsitellään tietonäkymän yhdistämismäärityksiä ja kuvataan, miten tietorooleja käytetään erityyppisten visualisointien luomiseen. Artikkelissa kerrotaan, miten tietorooleille ja eri dataMappings
tyypeille määritetään ehdollisia vaatimuksia.
Jokainen kelvollinen yhdistäminen tuottaa tietonäkymän. Voit antaa useita tietojen yhdistämismäärityksiä tietyillä ehdoilla. Tuetut yhdistämismäärityksen asetukset ovat seuraavat:
"dataViewMappings": [
{
"conditions": [ ... ],
"categorical": { ... },
"single": { ... },
"table": { ... },
"matrix": { ... }
}
]
Power BI luo tietonäkymän yhdistämismäärityksen vain, jos kelvollinen yhdistämismääritys on myös määritetty kohteessa dataViewMappings
.
Toisin sanoen voidaan määrittää -yhdistämismäärityksessä, categorical
mutta muissa määrityksissä dataViewMappings
, kuten table
tai single
, ei ehkä voida. Tässä tapauksessa Power BI tuottaa tietonäkymän, jossa on yksi categorical
yhdistämismääritys, kun taas table
muut yhdistämismääritykset ovat määrittämättömiä. Esimerkkejä:
"dataViewMappings": [
{
"categorical": {
"categories": [ ... ],
"values": [ ... ]
},
"metadata": { ... }
}
]
Ehdot
- conditions
osa luo sääntöjä tiettyä tietojen yhdistämistä varten. Jos tiedot vastaavat jotakin kuvatuista ehtojoukoista, visualisointi hyväksyy tiedot kelvollisiksi.
Voit määrittää kullekin kentälle vähimmäis- ja enimmäisarvon. Arvo edustaa niiden kenttien määrää, jotka voidaan sitoa kyseiseen tietorooliin.
Muistiinpano
Jos tietorooli jätetään pois ehdosta, sillä voi olla mikä tahansa määrä kenttiä.
Seuraavassa esimerkissä on category
rajoitettu yhteen tietokenttään ja on rajoitettu kahteen tietokenttään measure
.
"conditions": [
{ "category": { "max": 1 }, "measure": { "max": 2 } },
]
Voit myös määrittää useita ehtoja tietoroolille. Tässä tapauksessa tiedot ovat kelvollisia, jos jokin ehdoista täyttyy.
"conditions": [
{ "category": { "min": 1, "max": 1 }, "measure": { "min": 2, "max": 2 } },
{ "category": { "min": 2, "max": 2 }, "measure": { "min": 1, "max": 1 } }
]
Edellisessä esimerkissä vaaditaan toinen seuraavista kahdesta ehdosta:
- Täsmälleen yksi luokkakenttä ja täsmälleen kaksi mittaria
- Täsmälleen kaksi luokkaa ja täsmälleen yksi mittari
Yksittäistietietojen yhdistäminen
Yksittäistietojen yhdistäminen on yksinkertaisin tietojen yhdistämisen muoto. Se hyväksyy yksittäisen mittarikentän ja palauttaa kokonaismäärän. Jos kenttä on numeerinen, se palauttaa summan. Muussa tapauksessa se palauttaa yksilöllisten arvojen määrän.
Jos haluat käyttää yksittäistietojen yhdistämistä, määritä sen tietoroolin nimi, jonka haluat yhdistää. Tämä yhdistäminen toimii vain yksittäisen mittarikentän kanssa. Jos toinen kenttä on määritetty, tietonäkymää ei muodostetaan. Siksi on hyvä käytäntö sisällyttää ehto, joka rajoittaa tiedot yhteen kenttään.
Muistiinpano
Tätä tietojen yhdistämistä ei voi käyttää yhdessä minkään muun tietojen yhdistämisen kanssa. Se on tarkoitettu pienentämään tiedot yksittäiseksi numeeriseksi arvoksi.
Esimerkkejä:
{
"dataRoles": [
{
"displayName": "Y",
"name": "Y",
"kind": "Measure"
}
],
"dataViewMappings": [
{
"conditions": [
{
"Y": {
"max": 1
}
}
],
"single": {
"role": "Y"
}
}
]
}
Tuloksena saatava tietonäkymä voi silti sisältää muita yhdistämismäärityksiä, kuten taulukon tai luokittaisen, mutta jokainen yhdistämismääritys sisältää vain yksittäisen arvon. Paras käytäntö on käyttää arvoa vain yksittäisessä yhdistämismäärityksessä.
{
"dataView": [
{
"metadata": null,
"categorical": null,
"matrix": null,
"table": null,
"tree": null,
"single": {
"value": 94163140.3560001
}
}
]
}
Seuraava koodiesimerkki käsittelee yksinkertaiset tietonäkymien yhdistämismääritykset:
"use strict";
import powerbi from "powerbi-visuals-api";
import DataView = powerbi.DataView;
import DataViewSingle = powerbi.DataViewSingle;
// standard imports
// ...
export class Visual implements IVisual {
private target: HTMLElement;
private host: IVisualHost;
private valueText: HTMLParagraphElement;
constructor(options: VisualConstructorOptions) {
// constructor body
this.target = options.element;
this.host = options.host;
this.valueText = document.createElement("p");
this.target.appendChild(this.valueText);
// ...
}
public update(options: VisualUpdateOptions) {
const dataView: DataView = options.dataViews[0];
const singleDataView: DataViewSingle = dataView.single;
if (!singleDataView ||
!singleDataView.value ) {
return
}
this.valueText.innerText = singleDataView.value.toString();
}
}
Edellinen koodiesimerkki antaa tulokseksi yksittäisen arvon näyttämisen Power BI:stä:
Luokittainen tietojen yhdistäminen
Luokittaista tietojen yhdistämistä käytetään riippumattomien ryhmittelyjen tai tietoluokkien hankkimiseen. Luokat voidaan myös ryhmitellä yhteen tietojen yhdistämisessä ryhmittelyperuste-toiminnolla.
Luokittaisten tietojen perusmääritys
Ota huomioon seuraavat tietoroolit ja yhdistämismääritykset:
"dataRoles":[
{
"displayName": "Category",
"name": "category",
"kind": "Grouping"
},
{
"displayName": "Y Axis",
"name": "measure",
"kind": "Measure"
}
],
"dataViewMappings": {
"categorical": {
"categories": {
"for": { "in": "category" }
},
"values": {
"select": [
{ "bind": { "to": "measure" } }
]
}
}
}
Edellisessä esimerkissä lukee "Map my category
data role so that for every field I drag into category
, its data is mapped to categorical.categories
. Yhdistä myös tietoroolini measure
kohteeseen categorical.values
" .
- varten... in: Sisällyttää kaikki tämän tietoroolin kohteet tietokyselyssä.
- sitoa... to: Tuottaa saman tuloksen kuin kohteelle... -sovelluksessa mutta odottaa, että tietoroolilla on ehto, joka rajoittaa sen yksittäiseen kenttään.
Luokittaisten tietojen ryhmittely
Seuraavassa esimerkissä käytetään samaa kahta tietoroolia kuin edellisessä esimerkissä, ja lisätään kaksi muuta tietoroolia nimeltään grouping
ja measure2
.
"dataRoles":[
{
"displayName": "Category",
"name": "category",
"kind": "Grouping"
},
{
"displayName": "Y Axis",
"name": "measure",
"kind": "Measure"
},
{
"displayName": "Grouping with",
"name": "grouping",
"kind": "Grouping"
},
{
"displayName": "X Axis",
"name": "measure2",
"kind": "Grouping"
}
],
"dataViewMappings": [
{
"categorical": {
"categories": {
"for": {
"in": "category"
}
},
"values": {
"group": {
"by": "grouping",
"select": [{
"bind": {
"to": "measure"
}
},
{
"bind": {
"to": "measure2"
}
}
]
}
}
}
}
]
Tämän yhdistämismäärityksen ja perusmääritysten välinen ero on se, miten categorical.values
se yhdistetään. Kun yhdistät - measure
ja measure2
-tietoroolit tietorooliin grouping
, x-akseli ja y-akseli voidaan skaalata asianmukaisesti.
Hierarkkisten tietojen ryhmittely
Seuraavassa esimerkissä luokittaisiin tietoihin luodaan hierarkia, jonka avulla voidaan tukea alaspäin porautumistoimintoja .
Seuraavassa esimerkissä näytetään tietoroolit ja yhdistämismääritykset:
"dataRoles": [
{
"displayName": "Categories",
"name": "category",
"kind": "Grouping"
},
{
"displayName": "Measures",
"name": "measure",
"kind": "Measure"
},
{
"displayName": "Series",
"name": "series",
"kind": "Measure"
}
],
"dataViewMappings": [
{
"categorical": {
"categories": {
"for": {
"in": "category"
}
},
"values": {
"group": {
"by": "series",
"select": [{
"for": {
"in": "measure"
}
}
]
}
}
}
}
]
Ota huomioon seuraavat luokittaiset tiedot:
Maa tai alue | 2013 | 2014 | 2015 | 2016 |
---|---|---|---|---|
USA | x | x | 650 | 350 |
Kanada | x | 630 | 490 | x |
Meksiko | 645 | x | x | x |
Yhdistynyt kuningaskunta | x | x | 831 | x |
Power BI tuottaa luokittaisen tietonäkymän, joka sisältää seuraavat luokat.
{
"categorical": {
"categories": [
{
"source": {...},
"values": [
"Canada",
"USA",
"UK",
"Mexico"
],
"identity": [...],
"identityFields": [...],
}
]
}
}
Jokainen category
yhdistää kohteeseen values
. values
Ne kaikki ryhmiteltään ryhmittelyperusteena series
, joka ilmaistaan vuosina.
Esimerkiksi jokainen values
-matriisi edustaa yhtä vuotta.
Lisäksi jokaisessa values
matriisissa on neljä arvoa: Kanada, USA, Iso-Britannia ja Meksiko.
{
"values": [
// Values for year 2013
{
"source": {...},
"values": [
null, // Value for `Canada` category
null, // Value for `USA` category
null, // Value for `UK` category
645 // Value for `Mexico` category
],
"identity": [...],
},
// Values for year 2014
{
"source": {...},
"values": [
630, // Value for `Canada` category
null, // Value for `USA` category
null, // Value for `UK` category
null // Value for `Mexico` category
],
"identity": [...],
},
// Values for year 2015
{
"source": {...},
"values": [
490, // Value for `Canada` category
650, // Value for `USA` category
831, // Value for `UK` category
null // Value for `Mexico` category
],
"identity": [...],
},
// Values for year 2016
{
"source": {...},
"values": [
null, // Value for `Canada` category
350, // Value for `USA` category
null, // Value for `UK` category
null // Value for `Mexico` category
],
"identity": [...],
}
]
}
Seuraava koodiesimerkki on tarkoitettu luokittaisen tietonäkymän yhdistämismäärityksen käsittelyyn. Tämä malli luo hierarkkisen rakenteen Maan/alueen > vuosiarvo>.
"use strict";
import powerbi from "powerbi-visuals-api";
import DataView = powerbi.DataView;
import DataViewCategorical = powerbi.DataViewCategorical;
import DataViewValueColumnGroup = powerbi.DataViewValueColumnGroup;
import PrimitiveValue = powerbi.PrimitiveValue;
// standard imports
// ...
export class Visual implements IVisual {
private target: HTMLElement;
private host: IVisualHost;
private categories: HTMLElement;
constructor(options: VisualConstructorOptions) {
// constructor body
this.target = options.element;
this.host = options.host;
this.categories = document.createElement("pre");
this.target.appendChild(this.categories);
// ...
}
public update(options: VisualUpdateOptions) {
const dataView: DataView = options.dataViews[0];
const categoricalDataView: DataViewCategorical = dataView.categorical;
if (!categoricalDataView ||
!categoricalDataView.categories ||
!categoricalDataView.categories[0] ||
!categoricalDataView.values) {
return;
}
// Categories have only one column in data buckets
// To support several columns of categories data bucket, iterate categoricalDataView.categories array.
const categoryFieldIndex = 0;
// Measure has only one column in data buckets.
// To support several columns on data bucket, iterate years.values array in map function
const measureFieldIndex = 0;
let categories: PrimitiveValue[] = categoricalDataView.categories[categoryFieldIndex].values;
let values: DataViewValueColumnGroup[] = categoricalDataView.values.grouped();
let data = {};
// iterate categories/countries-regions
categories.map((category: PrimitiveValue, categoryIndex: number) => {
data[category.toString()] = {};
// iterate series/years
values.map((years: DataViewValueColumnGroup) => {
if (!data[category.toString()][years.name] && years.values[measureFieldIndex].values[categoryIndex]) {
data[category.toString()][years.name] = []
}
if (years.values[0].values[categoryIndex]) {
data[category.toString()][years.name].push(years.values[measureFieldIndex].values[categoryIndex]);
}
});
});
this.categories.innerText = JSON.stringify(data, null, 6);
console.log(data);
}
}
Tässä on tuloksena oleva visualisointi:
Taulukoiden yhdistäminen
Taulukon tietonäkymä on pohjimmiltaan luettelo arvopisteistä, joista voidaan koostaa numeerisia arvopisteitä.
Käytä esimerkiksi samoja tietoja edellisessä osiossa, mutta käyttämällä seuraavia ominaisuuksia:
"dataRoles": [
{
"displayName": "Column",
"name": "column",
"kind": "Grouping"
},
{
"displayName": "Value",
"name": "value",
"kind": "Measure"
}
],
"dataViewMappings": [
{
"table": {
"rows": {
"select": [
{
"for": {
"in": "column"
}
},
{
"for": {
"in": "value"
}
}
]
}
}
}
]
Visualisoi taulukon tietonäkymä tämän esimerkin mukaisesti:
Maa tai alue | Vuosi | Myynti |
---|---|---|
USA | 2016 | 100 |
USA | 2015 | 50 |
Kanada | 2015 | 200 |
Kanada | 2015 | 50 |
Meksiko | 2013 | 300 |
Yhdistynyt kuningaskunta | 2014 | 150 |
USA | 2015 | 75 |
Tietojen sidonta:
Power BI näyttää tietosi taulukkotietonäkymänä. Älä oleta, että tiedot on järjestetty.
{
"table" : {
"columns": [...],
"rows": [
[
"Canada",
2014,
630
],
[
"Canada",
2015,
490
],
[
"Mexico",
2013,
645
],
[
"UK",
2014,
831
],
[
"USA",
2015,
650
],
[
"USA",
2016,
350
]
]
}
}
Jos haluat koostaa tiedot, valitse haluamasi kenttä ja valitse sitten Summa.
Koodiesimerkki taulukon tietonäkymän yhdistämismäärityksen käsittelyä varten.
"use strict";
import "./../style/visual.less";
import powerbi from "powerbi-visuals-api";
// ...
import DataViewMetadataColumn = powerbi.DataViewMetadataColumn;
import DataViewTable = powerbi.DataViewTable;
import DataViewTableRow = powerbi.DataViewTableRow;
import PrimitiveValue = powerbi.PrimitiveValue;
// standard imports
// ...
export class Visual implements IVisual {
private target: HTMLElement;
private host: IVisualHost;
private table: HTMLParagraphElement;
constructor(options: VisualConstructorOptions) {
// constructor body
this.target = options.element;
this.host = options.host;
this.table = document.createElement("table");
this.target.appendChild(this.table);
// ...
}
public update(options: VisualUpdateOptions) {
const dataView: DataView = options.dataViews[0];
const tableDataView: DataViewTable = dataView.table;
if (!tableDataView) {
return
}
while(this.table.firstChild) {
this.table.removeChild(this.table.firstChild);
}
//draw header
const tableHeader = document.createElement("th");
tableDataView.columns.forEach((column: DataViewMetadataColumn) => {
const tableHeaderColumn = document.createElement("td");
tableHeaderColumn.innerText = column.displayName
tableHeader.appendChild(tableHeaderColumn);
});
this.table.appendChild(tableHeader);
//draw rows
tableDataView.rows.forEach((row: DataViewTableRow) => {
const tableRow = document.createElement("tr");
row.forEach((columnValue: PrimitiveValue) => {
const cell = document.createElement("td");
cell.innerText = columnValue.toString();
tableRow.appendChild(cell);
})
this.table.appendChild(tableRow);
});
}
}
Visualisointitiedosto style/visual.less
sisältää taulukon asettelun:
table {
display: flex;
flex-direction: column;
}
tr, th {
display: flex;
flex: 1;
}
td {
flex: 1;
border: 1px solid black;
}
Tuloksena saatu visualisointi näyttää tältä:
Matriisitietojen yhdistäminen
Matriisitietojen yhdistäminen on samantapaista kuin taulukkotietojen yhdistäminen, mutta rivit esitetään hierarkkisesti. Mitä tahansa tietorooliarvoista voidaan käyttää sarakeotsikon arvona.
{
"dataRoles": [
{
"name": "Category",
"displayName": "Category",
"displayNameKey": "Visual_Category",
"kind": "Grouping"
},
{
"name": "Column",
"displayName": "Column",
"displayNameKey": "Visual_Column",
"kind": "Grouping"
},
{
"name": "Measure",
"displayName": "Measure",
"displayNameKey": "Visual_Values",
"kind": "Measure"
}
],
"dataViewMappings": [
{
"matrix": {
"rows": {
"for": {
"in": "Category"
}
},
"columns": {
"for": {
"in": "Column"
}
},
"values": {
"select": [
{
"for": {
"in": "Measure"
}
}
]
}
}
}
]
}
Matriisitietojen hierarkkinen rakenne
Power BI luo hierarkkisen tietorakenteen. Puun pääkansio sisältää Päätaso-sarakkeen tiedot -tietoroolista Category
ja alatasot tietoroolitaulukon Alataso-sarakkeesta.
Semanttinen malli:
Vanhemmat | Children | Lastenlasta | Sarakkeet | Arvot |
---|---|---|---|---|
Parent1 | Alikohde1 | Lapsenlapsi1 | Sarake1 | 5 |
Parent1 | Alikohde1 | Lapsenlapsi1 | Sarake2 | 6 |
Parent1 | Alikohde1 | Lapsenlapsi2 | Sarake1 | 7 |
Parent1 | Alikohde1 | Lapsenlapsi2 | Sarake2 | 8 |
Parent1 | Alikohde2 | Lapsenlapsi3 | Sarake1 | 5 |
Parent1 | Alikohde2 | Lapsenlapsi3 | Sarake2 | 3 |
Parent1 | Alikohde2 | Lapsenlapsi4 | Sarake1 | 4 |
Parent1 | Alikohde2 | Lapsenlapsi4 | Sarake2 | 9 |
Parent1 | Alikohde2 | Lapsenlapsi5 | Sarake1 | 3 |
Parent1 | Alikohde2 | Lapsenlapsi5 | Sarake2 | 5 |
Parent2 | Alikohde3 | Lapsenlapsi6 | Sarake1 | 1 |
Parent2 | Alikohde3 | Lapsenlapsi6 | Sarake2 | 2 |
Parent2 | Alikohde3 | Lapsenlapsi7 | Sarake1 | 7 |
Parent2 | Alikohde3 | Lapsenlapsi7 | Sarake2 | 1 |
Parent2 | Alikohde3 | Lapsenlapsi8 | Sarake1 | 10 |
Parent2 | Alikohde3 | Lapsenlapsi8 | Sarake2 | 13 |
Power BI:n ydinmatriisivisualisointi hahmontaa tiedot taulukkona.
Visualisointi saa tietorakenteensa seuraavassa koodissa kuvatulla tavalla (vain kaksi ensimmäistä taulukon riviä näkyvät tässä):
{
"metadata": {...},
"matrix": {
"rows": {
"levels": [...],
"root": {
"childIdentityFields": [...],
"children": [
{
"level": 0,
"levelValues": [...],
"value": "Parent1",
"identity": {...},
"childIdentityFields": [...],
"children": [
{
"level": 1,
"levelValues": [...],
"value": "Child1",
"identity": {...},
"childIdentityFields": [...],
"children": [
{
"level": 2,
"levelValues": [...],
"value": "Grand child1",
"identity": {...},
"values": {
"0": {
"value": 5 // value for Col1
},
"1": {
"value": 6 // value for Col2
}
}
},
...
]
},
...
]
},
...
]
}
},
"columns": {
"levels": [...],
"root": {
"childIdentityFields": [...],
"children": [
{
"level": 0,
"levelValues": [...],
"value": "Col1",
"identity": {...}
},
{
"level": 0,
"levelValues": [...],
"value": "Col2",
"identity": {...}
},
...
]
}
},
"valueSources": [...]
}
}
Laajenna ja kutista riviotsikot
Ohjelmointirajapinnan versiossa 4.1.0 tai uudemmassa matriisitiedot tukevat riviotsikoiden laajentamista ja kutistamista. Ohjelmointirajapinnasta 4.2 voit laajentaa/kutistaa koko tason ohjelmallisesti. Laajennus- ja kutistamisominaisuus optimoi tietojen noutumisen dataView'hun siten, että käyttäjä voi laajentaa tai kutistaa rivin noutamatta kaikkia seuraavan tason tietoja. Se noutaa vain valitun rivin tiedot. Riviotsikon laajennustila pysyy johdonmukaisena kaikissa kirjanmerkeissä ja jopa tallennetuissa raporteissa. Se ei koske kaikkia visualisointeja.
Laajenna- ja kutista-komennot voidaan lisätä pikavalikkoon antamalla dataRoles
-parametri -menetelmälle showContextMenu
.
Jos haluat laajentaa suuren määrän arvopisteitä, käytä Tietojen noutaminen - ohjelmointirajapintaa laajenna/kutista-ohjelmointirajapinnalla.
Ohjelmointirajapinnan ominaisuudet
Seuraavat elementit on lisätty ohjelmointirajapinnan versioon 4.1.0, jotta riviotsikoiden laajentaminen ja kutistaminen voidaan ottaa käyttöön:
-
isCollapsed
merkintä:DataViewTreeNode
interface DataViewTreeNode { //... /** * TRUE if the node is Collapsed * FALSE if it is Expanded * Undefined if it cannot be Expanded (e.g. subtotal) */ isCollapsed?: boolean; }
-
toggleExpandCollapse
menetelmä liittymässäISelectionManger
:interface ISelectionManager { //... showContextMenu(selectionId: ISelectionId, position: IPoint, dataRoles?: string): IPromise<{}>; // dataRoles is the name of the role of the selected data point toggleExpandCollapse(selectionId: ISelectionId, entireLevel?: boolean): IPromise<{}>; // Expand/Collapse an entire level will be available from API 4.2.0 //... }
canBeExpanded
DataViewHierarchyLevel-ohjausobjektin merkintä:interface DataViewHierarchyLevel { //... /** If TRUE, this level can be expanded/collapsed */ canBeExpanded?: boolean; }
Visuaaliset vaatimukset
Laajenna kutista-toiminnon ottaminen käyttöön visualisoinnissa matriisin tietonäkymän avulla:
Lisää seuraava koodi capabilities.json tiedostoon:
"expandCollapse": { "roles": ["Rows"], //”Rows” is the name of rows data role "addDataViewFlags": { "defaultValue": true //indicates if the DataViewTreeNode will get the isCollapsed flag by default } },
Vahvista, että roolit ovat porattavissa:
"drilldown": { "roles": ["Rows"] },
Luo kullekin solmulle valinnanmuodostimen esiintymä kutsumalla
withMatrixNode
-menetelmää valitulla solmuhierarkiatasolla ja luomallaselectionId
. Esimerkkejä:let nodeSelectionBuilder: ISelectionIdBuilder = visualHost.createSelectionIdBuilder(); // parantNodes is a list of the parents of the selected node. // node is the current node which the selectionId is created for. parentNodes.push(node); for (let i = 0; i < parentNodes.length; i++) { nodeSelectionBuilder = nodeSelectionBuilder.withMatrixNode(parentNodes[i], levels); } const nodeSelectionId: ISelectionId = nodeSelectionBuilder.createSelectionId();
Luo valintojen hallinnan esiintymä ja käytä
selectionManager.toggleExpandCollapse()
-menetelmää , jonka parametrillaselectionId
loit valitulle solmulle. Esimerkki:// handle click events to apply expand\collapse action for the selected node button.addEventListener("click", () => { this.selectionManager.toggleExpandCollapse(nodeSelectionId); });
Muistiinpano
- Jos valittu solmu ei ole rivisolmu, PowerBI ohittaa laajenna- ja kutista-kutsut ja laajenna- ja kutista-komennot poistetaan pikavalikosta.
- -
dataRoles
parametri vaaditaan -menetelmälleshowContextMenu
vain, jos visualisointi tukeedrilldown
taiexpandCollapse
ominaisuuksia. Jos visualisointi tukee näitä ominaisuuksia, mutta dataRoles-parametria ei ole annettu, virhesanoma tulostuu konsoliin kehittäjävisualisointia käytettäessä tai jos virheenkorjaus julkisissa visualisoinneissa, joissa virheenkorjaustila on käytössä.
Huomioitavat asiat ja rajoitukset
- Kun olet laajentanut solmun, DataView-kohteessa käytetään uusia tietorajoja. Uusi DataView ei välttämättä sisällä joitakin edellisessä DataView-kohteessa esiteltyjä solmuja.
- Kun käytät Laajenna- tai Kutista-toimintoa, kokonaissummat lisätään, vaikka visualisointi ei pyytäisi niitä.
- Sarakkeiden laajentamista ja kutistamista ei tueta.
Säilytä kaikki metatietosarakkeet
Ohjelmointirajapinnan versiossa 5.1.0 tai uudemmissa versioissa tuetaan kaikkien metatietosarakkeiden säilyttämistä. Tämän ominaisuuden avulla visualisointi voi vastaanottaa metatiedot kaikille sarakkeille riippumatta niiden aktiivisista ennusteista.
Lisää seuraavat rivit capabilities.json-tiedostoon :
"keepAllMetadataColumns": {
"type": "boolean",
"description": "Indicates that visual is going to receive all metadata columns, no matter what the active projections are"
}
Kun tämän ominaisuuden arvoksi true
määritetään, kaikki metatiedot, myös kutistetut sarakkeet, vastaanotetaan. Jos määrität sen arvoksi false
tai jätät sen määrittämättömäksi, metatiedot saavat metatietoja vain sarakkeissa, joissa on aktiiviset projektiot (esimerkiksi laajennettuna).
Tietojen vähentämisen algoritmi
Tietojen vähentämisen algoritmi määrittää, mitä tietoja ja kuinka paljon tietoja vastaanotetaan tietonäkymässä.
Määrä on määritetty tietonäkymän hyväksymien arvojen enimmäismäärään. Jos määrä-arvoja on enemmän kuin, tietojen vähentämisen algoritmi määrittää, mitkä arvot tulee vastaanottaa.
Tietojen vähentämisen algoritmityypit
Tietojenvähennysalgoritmin asetuksia on neljää tyyppiä:
top
: Ensimmäiset määrä-arvot otetaan semanttisesta mallista.bottom
: Viimeiset määrä-arvot otetaan semanttisesta mallista.sample
: Ensimmäiset ja viimeiset kohteet sisällytetään samoin kuin niiden välisten kohteiden määrä. Jos sinulla on esimerkiksi semanttinen malli [0, 1, 2, ... 100] ja määrä 9, saat arvot [0, 10, 20... 100].window
: Lataa kerrallaan yhden arvopisteiden ikkunan , joka sisältää määrä-elementtejä .top
Tällä hetkellä jawindow
vastaavat toisiaan. Ikkunointiasetusta tuetaan jatkossa täysin.
Oletusarvon mukaan kaikissa Power BI -visualisoinneissa on käytössä tietojenvähennysalgoritmi, jonka määrä-arvo on 1000 arvopistettä. Tämä oletus on sama kuin seuraavien ominaisuuksien määrittäminen capabilities.json tiedostossa:
"dataReductionAlgorithm": {
"top": {
"count": 1000
}
}
Voit muokata määrä-arvoa mihin tahansa kokonaislukuarvoon, joka on enintään 30 000. R-pohjaiset Power BI -visualisoinnit voivat tukea enintään 150 000 riviä.
Tietojen vähentämisen algoritmin käyttö
Tietojen vähentämisen algoritmia voidaan käyttää tietojen luokittaisessa, taulukko- tai matriisinäkymän yhdistämismäärityksessä.
Luokittaisessa tietojen yhdistämisessä voit lisätä algoritmin kohteen "luokat" ja/tai "ryhmä" -osaan values
luokittaista tietojen yhdistämistä varten.
"dataViewMappings": {
"categorical": {
"categories": {
"for": { "in": "category" },
"dataReductionAlgorithm": {
"window": {
"count": 300
}
}
},
"values": {
"group": {
"by": "series",
"select": [{
"for": {
"in": "measure"
}
}
],
"dataReductionAlgorithm": {
"top": {
"count": 100
}
}
}
}
}
}
Käytä taulukon tietonäkymän yhdistämismäärityksessä tietojenvähennysalgoritmia tietonäkymän rows
yhdistämismääritystaulukon -osassa.
"dataViewMappings": [
{
"table": {
"rows": {
"for": {
"in": "values"
},
"dataReductionAlgorithm": {
"top": {
"count": 2000
}
}
}
}
}
]
Voit käyttää tietojenvähennysalgoritmia rows
tietonäkymän yhdistämismatriisin - ja columns
-osissa.