Funkce Tvůrce sestav – Předchozí funkce ve stránkované sestavě (Tvůrce sestav)

Platí pro: Microsoft Report Builder (SSRS) Power BI Report Builder Návrhář sestav v nástrojích SQL Server Data Tools

Vrací hodnotu nebo zadanou agregační hodnotu pro předchozí instanci položky v určeném rozsahu stránkované zprávy.

Poznámka:

Soubory definice stránkované sestavy (.rdl) můžete vytvářet a upravovat v Microsoft Report Builderu, Tvůrci sestav Power BI a v Návrháři sestav v nástrojích SQL Server Data Tools.

Syntaxe

  
Previous(expression, scope)  

Parametry

expression
(Varianta nebo binární) Výraz, který se má použít k identifikaci dat a pro které se má načíst předchozí hodnota, Fields!Fieldname.Value například nebo Sum(Fields!Fieldname.Value).

rozsah
(Řetězec) Volitelný. Název skupiny nebo oblasti dat nebo null (Nothing v jazyce Visual Basic), který určuje obor, ze kterého se má načíst předchozí hodnota zadaná výrazem.

Návratový typ

Vrátí hodnotu Variant nebo Binární.

Poznámky

Předchozí funkce vrátí předchozí hodnotu výrazu vyhodnoceného v zadaném oboru po použití veškerého řazení a filtrování.

Pokud výraz neobsahuje agregaci, funkce Previous má ve výchozím nastavení aktuální obor položky sestavy.

Ve skupině podrobností použijte předchozí k určení hodnoty odkazu na pole v předchozí instanci řádku podrobností.

Poznámka:

Předchozí funkce podporuje pouze odkazy na pole ve skupině podrobností. Například textové pole ve skupině podrobností =Previous(Fields!Quantity.Value) vrátí data pro pole Quantity z předchozího řádku. V prvním řádku vrátí tento výraz hodnotu null (Nothing v jazyce Visual Basic).

Pokud výraz obsahuje agregační funkci, která používá výchozí obor, předchozí agreguje data v rámci předchozí instance oboru zadaného ve volání agregační funkce.

Pokud výraz obsahuje agregační funkci, která určuje jiný obor než výchozí, musí být parametr obor pro funkci Previous oborem zahrnujícím obor zadaný ve volání agregační funkce.

Funkce Level, InScope, Aggregate a Previous nelze použít v parametru výrazu . Určení rekurzivního parametru pro jakoukoli agregační funkci není podporováno.

Další informace najdete v tématu Referenční informace o agregačních funkcích (Tvůrce sestav a SSRS) a rozsah výrazů pro součty, agregace a předdefinované kolekce (Tvůrce sestav a SSRS).

Examples

Description

Následující příklad kódu, když je umístěn do výchozího datového řádku oblasti dat, poskytuje hodnotu pole LineTotal v předchozím řádku.

Code

=Previous(Fields!LineTotal.Value)  

Description

Následující příklad ukazuje výraz, který vypočítá součet prodejů v konkrétním dni v měsíci a předchozí hodnotu pro daný den v měsíci v předchozím roce. Výraz se přidá do buňky v řádku, který patří do podřízené skupiny GroupbyDay. Nadřazená skupina je GroupbyMonth, která má nadřazenou skupinu GroupbyYear. Výraz zobrazí výsledky pro GroupbyDay (výchozí obor) a potom pro GroupbyYear (nadřazenou skupinu nadřazené skupiny GroupbyMonth).

Například pro datovou oblast s nadřazenou skupinou s názvem Year, její podřízenou skupinou s názvem Montha podřízenou skupinou s názvem Day (3 vnořené úrovně). Výraz =Previous(Sum(Fields!Sales.Value,"Day"),"Year") v řádku přidruženém ke skupině Day vrátí hodnotu prodeje pro stejný den a měsíc pro předchozí rok.

Code

=Sum(Fields!Sales.Value) & " " & Previous(Sum(Fields!Sales.Value,"GroupbyDay"),"GroupbyYear")