Udostępnij za pośrednictwem


Zakres wyrażeń dla sum, agregacji i wbudowanych kolekcji w raporcie podzielonym na strony (Power BI Report Builder)

DOTYCZY: Power BI Report Builder Power BI Desktop

Podczas pisania wyrażeń okaże się, że zakres terminów jest używany w wielu kontekstach w raportach podzielonych na strony. Zakres może określać dane używane do obliczania wyrażenia, zestawu pól tekstowych na renderowanej stronie, zestawu elementów raportu, które mogą być wyświetlane lub ukryte na podstawie przełącznika. Termin zakres zostanie wyświetlony w tematach odnoszących się do oceny wyrażeń, składni funkcji agregującej, widoczności warunkowej, a także w komunikatach o błędach związanych z tymi obszarami. Skorzystaj z poniższych opisów, aby ułatwić odróżnienie znaczenia zakresu :

  • Zakres danych Zakres danych to hierarchia zakresów używanych przez procesor raportów, ponieważ łączy dane raportu i układ raportu, a także tworzy regiony danych, takie jak tabele i wykresy, na których mają być wyświetlane dane. Zrozumienie zakresu danych ułatwia uzyskanie żądanych wyników podczas wykonywania następujących czynności:

    • Wyrażenia zapisu korzystające z funkcji agregujących Określ, które dane mają być agregowane. Lokalizacja wyrażenia w raporcie ma wpływ na dane w zakresie agregacji obliczeń.

    • Dodaj wykresy przebiegu w czasie do tabeli lub macierzy Określ minimalny i maksymalny zakres osi wykresu w celu wyrównania zagnieżdżonych wystąpień w tabeli lub macierzy.

    • Dodaj wskaźniki do tabeli lub macierzy Określ minimalną i maksymalną skalę dla miernika w celu wyrównania zagnieżdżonych wystąpień w tabeli lub macierzy.

    • Pisanie wyrażeń sortowania Określ zakres zawierający, którego można użyć do synchronizowania kolejności sortowania między wieloma powiązanymi elementami raportu.

  • Zakres komórek Zakres komórek to zestaw grup wierszy i kolumn w regionie danych elementu tablix, do którego należy komórka. Domyślnie każda komórka elementu tablix zawiera pole tekstowe. Wartość pola tekstowego to wyrażenie. Lokalizacja komórki pośrednio określa zakresy danych, które można określić dla obliczeń zagregowanych w wyrażeniu.

  • Zakres elementu raportu Zakres elementu raportu odnosi się do kolekcji elementów na renderowanej stronie raportu. Procesor raportów łączy elementy układu danych i raportu w celu utworzenia skompilowanej definicji raportu. Podczas tego procesu regiony danych, takie jak tabele i macierze, rozszerzają się zgodnie z potrzebami, aby wyświetlić wszystkie dane raportu. Skompilowany raport jest następnie przetwarzany przez moduł renderowania raportów. Moduł renderowania raportów określa, które elementy raportu są wyświetlane na każdej stronie. Na serwerze raportów każda strona jest renderowana podczas jego wyświetlania. Podczas eksportowania raportu wszystkie strony są renderowane. Zrozumienie zakresu elementów raportu ułatwia uzyskanie żądanych wyników w przypadku wykonywania następujących czynności:

    • Dodaj elementy przełącznika Określ pole tekstowe, aby dodać przełącznik, który kontroluje widoczność elementu raportu. Przełącznik można dodać tylko do pól tekstowych, które znajdują się w zakresie elementu raportu, który chcesz przełączać.

    • Zapis wyrażeń w nagłówkach i stopkach strony Określ wartości w wyrażeniach w polach tekstowych lub innych elementach raportu wyświetlanych na renderowanej stronie.

Zrozumienie zakresów ułatwia pomyślne pisanie wyrażeń, które dają żądane wyniki.

Omówienie zakresu danych i hierarchii danych

