Vrtilna tabela - filter

Pomoč pri delu z MS Excelom
Odgovori
maj
Prispevkov: 6
Pridružen: Pe Maj 09, 2014 8:25 am

Vrtilna tabela - filter

Odgovor Napisal/-a maj »

Pozdravljeni,

prosim Vas za pomoč pri uporabi filtra v vrtilni tabeli. Uporabnik v razčlenjevalniku izbere poljubno leto, za katerega se izpišejo podatki. Kot dodatek k tej tabeli bi bilo potrebno izračunati indeks (primerjava izbranega in preteklega leta). Kako naj v vrtilni tabeli dobim podatke za izbrano leto in preteklo leto, če uporabnik izbire samo željeno leto?

Hvala za pomoč.

LP
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vrtilna tabela - filter

Odgovor Napisal/-a admin »

Pozdravljeni,

Namesto da razmišljate kako bi to rešili v fazi uporabe, raje rešite to že v fazi priprave. V vašem primeru je problem dokaj trivialen, saj vas vedno zanima indeks na preteklo leto, kar pomeni, da lahko vse indekse izberete izračunate že vnaprej in so pripravljeni kot atribut v originalni tabeli. Vrtilno tabel po uredite tako, da vedno prikaže tudi atribut indeks na preteklo leto. V osnovno tabelo torej dodajte atribut 'IndeksNaPretekloLeto' in ga v originalni tabeli tudi izračunajte, v vrtilni tabeli pa ga samo prikažite.

V kolikor pa je indeks na preteklo leto sumarni indeks, torej je odvisen od skupin, ki jih uporabnik izbere v vrtilni tabeli, potem pa je problem malce težji in ni kar splošne rešitve, temveč je slednja odvisna od strukture vaših tabel. V nobenem primeru ne razmišljajte o rešitvi, kjer bi vrtilna tabela "ugotavljala" katero leto je prikazano in kateri indeks mora izračunati... Po tej poti vam ne bo uspelo. Spete je prava rešitev preprosto v tem, da v originalni tabeli dodate atribut prejšnje leto in tam podatke prejšnjega leta... potem pa lahko vedno preprosto računate indekse.
lp,
Matjaž Prtenjak
Administrator
maj
Prispevkov: 6
Pridružen: Pe Maj 09, 2014 8:25 am

Re: Vrtilna tabela - filter

Odgovor Napisal/-a maj »

Hvala za odgovor.

Indeks sam ni odvisen samo od leta, ampak od večih dejavnikov. S tega vidika ne morem uporabiti prve rešitve in ustvariti samo novo mero kot indeks prejšnjega leta. Moj vir vrtilne tabele je olap kocka. Ali obstaja možnost, da se filter sklicuje na vrednost posamezne celice, ki ni del vrtilne tabele?

lp.
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vrtilna tabela - filter

Odgovor Napisal/-a admin »

maj napisal/-a:Ali obstaja možnost, da se filter sklicuje na vrednost posamezne celice, ki ni del vrtilne tabele?
Tega pa ne razumem najbolje. Opišite primer oz. malce bolj konkretno...
lp,
Matjaž Prtenjak
Administrator
maj
Prispevkov: 6
Pridružen: Pe Maj 09, 2014 8:25 am

Re: Vrtilna tabela - filter

Odgovor Napisal/-a maj »

Filter prevzame vrednost celice, k se nahaja na listu. S tem bi sprožila, da se podatki osvežujejo glede na vrednost, ki jo vsebuje določena celica.
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vrtilna tabela - filter

Odgovor Napisal/-a admin »

Kolikor je meni znano in kolikor vem, se to ne da.

V tem primeru vam torej ostane samo še VBA...
lp,
Matjaž Prtenjak
Administrator
maj
Prispevkov: 6
Pridružen: Pe Maj 09, 2014 8:25 am

Re: Vrtilna tabela - filter

Odgovor Napisal/-a maj »

Poskusila sem rešiti z VBA, vendar mi javi napako 1004 za PivotFields.

Ustvarila sem makro :


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Intersect(Target, Range("E37:E38")) Is Nothing Then Exit Sub

Dim pt As PivotTable
Dim Field As PivotField
Dim NewCat As String

Set pt = Worksheets("List2").PivotTables("Vrtilna tabela2")
Set Field = pt.PivotFields("Leto")
NewCat = Worksheets("List2").Range("E37").Value

With pt
Field.ClearAllFilters
Field.CurrentPage = NewCat
pt.RefreshTable
End With
End Sub


Ali mi lahko prosim pomagate odpraviti napako?

Hvala za vso vašo pomoč.

Lp
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vrtilna tabela - filter

Odgovor Napisal/-a admin »

Napaka 1004 pomeni, da element ni definiran. Kaj točno pa je napačno pa je odvisno od tega, kje VAB to napako javi. V kolikor vam to javi na 'pt.PivotFields("Leto")' pomeni, da element Leto ni definiran oz. vrtilna tabela nima polja 'Leto'
lp,
Matjaž Prtenjak
Administrator
maj
Prispevkov: 6
Pridružen: Pe Maj 09, 2014 8:25 am

Re: Vrtilna tabela - filter

Odgovor Napisal/-a maj »

Napako javi na tem mestu:
Set Field = pt.PivotFields("Leto")

V vrtilni tabeli (vir OLAP) imam kot parameter določeno polje Leto, ki je v MDX definiran kot [Obračunsko leto mesec].[Leto].

Ali je problem v tem?
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Vrtilna tabela - filter

Odgovor Napisal/-a admin »

Da, v tem je problem. Ime morate napisati pravilno.
lp,
Matjaž Prtenjak
Administrator
maj
Prispevkov: 6
Pridružen: Pe Maj 09, 2014 8:25 am

Re: Vrtilna tabela - filter

Odgovor Napisal/-a maj »

Zdravo,

hvala za vso pomoč. Sporočam, da problem ni bil v poimenovanju polja, ampak v CurrentPage.

Lp.
Odgovori