Szűrőfüggvények használata idősorfüggvények helyett

Ebben a témakörben elmagyarázzuk, mi a különbség az idősorfüggvények és a szűrőfüggvények között, illetve hogy miként lehet alkalmazni a szűrőfüggvényeket. Ez az információ a munkafüzetekre és a klasszikus irányítópultokra is vonatkozik.

Az idősorfüggvények és szűrőfüggvények összehasonlítása

Az Ago és Todate idősorfüggvények segítségével egyszerűen létrehozhat mérőszámokat a következők kiszámításához: year-ago, year-to-date stb. Ez a módszer jól használható üzleti felhasználói kimutatásoknál, ezek a függvények azonban összetett lekérdezéseket hoznak létre, amelyek jelentős hatással vannak a teljesítményre. Továbbá, minden egyes alkalommal, amikor egy ilyen függvényt használnak egy kimutatásban, a rendszer másik allekérdezést is létrehoz, amely az adatbázis még több erőforrását leköti.

A klasszikus irányítópultokban – az idősorfüggvények használata helyett – általában ugyanazon eredményeket érheti el, ha az alapmérőszámokat a Filter függvénnyel használja a megfelelő időszak szűrésére. Ez a módszer túl összetett lehet az üzleti felhasználói jelentésekhez, viszont jól használható az informatikai csapat által előre definiált irányítópultokban. Ennek a módszernek a használatakor a létrehozott fizikai SQL-kód sokkal egyszerűbb és jóval hatékonyabb, ráadásul további allekérdezést sem igényel. Ezt azt jelenti, hogy az SQL-lekérdezés gyorsabb lesz, illetve az adatbázis kevesebb erőforrását köti le, ami csökkenti az adatbázis CPU-használatát és a bemeneti-kimeneti hívásokat.

A következő ábrán látható egy példa arra, hogy milyen fizikai lekérdezés jön létre, ha ugyanazon jelentésben használja az alapmérőszámot és a hónap Ago mérőszámát. Két lekérdezés kerül létrehozásra.

A(z) GUID-37245A7E-00E9-4071-9627-1A5BAED91311-default.jpg leírása
.jpg ábra leírása

A következő ábrán látható látható az SQL-kód, amelyet a rendszer egy lekérdezéshez hoz létre a Filter függvény használatakor.

A(z) GUID-F1D33998-F8D4-40BF-B630-6EDCEF1DCEFC-default.jpg leírása
.jpg ábra leírása

Szűrőfüggvények implementálása egy irányítópulton promptok használatával

A legtöbb implementáció esetében az irányítópult már tartalmaz promptot, így a felhasználók kiválaszthatják a hónapot, amelyet keresnek. Először azonosítani kell azokat az időszakokat, amelyeket szűrnünk kell a felhasználó kijelölése alapján.

Ebben a példában a naptár dimenzió tartalmaz egy Julian Period Number oszlopot, mert így sokkal egyszerűbb a számítás. Ez akkor is lehetséges, ha nincs Julian Period Number, viszont sokkal összetettebb képletekre lenne szükség a kiválasztott időszak kiszámításához.

  1. Módosítsa a Month promptot a megjelenítési változó hozzáadásához (MonthSelected).

    A(z) GUID-DEEBC7D1-806C-48E9-965C-6131745A65CE-default.png leírása
    .png ábra leírása

  2. Hozzon létre egy különálló irányítópulti promptot a megfelelő Julian Period Number lekéréséhez, és illesszen be egy másik változót (PeriodNumberSelected). A végfelhasználó nem látja a második promptot; el van rejtve az irányítópultról és a MonthSelected változó alapján automatikusan kiszámított értékből.

    A(z) GUID-D41AE43F-CD62-498D-B041-9700D586BF77-default.png leírása
    .png ábra leírása

  3. Szerkessze az irányítópult tulajdonságait, majd kattintson a Szűrők és változók elemre.
  4. Adja hozzá a Julian Period prompt elérési útvonalát.

    A(z) GUID-E46E926E-F0A3-4934-9D10-F0119B9109DF-default.jpg leírása
    .jpg ábra leírása

  5. Az elemzésből törölje a Month oszlop globális szűrőjét, és szükség szerint használja az oszlopképletek szűrőfüggvényeit a Julian Period Number alapján. Íme néhány példa:

    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})

Szűrőfüggvények implementálása munkafüzetben paraméterekkel

Ugyanez az elv alkalmazható munkafüzetekben is. A promptokat és a megjelenítési változókat irányítópulti szűrő és paraméterek váltják.

Hozzon létre három paramétert: MonthSelected, PeriodNumberSelected és YearSelected. Csak a MonthSelected szűrő jelenik meg a vásznon, az irányítópulti szűrőben.

A MonthSelected paraméter lehetséges értékeinek definiálása logikai SQL alapján történik, az összes hónap kiválasztásával.

A PeriodNumberSelected és YearSelected paraméterek esetén a lehetséges értékek nincsenek kitöltve.A(z) GUID-B0D153C1-7DDF-445F-BF09-7E21EBECB88B-default.jpg leírása
.jpg ábra leírása

Csak a kezdeti érték van kitöltve a logikai lekérdezés alapján, amelynek a szűrése a MonthSelected értéke alapján történik.A(z) GUID-C21AC2BA-E3B8-43BC-A812-517A074DBFA2-default.jpg leírása
.jpg ábra leírása