Zakres danych określa zestaw danych raportu. Zakres danych ma naturalną hierarchię z nieodłączną relacją zawierania. Zakresy wyższe w hierarchii zawierają zakresy niższe w hierarchii. Poniższa lista zakresów danych opisuje hierarchię w kolejności od większości danych do najmniejszych danych:

  • Zestawy danych po zastosowaniu filtrów zestawu danych Określa zestaw danych raportu połączony z regionem danych lub elementem raportu w treści raportu. Dane używane do agregacji pochodzą z zestawu danych raportu po zastosowaniu wyrażeń filtru zestawu danych. W przypadku udostępnionych zestawów danych oznacza to zarówno filtry w definicji udostępnionego zestawu danych, jak i filtry w udostępnionym wystąpieniu zestawu danych w raporcie.

  • Regiony danych Określa dane z regionu danych po zastosowaniu filtru i sortowania wyrażeń regionu danych. Filtry grup nie są używane podczas obliczania agregacji dla regionów danych.

  • Grupy regionów danych po zastosowaniu filtrów grup Określa dane po zastosowaniu wyrażeń grup i filtrów grup są stosowane dla grupy nadrzędnej i grup podrzędnych. W przypadku tabeli jest to grupa wierszy i kolumn. W przypadku wykresu jest to seria i grupy kategorii. Na potrzeby identyfikowania zawierania zakresu każda grupa nadrzędna zawiera jej grupy podrzędne.

  • Zagnieżdżone regiony danych Określa dane dla zagnieżdżonego regionu danych w kontekście komórki, do której została dodana, oraz po zastosowaniu zagnieżdżonego filtru regionu danych i wyrażeń sortowania.

  • Grupy wierszy i kolumn dla zagnieżdżonych regionów danych Określa dane po zastosowaniu zagnieżdżonych wyrażeń grup danych i filtrów grup.

Zrozumienie zawierających i zawartych zakresów jest ważne podczas pisania wyrażeń zawierających funkcje agregujące.

Zakres komórek i wyrażenia

Po określeniu zakresu wskazujesz procesorowi raportów, które dane mają być używane do obliczenia agregowanego. W zależności od wyrażenia i lokalizacji wyrażenia prawidłowe zakresy mogą być zakresami zawierającymi, znanymi również jako zakresy nadrzędne lub zawarte zakresy, znane również jako zakresy podrzędne lub zagnieżdżone. Ogólnie rzecz biorąc, nie można określić pojedynczego wystąpienia grupy w obliczeniu agregacji. Można określić agregację we wszystkich wystąpieniach grupy.

Ponieważ procesor raportów łączy dane z zestawu danych raportu z regionem danych elementu tablix, ocenia wyrażenia grupy i tworzy wiersze i kolumny potrzebne do reprezentowania wystąpień grupy. Wartość wyrażeń w polu tekstowym w każdej komórce elementu tablix jest obliczana w kontekście zakresu komórki. W zależności od struktury elementu tablix komórka może należeć do wielu grup wierszy i grup kolumn. W przypadku funkcji agregujących można określić zakres do użycia przy użyciu jednego z następujących zakresów:

  • Zakres domyślny Dane, które są w zakresie obliczeń, gdy procesor raportów oblicza wyrażenie. Zakres domyślny to najbardziej wewnętrzny zestaw grup, do których należy komórka lub punkt danych. W przypadku regionu danych elementu tablix zestaw może zawierać grupy wierszy i kolumn. W przypadku regionu danych wykresu zestaw może zawierać grupy kategorii i serii.

  • Nazwany zakres Nazwa zestawu danych, region danych lub grupa regionów danych, która jest w zakresie wyrażenia. W przypadku obliczeń agregujących można określić zakres zawierający. Nie można określić nazwanego zakresu zarówno dla grupy wierszy, jak i grupy kolumn w jednym wyrażeniu. Nie można określić zawartego zakresu, chyba że wyrażenie jest przeznaczone dla agregacji agregacji.

    Następujące wyrażenie generuje lata interwału między wartościami SellStartDate i LastReceiptDate. Te pola znajdują się w dwóch różnych zestawach danych: DataSet1 i DataSet2. Pierwsza funkcja (Report Builder), która jest funkcją agregacji, zwraca pierwszą wartość SellStartDate w zestawie DataSet1 i pierwszą wartość LastReceiptDate w zestawie danych DataSet2.

    =DATEDIFF("yyyy", First(Fields!SellStartDate.Value, "DataSet1"), First(Fields!LastReceiptDate.Value, "DataSet2"))
    
  • Zakres domeny nazywany również zakresem synchronizacji. Typ zakresu danych, który ma zastosowanie do oceny wyrażeń dla zagnieżdżonych regionów danych. Zakres domeny służy do określania agregacji we wszystkich wystąpieniach grupy, dzięki czemu zagnieżdżone wystąpienia mogą być wyrównane i łatwe do porównania. Można na przykład wyrównywać zakres i wysokość wykresów przebiegu w czasie osadzonych w tabeli, tak aby wartości były wyrównane.

