Permalänk

Hjälp med excel/access/VBA

Jag har en databasfil (access) som jag hämtar i en pivottabell till Excel. Där vill jag kunna sortera data med en slicer.

I databasfilen finns datum (yyyy-mm-dd) som jag vill sortera i en slicer som veckonummer. Så om man väljer 1 i slicern så visas 2020-01-01 - 2020-01-07 osv.

Jag vet inte vad som är enklaste lösningen, att skapa en kolumn i databasen som heter veckonummer och med hjälp av VBA sätta in värde för varje rad, eller att göra lösningen i excel där datan presenteras?

Förklara gärna på ett enkelt sätt, jag är inget proffs.

Permalänk
Vila i frid

Låt databasen vara i fred, använd WEEKNUM i Excel istället.

Lite exempel @ https://www.ablebits.com/office-addins-blog/2015/04/29/excel-...

Om du hade använt MSSQL t.ex. hade du kunna anropa StoredProcedure's som kan manipulera datat efter tycke och smak.

https://stackoverflow.com/questions/3287545/how-do-i-make-a-s...

Permalänk

Okej, nu hämtar jag ju data från access till en PivotTabell. Hur gör jag för att infoga en extra kolumn i min pivottabell innehållandes veckonummer utan att redigera strukturen direkt i databasen? Har sökt som en galning på nätet, men det verkar inte finnas en enkel lösning. Jag kan väl tycka att det borde finnas ett väldigt enkelt sätt för att lösa ett sådant här problem..?

Okej, gjorde såhär nu:

Analyze > Fields, Items & Sets
Lade till ett nytt Field.
WEEKNUM(datum;2)

Men nu kan jag inte använda den kolumnen som Slicer. Jag kan bara dra ner den till Values, inte Filters, Columns och Rows.

Permalänk

Onödigt att blanda in VBA när power query (som jag utgår ifrån att du använder) redan har lämplig funktion

Hinner inte fixa bilder nu men editera queryt -> add custom column -> Date.WeekOfYear([DatumFältetHär])

Permalänk

Nej, aldrig använt power query. Hittar ingen flik för att komma åt det heller.
Jag uppdaterade mitt svar här ovan, kolla gärna vad jag skrev.

Permalänk

@RobinJacobsson: Det har du nog även om du inte är medveten om det

Om du använt vanliga get data from database -> access skapas ett query där det är busenkelt att lägga till exvis vecka, se bild.

Permalänk

Helt otroligt, varenda gång jag ska använda Excel, Pivottabeller och Access för att hantera enkel data så blir det tamigfan alltid problem. Varför kan det inte bara funka?

Jag vill ta in data från Access till en pivottabell i Excel. Där vill jag baserat på det datum för varje rad visa vilken vecka på året det datumet tillhör. Men det går ju uppenbarligen inte, och det finns ingenting när jag googlar som löser mitt problem.

Okej, då hoppar jag över det sålänge tänker jag, och sätter in en "target line" i min chart, så att man ser vart målet ligger. Det går ju inte heller! Nu har jag googlat och hittade det här:

https://trumpexcel.com/dynamic-target-line-in-excel/

Men det funkar ju inte heller. Varför fungerar ingenting? Varför ska det vara så jävla svårt att bara ta fram enkla metoder för att hantera data i sin enklaste form? Blir vansinnig.

Edit:
Då testar vi som du sa. Har inte ens menyerna eller hittar det du skickar. Så det fallerar också.

Permalänk
Medlem
Skrivet av RobinJacobsson:

Helt otroligt, varenda gång jag ska använda Excel, Pivottabeller och Access för att hantera enkel data så blir det tamigfan alltid problem. Varför kan det inte bara funka?

Jag vill ta in data från Access till en pivottabell i Excel. Där vill jag baserat på det datum för varje rad visa vilken vecka på året det datumet tillhör. Men det går ju uppenbarligen inte, och det finns ingenting när jag googlar som löser mitt problem.

Okej, då hoppar jag över det sålänge tänker jag, och sätter in en "target line" i min chart, så att man ser vart målet ligger. Det går ju inte heller! Nu har jag googlat och hittade det här:

https://trumpexcel.com/dynamic-target-line-in-excel/

Men det funkar ju inte heller. Varför fungerar ingenting? Varför ska det vara så jävla svårt att bara ta fram enkla metoder för att hantera data i sin enklaste form? Blir vansinnig.

