Udostępnij za pośrednictwem


Żądanie zagregowanych danych sum częściowych

Interfejs API sumy i sumy częściowej umożliwia wizualizacjom niestandardowym z widokiem danych macierzy żądanie zagregowanych danych sum częściowych z hosta usługi Power BI. Sumy częściowe są obliczane dla całego modelu semantycznego macierzy lub określone dla poszczególnych poziomów hierarchii danych macierzy. Zobacz raport , aby zapoznać się z przykładem funkcjonalności API sumy całkowitej i częściowej w wizualizacji Power BI.

Uwaga

Żądanie danych sum częściowych jest obsługiwane w wersji 2.6.0 lub nowszej. Właściwość rowSubtotalType jest dostępna w wersji 5.1.0 lub nowszej. Aby dowiedzieć się, której wersji używasz, sprawdź apiVersion w pliku pbiviz.json.

Za każdym razem, gdy wizualizacja odświeża dane, wizualizacja wysyła żądanie pobierania danych do zaplecza usługi Power BI. Żądania danych zazwyczaj dotyczą wartości pól, które użytkownik przeciągnął do obszarów pól wizualizacji. Czasami wizualizacja wymaga innych agregacji lub sum częściowych (na przykład sumy lub zliczenia) zastosowanych na polach danych. Interfejs API Sumy i sum częściowych umożliwia dostosowanie zapytania danych wyjściowych w celu żądania dodatkowych danych agregacji lub sum częściowych.

Zrzut ekranu przedstawiający wizualizację z wyróżnionymi wierszami i kolumnami sum częściowych.

Interfejs API sum częściowych

Interfejs API oferuje następujące dostosowanie dla każdego typu widoku danych (obecnie tylko widoki danych macierzy).

  • rowSubtotals: (wartość logiczna) Wskazuje, czy dane sumy częściowej powinny być żądane dla wszystkich pól w polu wierszy.
  • rowSubtotalsPerLevel: (wartość logiczna) Wskazuje, czy dane sumy częściowej mogą być przełączane dla poszczególnych pól w polu wiersza.
  • columnSubtotals: (wartość logiczna) Wskazuje, czy dane sum częściowych powinny być zażądane dla wszystkich pól w obszarze pól kolumn.
  • columnSubtotalsPerLevel: (wartość logiczna) Wskazuje, czy dane sum częściowych mogą być przełączane dla poszczególnych pól w sekcji kolumn.
  • levelSubtotalEnabled: (wartość logiczna) Wskazuje, czy sumy częściowe są żądane dla wiersza bądź kolumny. W przeciwieństwie do wszystkich innych właściwości ta właściwość jest stosowana do poszczególnych wierszy lub kolumn.
  • rowSubtotalsType: ("Top" lub "Bottom") Wskazuje, czy wiersz z łączną ilością danych należy pobrać przed (top) lub po (bottom) pozostałej części danych. Jeśli ta właściwość jest ustawiona na bottom, suma może być wyświetlana tylko po pobraniu wszystkich danych. Wartość domyślna to bottom.

Każdy z tych przełączników ma przypisaną wartość na podstawie powiązanych właściwości w okienku właściwości i wartości domyślnych.

Jak używać interfejsu API sum częściowych

Plik wizualizacji capabilities.json musi:

  • określ właściwość, do której przypisuje się każdy przełącznik .
  • podaj wartość domyślną, która ma być używana, jeśli właściwość jest niezdefiniowana.

Przełączniki używają formatu podobnego do następującego przykładu:

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

Powyższy kod wskazuje, że sumy częściowe wierszy są włączone przez właściwość rowSubtotals w obiekcie subTotals. Właściwość ma domyślną wartość true.

Interfejs API jest automatycznie włączony dla wizualizacji za każdym razem, gdy struktura sum częściowych i wszystkie mapowania przełączników są zdefiniowane w pliku capabilities.json.

Poniższy kod jest przykładem pełnej konfiguracji interfejsu API w pliku capabilities.json (skopiowanym z przykładowej wizualizacji interfejsu 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"
            }
        } 
    }

Ważne jest, aby funkcja enumerateProperties() wizualizacji była zgodna z wartościami domyślnymi określonymi w pliku capabilities.json. Logika dostosowywania działa zgodnie z określonymi wartościami domyślnymi. Jeśli funkcja enumerateProperties() i wartości domyślne nie są zgodne, rzeczywiste dostosowania sum częściowych mogą różnić się od oczekiwań użytkownika.

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

Aby przejrzeć dostępne dostosowania, rozwiń menu rozwijane Podsumowania w okienku właściwości Format. Zmodyfikuj ustawienia sum częściowych i śledź zmiany w prezentacji sum częściowych (o nazwie Totals) w okienku Wizualizacje.

Zrzut ekranu przedstawiający okienko Wizualizacje usługi Power BI, w którym są wyświetlane pola sum częściowych dla kolumn i wierszy.

Zagadnienia i ograniczenia

  • Właściwość rowSubtotalsType jest dostępna tylko dla wierszy. Nie można ustawić sum częściowych kolumn na początek kolumny.

  • Funkcja rozszerzania i zwijania zastępuje rowSubtotals. Sumy częściowe są wyświetlane po rozwinięciu wierszy, nawet jeśli rowSubtotals jest ustawiona na wartość false.

Dodawanie interakcyjności do wizualizacji przy użyciu wyborów wizualizacji usługi Power BI