W niektórych lokalizacjach raportu należy określić zakres. Na przykład w przypadku pola tekstowego na powierzchni projektowej należy określić nazwę zestawu danych do użycia: =Max(Fields!Sales.Value,"Dataset1"). W innych lokalizacjach istnieje niejawny zakres domyślny. Jeśli na przykład nie określisz agregacji pola tekstowego w zakresie grupy, zostanie użyta domyślna agregacja Pierwsza.

Każdy temat funkcji agregującej zawiera listę zakresów, które są prawidłowe do użycia. Aby uzyskać więcej informacji, zobacz Agregacja funkcji Reference (Power BI Report Builder).

Przykładowe wyrażenia agregacji dla regionu danych tabeli

Pisanie wyrażeń określających zakresy inne niż domyślne ma pewne rozwiązanie. Aby ułatwić zrozumienie różnych zakresów, skorzystaj z poniższej ilustracji i tabeli. Ilustracja oznacza każdą komórkę w tabeli informacji o sprzedaży, w których wyświetlana jest ilość produktów sprzedawanych według roku i kwartału, a także według terytorium sprzedaży. Zwróć uwagę na wskazówki wizualne na uchwytach wierszy i uchwytach kolumn, które wyświetlają strukturę grup wierszy i kolumn wskazujących grupy zagnieżdżone. Tabela ma następującą strukturę:

  • Nagłówek tabeli zawierający komórkę narożną i trzy wiersze zawierające nagłówki grupy kolumn.

  • Dwie zagnieżdżone grupy wierszy oparte na kategorii o nazwie Kategoria i podkategoria o nazwie SubCat.

  • Dwie zagnieżdżone grupy kolumn na podstawie roku o nazwie Year i quarter o nazwie Qtr.

  • Jedna kolumna z sumami statycznymi z etykietą Sumy.

  • Jedna sąsiadująca grupa kolumn na podstawie terytorium sprzedaży o nazwie Territory.

Nagłówek kolumny dla grupy terytorium został podzielony na dwie komórki na potrzeby wyświetlania. Pierwsza komórka wyświetla nazwę i sumy terytorium, a druga komórka zawiera tekst zastępczy, który oblicza procentowy wkład dla każdego terytorium do całej sprzedaży.

Zrzut ekranu przedstawiający przykładowe wyrażenia agregujące dla regionu danych tabeli.

Załóżmy, że zestaw danych nosi nazwę DataSet1, a tabela nosi nazwę Tablix1. W poniższej tabeli wymieniono etykietę komórki, domyślny zakres i przykłady. Wartości tekstu zastępczego są wyświetlane w składni wyrażenia.

Cell Zakres domyślny Etykiety zastępcze Wartości tekstowe lub zastępcze
C01 Tablix1 [Sum(Qty)] Agregacje i zakres

=Sum(Fields!Qty.Value)
C02 Grupa kolumn zewnętrznych "Year" [Rok]

([YearQty])
=Fields!Year.Value