Update
Då gör vi som du sa. Har inte ens menyerna eller hittar det du skickar. Så det fallerar också.

Vilken version av access och/eller excel är det du använder dig av?

Permalänk

@ToddTheOdd: Professional Plus 2016

Att infoga en enkel "target line" verkar omöjligt också.

Jag hittade Data > New Query, men jag kommer inte åt Powerquery utan att importera ny data.
Men jag har ju redan importerat min .accdb till en Pivottabell.

Jag testade att köra Power Query i ett helt nytt excell dokument. Då fungerar det att följa dina anvisningar. Men när jag lagt till kolumnen och din kod så kan jag inte skapa en pivottabell av det. Det enda jag kan välja att infoga det som en vanlig tabell.

Permalänk

Jag följde dina instruktioner, men importerade den sedan till excel som en vanlig tabell. Där gjorde jag sedan om den till en pivottabell, och till slut fick jag det att fungera.

Jag skulle vilja ha en slicer med veckodag också, gärna på svenska (måndag-fredag).
Hur går jag tillväga? Jag är rädd att för varje ändring måste jag göra om allting, eftersom jag tydligen inte kan öppna min pivottabell i power query, utan måste hämta datan från access-filen varje gång på nytt.

Permalänk

@RobinJacobsson: Låter som att du gör framsteg ändå - power query är väldigt kraftfullt, och med great power comes någorlunda great complexity.

(Not - länge sedan jag använde 2016 så allt utgår från 365)

När du hämtar access-DBn via nytt query -> välj transform (inte direkt "load" -> default till tabell). I query editorn lägg till kolumn för vecka samt en till med DayOfWeekName([Datum],"sv") (där "sv" tvingar svenska).

När du lagt till kolumnerna klicka på lilla pilen vid "close & load" och välj close & load to -> pivottabell.

Permalänk

Tack för hjälpen! Jag hittar inte transform eller alternativet att exportera det till en PivotTabell, men jag har fått det att fungera nu genom att infoga det som en tabell och sedan konvertera till Pivottable.

Och sedan i Excel = Summarize with PivotTable

Nu har jag fått det att fungera med veckodagarna iaf. Tack för hjälpen!

Permalänk

Skönt att det löste sig! (svarar långsamt då på jobbet, där jag råka sitta en del med dataskyffling)

Har som sagt hänt en del kring queries, tillhörande manglande och dylika "bakom kulisserna"-funktionalitet så om det blir återkommande skulle jag rekommendera dig att skaffa O365. Datamodeller nästa!

Permalänk
Skrivet av rubberducky:

Skönt att det löste sig! (svarar långsamt då på jobbet, där jag råka sitta en del med dataskyffling)

Har som sagt hänt en del kring queries, tillhörande manglande och dylika "bakom kulisserna"-funktionalitet så om det blir återkommande skulle jag rekommendera dig att skaffa O365. Datamodeller nästa!

Okej, har inte riktigt koll på vad det är. Jag är mer en glad nybörjare (eller en väldigt irriterad nybörjare kanske jag ska säga)

1. Jag ville ha 4 olika grafer/charts som baseras på olika data/filtrering. Så jag gjorde som du sa 4 gånger och körde en PowerQuery för varje tabell/chart separat. Men däremot vore det trevligt när jag sorterar till exempel vecka, så räcker det med att välja på en slicer istället för att behöva ändra ALLA slicers för ett worksheet/alla pivottabeller/charts. Finns det ett sätt att göra så?

2. Om det inte går, eller är alltför krångligt - går det att ha en slicer som sorterar någon sorts datum (i mitt fall vecka) som hela tiden anpassar sig efter datumet och automatiskt väljer nuvarande vecka som filter? För att möjliggöra att okunniga användare bara kan öppna dokumentet och skriva ut veckans (eller dagens tex) data utan behöva ändra något.

Permalänk
Skrivet av RobinJacobsson:

Okej, har inte riktigt koll på vad det är. Jag är mer en glad nybörjare (eller en väldigt irriterad nybörjare kanske jag ska säga)

1. Jag ville ha 4 olika grafer/charts som baseras på olika data/filtrering. Så jag gjorde som du sa 4 gånger och körde en PowerQuery för varje tabell/chart separat. Men däremot vore det trevligt när jag sorterar till exempel vecka, så räcker det med att välja på en slicer istället för att behöva ändra ALLA slicers för ett worksheet/alla pivottabeller/charts. Finns det ett sätt att göra så?

