Agregovaná data mezisoučtu požadavků

Rozhraní API součtu a mezisoučtu umožňuje vlastním vizuálům s maticovým zobrazením dat vyžádat agregovaná mezisoučtová data z hostitele Power BI. Mezisoučty se počítají pro celý sémantický model matice nebo jsou určeny pro jednotlivé úrovně hierarchie dat matice. Příklad rozhraní API součtu a mezisoučtu ve vizuálu Power BI najdete v ukázkové sestavě.

Poznámka:

Vyžádání dat mezisoučtu je podporováno ve verzi 2.6.0 a novější. Vlastnost rowSubtotalType je k dispozici ve verzi 5.1.0 a novější. Pokud chcete zjistit, kterou verzi používáte, podívejte se do apiVersionsouboru pbiviz.json .

Pokaždé, když vizuál aktualizuje svá data, vydá vizuál požadavek na načtení dat do back-endu Power BI. Tyto žádosti o data jsou obvykle určené pro hodnoty polí, která uživatel přetáhl do kontejneru polí vizuálu. Někdy vizuál potřebuje jiné agregace nebo mezisoučty (například součet nebo počet) použité u kontejnerů polí. Rozhraní API součtu a mezisoučtu umožňuje přizpůsobit dotaz odchozích dat tak, aby požadoval více agregace nebo mezisoučtů dat.

Screenshot of visual with subtotals row and columns highlighted.

Rozhraní API mezisoučtů

Rozhraní API nabízí následující přizpůsobení pro každý typ zobrazení dat (v současné době pouze zobrazení maticových dat).

  • rowSubtotals: (logická hodnota) Označuje, jestli by se data mezisoučtu měla požadovat pro všechna pole v poli řádků.
  • rowSubtotalsPerLevel: (logická hodnota) Označuje, jestli je možné mezisoučtová data přepínat pro jednotlivá pole v poli řádku.
  • columnSubtotals: (logická hodnota) Označuje, jestli se mají data mezisoučtu požadovat pro všechna pole v poli sloupců.
  • columnSubtotalsPerLevel: (logická hodnota) Označuje, jestli je možné mezisoučtová data přepnout pro jednotlivá pole v poli sloupců.
  • levelSubtotalEnabled: (logická hodnota) Označuje, jestli jsou mezisoučty požadovány pro řádek nebo sloupec. Na rozdíl od všech ostatních vlastností se tato vlastnost použije na jednotlivé řádky nebo sloupce.
  • rowSubtotalsType: ("Nahoře" nebo "Dole") Označuje, zda má být řádek s celkovými daty načten před (top) nebo za (bottom) zbývající data. Pokud je tato vlastnost nastavena na bottomhodnotu , může být celkový součet zobrazen pouze po načtení všech dat. Výchozí hodnota je bottom.

Každému z dříve uvedených přepínačů se přiřadí hodnota založená na souvisejících vlastnostech v podokně vlastností a výchozích hodnotách.

Jak používat rozhraní API mezisoučtu

Soubor capabilities.json vizuálu musí:

  • zadejte vlastnost, na kterou se každý z výše uvedených přepínačů mapuje.
  • zadejte výchozí hodnotu, která se má použít, pokud je vlastnost nedefinovaná.

Přepínače používají formát podobný následujícímu příkladu:

    "rowSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "rowSubtotals" 
                }, 
                "defaultValue": true 
            },

Předchozí kód označuje, že mezisoučty řádků jsou povoleny vlastností rowSubtotals v objektu subTotals . Vlastnost má výchozí hodnotu true.

Rozhraní API se automaticky povolí pro vizuál vždy, když se struktura mezisoučtů a všechna mapování přepínačů definují v souboru capabilities.json .

Následující kód je příkladem úplné konfigurace rozhraní API v souboru capabilities.json (zkopírovaný z ukázkového vizuálu rozhraní API):

"subtotals": { 
        "matrix": { 
            "rowSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "rowSubtotals" 
                }, 
                "defaultValue": true 
            }, 
            "rowSubtotalsPerLevel": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "perRowLevel" 
                }, 
                "defaultValue": false 
            }, 
            "columnSubtotals": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "columnSubtotals" 
                }, 
                "defaultValue": true 
            }, 
            "columnSubtotalsPerLevel": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "perColumnLevel" 
                }, 
                "defaultValue": false 
            }, 
            "levelSubtotalEnabled": { 
                "propertyIdentifier": { 
                    "objectName": "subTotals", 
                    "propertyName": "levelSubtotalEnabled" 
                }, 
                "defaultValue": true 
            },
            "rowSubtotalsType": {
                "propertyIdentifier": {
                    "objectName": "subtotals",
                    "propertyName": "rowSubtotalsType"
                },
                "defaultValue": "Bottom"
            }
        } 
    }

Je důležité, aby enumerateProperties() funkce vizuálu odpovídala výchozím nastavením zadaným v souboru capabilities.json . Logika přizpůsobení funguje podle zadaných výchozích hodnot. enumerateProperties() Pokud funkce a výchozí hodnoty nejsou zarovnané, můžou se skutečná přizpůsobení mezisoučtu lišit od očekávání uživatelů.

enum RowSubtotalType {
        Top = "Top",
        Bottom = "Bottom",
   }

Pokud chcete zkontrolovat dostupná vlastní nastavení, rozbalte rozevírací nabídku Mezisoučty v podokně vlastností Formát . Upravte nastavení mezisoučtů a sledujte změny v prezentaci mezisoučtů (s názvem Součty) v podokně Vizualizace.

Screenshot of the Power BI Visualizations pane, which shows the Column and Row subtotals field wells.

Úvahy a omezení

  • Vlastnost rowSubtotalsType je k dispozici pouze pro řádky. Mezisoučty sloupců nelze nastavit na začátek sloupce.

  • Funkce rozbalení a sbalení přepíše rowSubtotals. Mezisoučty se zobrazí, když jsou řádky rozbalené, i když rowSubtotals je nastavená na hodnotu false.

Přidání interaktivity do vizuálu pomocí výběrů vizuálů Power BI