=Sum(Fields!Qty.Value)
C03 Tablix1 [Sum(Qty)] Sumy

=Sum(Fields!Qty.Value)
C04 Grupa kolumn równorzędnych "Terytorium" ([Total]) Territory

=Sum(Fields!Qty.Value)
C05 Grupa wewnętrzna "Qtr" [Qtr]

([QtrQty])
PYTANIA I ODPOWIEDZI

=Fields!Qtr.Value

=Sum(Fields!Qty.Value)
C06 Grupa kolumn równorzędnych "Terytorium" [Terytorium]

([Tty])

[Pct]
=Fields!Territory.Value

=Sum(Fields!Qty.Value)

=FormatPercent(Sum(Fields!Qty.Value,"Territory")/Sum(Fields!Qty.Value,"Tablix1"),0) & " of " & Sum(Fields!Qty.Value,"Tablix1")
C07 Grupa wierszy zewnętrznych "Cat" [Kot]

[Sum(Qty)]
=Fields!Cat.Value

=Sum(Fields!Qty.Value)
C08 Tak samo jak C07
C09 Grupa wierszy zewnętrznych "Cat" i wewnętrzna grupa kolumn "Qtr" [Sum(Qty)] =Sum(Fields!Qty.Value)
C10 Tak samo jak C07 <<Wyrażenie>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Tablix1"),0) & " of " & Sum(Fields!Qty.Value,"Tablix1")
C11 Grupa wierszy zewnętrznych "Cat" i grupa kolumn "Territory" <<Wyrażenie>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Territory"),0) & " of " & Sum(Fields!Qty.Value,"Territory")
C12 Wewnętrzna grupa wierszy "Podkatakat" [Podkatakat]

[Sum(Qty)]
=Fields!SubCat.Value

=Sum(Fields!Qty.Value)
C13 Wewnętrzna grupa wierszy "Podkat" i wewnętrzna grupa kolumn "Qtr" [Sum(Qty)] =Sum(Fields!Qty.Value)
C14 Wewnętrzna grupa wierszy "Podkatakat" <<Wyrażenie>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Cat"),0) & " of " & Sum(Fields!Qty.Value,"Cat")
C15 Wewnętrzna grupa wierszy "Podkata" i grupa kolumn "Terytorium" <<Wyrażenie>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Code.CalcPercentage(Sum(Fields!Qty.Value),Sum(Fields!Qty.Value,"Cat")),0) & " of " & Sum(Fields!Qty.Value,"Cat")

Aby uzyskać więcej informacji na temat tych tematów:

Synchronizowanie skalowania dla wykresów przebiegu w czasie

Aby porównać wartości w czasie na osi poziomej dla wykresu wykresu przebiegu w czasie zagnieżdżonego w tabeli lub macierzy, można zsynchronizować wartości grup kategorii. Jest to nazywane osiami wyrównania. Wybierając opcję wyrównywania osi, raport automatycznie ustawia wartości minimalne i maksymalne dla osi i udostępnia symbole zastępcze dla wartości agregujących, które nie istnieją w każdej kategorii. Powoduje to, że wartości w wykresie przebiegu przebiegu w kolejce do każdej kategorii i umożliwiają porównywanie wartości dla każdego wiersza zagregowanych danych. Wybierając tę opcję, zmieniasz zakres oceny wyrażenia na zakres domeny. Ustawienie zakresu domeny dla zagnieżdżonego wykresu również pośrednio kontroluje przypisanie kolorów dla każdej kategorii w legendzie.

Na przykład w wykresie przebiegu w czasie, który pokazuje tygodniowe trendy, załóżmy, że jedno miasto miało dane sprzedaży przez 3 miesiące, a inne miasto miało dane sprzedaży przez 12 miesięcy. Bez zsynchronizowanych skalowania, wykres przebiegu w czasie dla pierwszego miasta miałby tylko 3 bary i byłby znacznie szerszy i zajmowałby tę samą przestrzeń co 12-miesięczny zestaw słupków dla drugiego miasta.

