Sdílet prostřednictvím


Požádat o agregovaná data mezisoučtů

Rozhraní Total a Subtotal API umožňuje vlastním vizuálům s maticovým zobrazením dat požadovat mezisoučtová agregovaná data ze serveru Power BI. Mezisoučty se počítají pro celý sémantický model matice nebo jsou určeny pro jednotlivé úrovně hierarchie dat matice. Podívejte se na ukázkovou sestavu pro příklad rozhraní API pro celkové a mezisoučty ve vizuálu Power BI.

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, jakou verzi používáte, podívejte se na apiVersion v souboru pbiviz.json.

Pokaždé, když vizuál aktualizuje data, vydá 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 vizualizace potřebuje jiné agregace nebo mezisoučty (například součet nebo počet) použité u 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.

Snímek obrazovky vizuálu s řádky a sloupci mezisoučtů zvýrazněnými

Rozhraní API pro mezisoučty

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 lze data mezisoučtu přepínat pro jednotlivá pole v poli řádku.
  • columnSubtotals: (logická hodnota) Udává, zda by měla být data mezisoučtu požadována pro všechna pole v oblasti polí sloupců.
  • : (logická hodnota) Označuje, zda je možné přepínat data mezisoučtů pro jednotlivá pole v oblasti pole 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, jestli má být řádek s celkovým součtem dat načten před (top) nebo za (bottom) ostatními daty. Pokud je tato vlastnost nastavena na bottom, lze celkový součet zobrazit pouze po načtení všech dat. Výchozí hodnota je bottom.

Každému z těchto přepínačů je přiřazena hodnota založená na souvisejících vlastnostech v podokně vlastností a výchozích hodnotách.

Jak používat rozhraní API mezisoučtu

Vizuální soubor capabilities.json musí:

  • zadejte vlastnost, na kterou se každý 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 vizualizaci, kdykoli je struktura mezisoučtů a všechna mapování přepínačů definována v souboru capabilities.json.

Následující kód je příkladem úplné konfigurace rozhraní API v souboru capabilities.json (zkopírováno 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 funkce enumerateProperties() 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. Pokud enumerateProperties() 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 souhrny) v podokně Vizualizace.

Snímek obrazovky podokna Vizualizace Power BI, které zobrazuje pole pro mezisoučty sloupců a řádků.

Důležité informace 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íšerowSubtotals. Mezisoučty se zobrazí při rozbalení řádků, i když je rowSubtotals nastavena na false.

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