Časové řady

Uvedené informace platí jak pro sešity, tak pro klasické panely.

Funkce časových řad nebo funkce filtrů?

Funkce časových řad AgoTodate nabízejí jednoduchý způsob, jak vytvořit metriky pro výpočet parametrů year-ago, year-to-date a tak dále, přičemž tato metoda je vhodná pro sestavy firemních uživatelů. Tyto funkce však generují složité dotazy, které mají značné nároky na výkon. Při každém použití jedné z těchto funkcí v sestavě je generován další dílčí dotaz s využitím ještě více zdrojů v databázi.

Na klasických panelech můžete místo použití funkcí časových řad obvykle dosáhnout stejného výsledku použitím základních metrik s funkcí Filter k filtrování podle příslušného časového období. Tato metoda může být příliš složitá u sestav firemních uživatelů, ale funguje skvěle na panelech předem definovaných týmem IT. Při použití této metody je generovaný fyzický dotaz SQL mnohem jednodušší a efektivnější a nevyžaduje další dílčí dotaz. To znamená, že dotaz SQL bude rychlejší a spotřebuje méně zdrojů v databázi, čímž se sníží celkové využití procesoru databáze a počet operací vstupu/výstupu.

Zde je uveden příklad fyzického dotazu, který je generován, když ve stejné sestavě použijete základní metriku i metriku Před pro měsíc. Budou generovány dva dotazy:

Popis GUID-37245A7E-00E9-4071-9627-1A5BAED91311-default.jpg následuje
.jpg''

Zde je uveden dotaz SQL generovaný, když místo toho použijete funkci Filter. Bude generován jeden dotaz, který je mnohem jednodušší:

Popis GUID-F1D33998-F8D4-40BF-B630-6EDCEF1DCEFC-default.jpg následuje
.jpg''

Jak provést implementaci na panelu pomocí výzev

Ve většině implementací již panel obsahuje výzvu, aby si uživatelé mohli vybrat měsíc, který hledají. Prvním krokem je určení časových období, která je potřebné filtrovat na základě výběru uživatele.

V tomto jednoduchém příkladu předpokládáme, že dimenze kalendáře obsahuje sloupec Julian Period Number, protože se tím značně zjednoduší výpočet. Úlohu lze provést i bez sloupce Julian Period Number, ale vyžadovala by mnohem složitější vzorce pro výpočet vybraného časového období.

Nejprve musí výzva pro položku Month vyplnit prezentační proměnnou (v níže uvedeném příkladu MonthSelected). Poté je potřebné vytvořit samostatnou výzvu panelu, aby byl načten odpovídající údaj Julian Period Number a následně vložen do další proměnné (PeriodNumberSelected). Tato druhá výzva se koncovému uživateli nezobrazí. Místo toho zůstane skrytá na panelu a hodnota bude vypočítána automaticky na základě proměnné MonthSelected. Podívejte se na níže uvedený příklad.

  1. Upravte výzvu Month a přidejte prezentační proměnnou.

    Popis GUID-DEEBC7D1-806C-48E9-965C-6131745A65CE-default.jpg následuje
    .jpg''

  2. Vytvořte samostatnou výzvu panelu pro položku Julian Period Number.

    Popis GUID-D41AE43F-CD62-498D-B041-9700D586BF77-default.jpg následuje
    .jpg''

  3. Upravte vlastnosti panelu a klikněte na volbu Filtry a proměnné.

    Popis GUID-39A7720B-5345-418B-BDEE-33BC7426FAF0-default.jpg následuje
    .jpg''

  4. Přidejte výzvu Julian Period.

    Popis GUID-E46E926E-F0A3-4934-9D10-F0119B9109DF-default.jpg následuje
    .jpg''

  5. Dále v analýze odstraňte globální filtr pro sloupec Month a podle potřeby použijte funkce filtrování vzorců sloupce na základě položky Julian Period Number. Zde je několik příkladů:

    Current Month: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800})

    Month Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-1)

    Year Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-12)

    Year to date: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"<=@{PeriodNumberSelected}{80800} and “Time”.”Year”=@{YearSelected}{2019})

Jak provést implementaci v sešitu pomocí parametrů

Stejný princip lze použít v sešitu. Výzvy a prezentační proměnné jsou nahrazeny filtrem a parametry panelu.

Vytvořte tři parametry: MonthSelected, PeriodNumberSelected a YearSelected. Na kanvasu ve filtru panelu se zobrazí pouze parametr MonthSelected.

Možné hodnoty parametru MonthSelected jsou definovány na základě logického dotazu SQL pro výběr všech měsíců.

Pro parametry PeriodNumberSelected a YearSelected nejsou možné hodnoty vyplněny. Vyplněna je pouze počáteční hodnota pomocí logického dotazu filtrovaného na základě hodnoty parametru MonthSelected. Podívejte se na níže uvedené příklady.

Popis GUID-C21AC2BA-E3B8-43BC-A812-517A074DBFA2-default.jpg následuje
.jpg''

Popis GUID-B0D153C1-7DDF-445F-BF09-7E21EBECB88B-default.jpg následuje
.jpg''