Aby uzyskać więcej informacji, zobacz Wyrównanie danych na wykresie w tabeli lub macierzy (Power BI Report Builder).

Synchronizuj zakresy wskaźników

Aby określić wartości danych do użycia dla zestawu wskaźników, należy określić zakres. W zależności od układu regionu danych zawierającego wskaźnik należy określić zakres lub zakres zawierający. Na przykład w wierszu nagłówka grupy skojarzonym ze sprzedażą kategorii zestaw strzałek (w górę, w dół, w bok) może wskazywać wartości sprzedaży względem progu. Zakres zawierający jest nazwą tabeli lub macierzy zawierającej wskaźniki.

Aby uzyskać więcej informacji, zobacz Ustawianie zakresu synchronizacji (Power BI Report Builder).

Określanie zakresów z nagłówka strony lub stopki strony

Aby wyświetlić dane inne na każdej stronie raportu, należy dodać wyrażenia do elementu raportu, który musi znajdować się na renderowanej stronie. Ponieważ raport jest podzielony na strony podczas renderowania, tylko podczas renderowania można określić, które elementy istnieją na stronie. Na przykład komórka w wierszu szczegółów zawiera pole tekstowe zawierające wiele wystąpień na stronie.

W tym celu istnieje kolekcja globalna o nazwie ReportItems. Jest to zestaw pól tekstowych na bieżącej stronie.

Aby uzyskać więcej informacji, zobacz Nagłówki i stopki stron (Power BI Report Builder) i ReportItems Collection References (Power BI Report Builder).

Określanie elementu przełącznika na potrzeby przechodzenia do szczegółów i widoczności warunkowej

Przełączanie to plus lub minus obrazy podpisów, które są dodawane do pola tekstowego i że użytkownik może wybrać, aby pokazać lub ukryć inne elementy raportu. Na stronie Widoczność dla większości właściwości elementu raportu można określić, do którego elementu raportu ma zostać dodany przełącznik. Element przełącznika musi znajdować się w wyższym zakresie zawierającym niż element do pokazania lub ukrycia.

W regionie danych elementu tablix, aby utworzyć efekt przechodzenia do szczegółów, w którym wybierzesz pole tekstowe, aby rozwinąć tabelę, aby wyświetlić więcej danych, musisz ustawić właściwość Widoczność w grupie i wybrać jako przełącznik pola tekstowego w nagłówku grupy skojarzonej z zawierającą grupą.

Aby uzyskać więcej informacji, zobacz Dodawanie akcji Rozwiń lub Zwiń do elementu (Power BI Report Builder).

Określanie wyrażenia sortowania do synchronizowania kolejności sortowania

Po dodaniu interakcyjnego przycisku sortowania do kolumny tabeli można zsynchronizować sortowanie dla wielu elementów, które mają wspólny zakres zawierający. Na przykład możesz dodać przycisk sortowania do nagłówka kolumny w macierzy i określić zakres zawierający jako nazwę zestawu danych powiązanego z macierzą. Gdy użytkownik wybierze przycisk sortowania, nie tylko są sortowane wiersze macierzy, ale także grupy serii wykresów powiązane z tym samym zestawem danych są sortowane. W ten sposób wszystkie regiony danych, które zależą od tego zestawu danych, można zsynchronizować w celu wyświetlenia tej samej kolejności sortowania.

Aby uzyskać więcej informacji, zobacz Filtrowanie, grupowanie i sortowanie danych (Power BI Report Builder).

Pomijanie wartości null lub zero w komórce

W przypadku wielu raportów obliczenia, które są ograniczone do grup, mogą tworzyć wiele komórek, które mają zero (0) lub wartości null. Aby zmniejszyć bałagan w raporcie, dodaj wyrażenie, aby zwrócić wartości puste, jeśli wartość agregacji wynosi 0. Aby uzyskać więcej informacji, zobacz "Przykłady pomijania wartości null lub wartości zerowych" w przykładach wyrażeń (Power BI Report Builder).

Następne kroki