Telefonszámunk: 1-472-0679

[Resolved] Power Query alapú táblák automatikus frissítése

Kezdőlap Fórumok Excel témák [Resolved] Power Query alapú táblák automatikus frissítése

Topic Resolution: Resolved

Ennek a témakörnek tartalma 8 hozzászólás, 2 résztvevő. Utolsó frissítés:  zoltan.szeles 3 hónapja, 1 hét telt el a bejegyzés óta.

9 bejegyzés megtekintése - 1-9 / 9
  • Szerző
    Bejegyzés
  • #4612

    zoltan.szeles
    Résztvevő

    Szia Imi!

    Lenne egy elég összetett kérdésem. Sok (és egyre több) olyan táblám van, aminek mindegyike Power Queryvel előállított adatokon alapul (van ahol egy sima listán, van ahol kimutatáson) De ezek is csatolt adatok, egy Access adatbázisból érkeznek a PQ-be, ami naponta többször változik. Az Access adatok frissítése viszonylag gyorsan és könnyen megoldható (mellesleg erre csatlakozik még pár Power Bi kimutatás is, de ez szintén gyorsan frissíthető). Viszont ahogy írtam is, ahogy a felhasználók belejönnek egyre több féle listát kérnek tőlem, amiket Excelben csinálok és jó lenne 1-2 naponta mindet végigfrissíteni. Lehet ezt pl makrózni? Vagy milyen úton induljak szerinted, hogy tudnám ezt legalább részben automatizálni, hogy ne kelljen minden nap az összes Excelt megnyitni, adatot, esetleg még külön kimutatást frissíteni, stb?

    Esetleg felhő alapú megoldás is szóba jöhet, mert utána amúgy is az egészet oda töltöm. Gondoltam arra is már, hogy az Accest kihagyom és mindent a Power Queryben csinálok meg amit most az Access csinál, de elég nagy méretű adatbázisról van szó ezért egyelőre ebbe nem mertem belevágni.

    • A témakör módosításra került: 5 hónapja, 2 hete telt el a bejegyzés óta- zoltan.szeles.
    • A témakör módosításra került: 5 hónapja, 2 hete telt el a bejegyzés óta- zoltan.szeles.
    • A témakör módosításra került: 5 hónapja, 2 hete telt el a bejegyzés óta- horvimi.
    • A témakör módosításra került: 5 hónapja, 2 hete telt el a bejegyzés óta- horvimi.
    #4615

    zoltan.szeles
    Résztvevő

    Bocs valamiért mindig Pivotnak hívom a Queryt, a szövegben javítottam, a címben sajnos nem.

    #4617

    horvimi
    Kulcsmester

    Látom, javítottam. 🙂
    Ha jól értem, akkor azt akarod csinálni, hogy bizonyos Excel fájlokat megnyitni, frissíteni az adatkapcsolatot, majd menteni és bezárni. Mindezt valahogy automatikusan.

    Nekem elsőre ez jut eszembe:
    Egy Excel makrós munkafüzet munkalapjára egy táblázatba soronként felvenném a frissítendő munkafüzetek útvonalait.
    Majd írnék egy makrót, ami ezeken egyesével végigmegy, és
    1. Kinyit
    2. Frissít mindent
    3. Ment
    4. Bezár

    Ezt a makrós fájlt kellene 1-2 naponta elindítani kézzel.

    Következő lépés lehet a jövőben, hogy ez az egy makrós fájl is magától induljon el, és a munkafüzet megnyitásához rendelt eseményvezérlőben fusson a fenti ciklus, de az legyen egy későbbi projekt.

    Imre

    #4618

    zoltan.szeles
    Résztvevő

    Köszi! Igen, erre gondoltam én is, igazából csak azt nem tudom, hogy makróban hogyan kell az adatok frissítése utasítás kiadni, illetve kimutatást frissíteni.

    B verzióként gondoltam még arra, hogy ha az adatokat esetleg a már felhőben lévő BI adatbázisból venném akkor a felhasználók maguk tudnák a megnyitott táblát frissíteni, de ez nagyon elméleti dolog, a valóságban a BI-ból igazából még egy használható excelt sem tudok kiexportálni, nemhogy csatolni belőle ami szükséges, pláne, hogy a webes Excel eléggé hadilábon áll a csatolásokkal. Ezt inkább csak amiatt írom, hogy szerinted lehetséges-e (ha pl kicsit még képzem magam a BI-ban) vagy ez eleve hülyeség?

    #4620

    horvimi
    Kulcsmester

    Az adatok menüben van egy “Az összes frissítése /Refresh All” gomb. Ez a kapcsolatokat és a PIVOT táblákat is frissíti.
    Vedd fel rögzítővel.

    #4621

    zoltan.szeles
    Résztvevő

    Azt szoktam használni “kézzel”, de nem is tudom ez miért nem jutott eszembe, hogy így felvegyem, látszik, hogy sajnos a makrókat azóta nem sokat használtam. Köszi!:)

    #4879

    zoltan.szeles
    Résztvevő

    Szia Imre!

    Sajnos csak most volt időm újra foglalkozni ezzel a kérdéssel, de sikerült megoldani, nagyon jól megy, viszont 2-3 tábla esetén amikor makróval frissítem őket kapok egy üzenetet, miszerint: Ezzel megszakít egy folyamatban lévő frissítést, mégis folytatja? Választási lehetőségek Ok vagy Mégse, igazából nem értem miért kapom ezt (ha makró nélkül frissítem akkor nincs) de az Ok-val minden gond nélkül tovább is megy, csak ez megakasztja a makrót, ha pl ütemezve éjjel szeretném lefuttatni. Mivel makró nélkül nincs ilyen üzenet így felvenni sem tudom. Van arra parancs ami automatikusan “leokéz” egy ilyen üzenetet?

    #4881

    horvimi
    Kulcsmester

    Az lehet a probléma, hogy az előző frissítés még nem fejeződött be, mikor a ciklus a következővel dolgozik, és azt is frissíteni szeretné.
    Erre különböző kísérletek vannak. Ezek közül az egyik, amire elég sok pozitív visszajelzést találtam az, hogy a kapcsolatokban ki kell kapcsolni a háttérfrissítés engedélyezését.
    Ezt vagy a makróval lehet megcsinálni menet közben, vagy a fájlokon kézzel végigmész egyszer, és beállítod mindegyiknek:
    Kézzel:
    Adatok->kapcsolatok->Tulajdonságok (Itt találsz egy háttér frisítési beállítást

    Makróval:

    Sub Refresh_All_Data_Connections()
    
        For Each objConnection In ActiveWorkbook.Connections
            'Get current background-refresh value
            bBackground = objConnection.OLEDBConnection.BackgroundQuery
    
            'Temporarily disable background-refresh
            objConnection.OLEDBConnection.BackgroundQuery = False
    
            'Refresh this connection
            objConnection.Refresh
    
            'Set background-refresh value back to original value
            objConnection.OLEDBConnection.BackgroundQuery = bBackground
        Next
    
    End Sub
    

    Tehát a megnyitás és a mentés közé ez a kód kellene, ami minden OLEDB típusú kapcsolatot frissít az aktuális munkafüzetben.

    Próbáld ki, és jelez vissza lszi!

    Imre

    #4884

    zoltan.szeles
    Résztvevő

    Szia!

    Így tökéletesen fut, mindkét megoldást próbáltam, mindkettő jó, de végül maradtam a makrónál. Köszönöm!

9 bejegyzés megtekintése - 1-9 / 9

Be kell jelentkezni a hozzászóláshoz.