Lisätietojen noutaminen Power BI:stä
fetchMoreData-ohjelmointirajapinnan avulla voit ladata erikokoisia tietolohkoja, jotta Power BI -visualisoinnit voivat ohittaa 30 000 rivin tietonäkymän kiinteän rajan. Ohjelmointirajapinta tukee nyt myös tietolohkojen lisäävästi lataamista alkuperäisen toimintatavan lisäksi, jossa kaikki pyydetyt lohkot koostetaan.
Voit määrittää, montako riviä noudetaan kerrallaan, tai voit käyttää arvoa dataReductionCustomization
, jos haluat antaa raportin tekijän määrittää lohkon koon dynaamisesti.
Muistiinpano
Ohjelmointirajapinta fetchMoreData
on saatavilla versiossa 3.4 tai uudemman version kautta.
Dynaaminen dataReductionCustomization
ohjelmointirajapinta on saatavilla versiossa 5.2 tai uudemman version kautta.
Jos haluat tietää, mitä versiota käytät, tarkista apiVersion
pbiviz.json .
Suurten semanttisten mallien segmentoitujen noutojen ottaminen käyttöön
Määritä kohteen ikkunan koko dataReductionAlgorithm
visualisoinnin capabilities.json -tiedostolle vaadittua -määritystä dataViewMapping
varten. count
määrittää ikkunan koon, joka rajoittaa -kohteeseen lisättävien uusien tietorivien dataview
määrää kussakin päivityksessä.
Lisää esimerkiksi seuraava koodi capabilities.json-tiedostoon , jos haluat liittää kerralla 100 tietoriviä:
"dataViewMappings": [
{
"table": {
"rows": {
"for": {
"in": "values"
},
"dataReductionAlgorithm": {
"window": {
"count": 100
}
}
}
}
]
Uudet segmentit lisätään olemassa dataview
olevaan -kohteeseen ja annetaan visualisoinnille -kutsuna update
.
fetchMoreDatan käyttäminen Power BI -visualisoinnissa
Voit tehdä tämän Power BI: fetchMoreData
ssä kahdella tavalla:
- segmenttien koostamistila
- lisäävän päivityksen tila
Segmenttien koostamistila (oletus)
Segmenttien koostamistilassa visualisoinnille annettu tietonäkymä sisältää kertyneet tiedot kaikesta aiemmasta fetchMoreData requests
kohteesta . Siksi tietonäkymän koko kasvaa kunkin päivityksen myötä ikkunan koon mukaan. Jos esimerkiksi odotetaan yhteensä 100 000 riviä ja ikkunan kooksi on määritetty 10 000, ensimmäisen päivityksen tietonäkymässä pitäisi olla 10 000 riviä, toisen päivitystietonäkymän tulee sisältää 20 000 riviä ja niin edelleen.
Valitse segmenttien koostetila kutsumalla fetchMoreData
aggregateSegments = true
kohdetta .
Voit määrittää, onko tietoja olemassa, tarkistamalla, onko olemassa dataView.metadata.segment
:
public update(options: VisualUpdateOptions) {
const dataView = options.dataViews[0];
console.log(dataView.metadata.segment);
// output: __proto__: Object
}
Voit myös tarkistaa, onko päivitys ensimmäinen päivitys vai myöhempi päivitys, tarkistamalla kohteen options.operationKind
. Seuraavassa koodissa VisualDataChangeOperationKind.Create
viittaa ensimmäiseen segmenttiin ja VisualDataChangeOperationKind.Append
seuraaviin segmentteihin.
// CV update implementation
public update(options: VisualUpdateOptions) {
// indicates this is the first segment of new data.
if (options.operationKind == VisualDataChangeOperationKind.Create) {
}
// on second or subsequent segments:
if (options.operationKind == VisualDataChangeOperationKind.Append) {
}
// complete update implementation
}
Voit myös käynnistää -menetelmän fetchMoreData
käyttöliittymän tapahtumakäsittelijästä:
btn_click(){
{
// check if more data is expected for the current data view
if (dataView.metadata.segment) {
// request for more data if available; as a response, Power BI will call update method
let request_accepted: bool = this.host.fetchMoreData(true);
// handle rejection
if (!request_accepted) {
// for example, when the 100 MB limit has been reached
}
}
}
Vastauksena -menetelmän kutsumiseen this.host.fetchMoreData
Power BI kutsuu update
visualisoinnin -menetelmää uudella tietosegmentillä.
Muistiinpano
Asiakkaan muistirajoitteiden välttämiseksi noudetun tiedon kokonaismäärän rajoituksena Power BI:ssä on 100 Mt. Kun tämä raja saavutetaan, fetchMoreData()
palauttaa arvon false
.
Lisäävän päivityksen tila
Lisäävien päivitysten tilassa visualisoinnille annettu tietonäkymä sisältää vain seuraavan lisäävien tietojen joukon. Tietonäkymän koko on sama kuin määritetty ikkunan koko (tai pienempi, jos viimeinen tietobitti on pienempi kuin ikkunan koko). Jos esimerkiksi odotetaan yhteensä 101 000 riviä ja ikkunan kooksi on määritetty 10 000, visualisointiin tulee kymmenen päivitystä, kun tietonäkymän koko on 10 000, ja yksi, kun tietonäkymän koko on 1 000.
Lisäävän päivityksen tila valitaan kutsumalla fetchMoreData
kohdetta ön kanssa aggregateSegments = false
.
Voit määrittää, onko tietoja olemassa, tarkistamalla, onko olemassa dataView.metadata.segment
:
public update(options: VisualUpdateOptions) {
const dataView = options.dataViews[0];
console.log(dataView.metadata.segment);
// output: __proto__: Object
}
Voit myös tarkistaa, onko päivitys ensimmäinen päivitys vai myöhempi päivitys, tarkistamalla kohteen options.operationKind
. Seuraavassa koodissa VisualDataChangeOperationKind.Create
viittaa ensimmäiseen segmenttiin ja VisualDataChangeOperationKind.Segment
seuraaviin segmentteihin.
// CV update implementation
public update(options: VisualUpdateOptions) {
// indicates this is the first segment of new data.
if (options.operationKind == VisualDataChangeOperationKind.Create) {
}
// on second or subsequent segments:
if (options.operationKind == VisualDataChangeOperationKind.Segment) {
}
// skip overlapping rows
const rowOffset = (dataView.table['lastMergeIndex'] === undefined) ? 0 : dataView.table['lastMergeIndex'] + 1;
// Process incoming data
for (var i = rowOffset; i < dataView.table.rows.length; i++) {
var val = <number>(dataView.table.rows[i][0]); // Pick first column
}
// complete update implementation
}
Voit myös käynnistää -menetelmän fetchMoreData
käyttöliittymän tapahtumakäsittelijästä:
btn_click(){
{
// check if more data is expected for the current data view
if (dataView.metadata.segment) {
// request for more data if available; as a response, Power BI will call update method
let request_accepted: bool = this.host.fetchMoreData(false);
// handle rejection
if (!request_accepted) {
// for example, when the 100 MB limit has been reached
}
}
}
Vastauksena -menetelmän kutsumiseen this.host.fetchMoreData
Power BI kutsuu update
visualisoinnin -menetelmää uudella tietosegmentillä.
Muistiinpano
Vaikka tietonäkymien eri päivitysten tiedot ovat pääosin yksinomaisia, peräkkäiset tietonäkymät ovat osittain päällekkäisiä.
Taulukon ja luokittaisen tietojen yhdistämisen osalta ensimmäisen N
tietonäkymän rivien voidaan odottaa sisältävän edellisestä tietonäkymästä kopioituja tietoja.
N
voidaan määrittää seuraavasti: (dataView.table['lastMergeIndex'] === undefined) ? 0 : dataView.table['lastMergeIndex'] + 1
Visualisointi pitää tietonäkymän välitettynä, jotta se voi käyttää tietoja ilman ylimääräistä viestintää Power BI:n kanssa.
Mukautettu tietojen vähentäminen
Koska kehittäjä ei aina voi tietää etukäteen, minkä tyyppisiä tietoja visualisointi näyttää, hän saattaa haluta antaa raportin tekijälle mahdollisuuden määrittää tietolohkon koko dynaamisesti. Ohjelmointirajapinnan versiosta 5.2 voit antaa raportin tekijän määrittää joka kerta noudettävien tietolohkojen koon.
Jotta raportin tekijä voi määrittää määrän, määritä ensin ominaisuusruudun objekti, jota kutsutaan dataReductionCustomization
capabilities.json-tiedostossa:
"objects": {
"dataReductionCustomization": {
"displayName": "Data Reduction",
"properties": {
"rowCount": {
"type": {
"numeric": true
},
"displayName": "Row Reduction",
"description": "Show Reduction for all row groups",
"suppressFormatPainterCopy": true
},
"columnCount": {
"type": {
"numeric": true
},
"displayName": "Column Reduction",
"description": "Show Reduction for all column groups",
"suppressFormatPainterCopy": true
}
}
}
},
Määritä sitten :n dataViewMappings
jälkeen oletusarvot dataReductionCustomization
.
"dataReductionCustomization": {
"matrix": {
"rowCount": {
"propertyIdentifier": {
"objectName": "dataReductionCustomization",
"propertyName": "rowCount"
},
"defaultValue": "100"
},
"columnCount": {
"propertyIdentifier": {
"objectName": "dataReductionCustomization",
"propertyName": "columnCount"
},
"defaultValue": "10"
}
}
}
Tietojen vähentämisen tiedot näkyvät visualisoinnin muotoiluruudussa.
Huomioitavat asiat ja rajoitukset
Ikkunan koko on rajoitettu välillä 2–30 000.
Tietonäkymän rivien kokonaismäärä on rajoitettu 1 048 576 riviin.
Tietonäkymän muistin koko on rajoitettu 100 Mt:iin segmenttien koostamistilassa.