2. Om det inte går, eller är alltför krångligt - går det att ha en slicer som sorterar någon sorts datum (i mitt fall vecka) som hela tiden anpassar sig efter datumet och automatiskt väljer nuvarande vecka som filter? För att möjliggöra att okunniga användare bara kan öppna dokumentet och skriva ut veckans (eller dagens tex) data utan behöva ändra något.

1 - Olika data eller endast filtrering? Du behöver inte hämta samma data flera gånger för att ha olika filter i pivottabeller osv. Högerklicka en slicer -> report connections så kan du välja vilka pivoter just den ska styra.

2 - Spontant skulle jag lösa det med VBA som triggas vid öppning av filen och rullar fram veckofiltret, men blir så klart lite klurigare.

Permalänk
Skrivet av rubberducky:

1 - Olika data eller endast filtrering? Du behöver inte hämta samma data flera gånger för att ha olika filter i pivottabeller osv. Högerklicka en slicer -> report connections så kan du välja vilka pivoter just den ska styra.

Okej! Men när jag trycker på Report Connections så får jag endast upp den Pivot som filtret är bundet till för stunden. Så jag kan inte välja några andra charts/pivottabeller där jag vill filtrera samma veckonummer.

Och om jag försöker markera 2 charts och sedan Insert > Slicer så kan jag endast välja en connection, jag har ju gjort en connection för varje pivot/chart med egna query's för att kunna få olika charts/data. Men veckonummer tex finns ju i varje connection/query med samma identiska namn på kolumnen, om det skulle vara till en fördel.

Permalänk

Jag har gjort en PowerQuery baserat på data från Access, sedan sparat och infogat så att det lägger sig i en ny flik.
Sedan markerat den tabellen och skapat en PivotTabell, där jag har presenterar data via ett Chart.

När jag flyttar mina excel eller access filer så slutar det fungera. Sökvägen till databasen i tabellerna blir då fel. Hur ändrar jag sökvägen till min access fil i pivot-tabellerna?

Eller måste jag göra om allting?

Permalänk
Medlem
Skrivet av RobinJacobsson:

Jag har gjort en PowerQuery baserat på data från Access, sedan sparat och infogat så att det lägger sig i en ny flik.
Sedan markerat den tabellen och skapat en PivotTabell, där jag har presenterar data via ett Chart.

När jag flyttar mina excel eller access filer så slutar det fungera. Sökvägen till databasen i tabellerna blir då fel. Hur ändrar jag sökvägen till min access fil i pivot-tabellerna?

Eller måste jag göra om allting?

Antagligen vill excel uppdatera genvägen/länkningen på ett sätt du inte vill, men du kan prova att göra din formel med funktionen "indirect", då justerar den inte dynamiskt. Om jag nu förstod utmaningen korrekt

Nu kanske jag missat nåt i tråden.
Men, vad vill du göra, måste du använda access, och om du måste använda access, måste du använda excel?
Access har ju massa bra funktioner för att visa och lägga till Data.

Permalänk

Kort och gott så har jag en pivottabell som hämtar data i Access.
Jag vill kunna flytta min accessfil till en annan mapp utan att min pivottabell tappar datan.

Permalänk
Medlem
Skrivet av RobinJacobsson:

Kort och gott så har jag en pivottabell som hämtar data i Access.
Jag vill kunna flytta min accessfil till en annan mapp utan att min pivottabell tappar datan.

Om jag förstår dig rätt, så har jag svårt att se hur Excel skall veta vart du flyttar filen.
Är det bara så att du vill ha kvar data men inte ha den dynamisk.
Så får du populera den datan på en flik i Excel, sen skapa pivot på den datan.

Men som sagt, känns som vi kan jobba inom X&Y problematik här.
Vi vet inte riktigt vad själva rotorsaken till problemet är, eller vad du behöver göra.

Permalänk
Vila i frid

Det är väl access i ett nötskal, förtisjutton olika accessfiler med samma namn fast i olika kataloger. Dags att prova localhost\sqlexpress eller annan instans som nås av alla berörda? En simpel molninstans mssql brukar kosta från 1000 per månad.

Permalänk

Jag behöver flytta min databas och excelfil till en annan mapp. Men när jag flyttar min .accdb fil så tappar excel datan, eftersom sökvägen ändras. Då undrar jag hur jag ändrar sökvägen till min databasfil i excel för att hålla pivottabellerna uppdaterade efter att jag har flyttat filerna.