Ten pokus s veľkosťou súboru ste nerobil?
Nie som teraz pri PC, ale myslím si, že ak ten filter robíte v tom načítacom PQ, tak tue odfiltrované riadky v súbore nie sú. Keď prídem urobím pokus, alebo skúste Vy.
Hmm "každý ma v PC svoju kópiu". A ako sa dostane nejaký kontrolný/zlučovací súbor do PC tých 4-och užívateľov?
Ak Vám ich pošlú napr. mailom, alebo ich nahrajú na cloudové úložisko, tak sa dá zlúčenie všetkých vyplnených dát urobiť v nejakom kontrolnom súbore cez makro, alebo cez PowerQuery. Ale ten kontrolný súbor musí mať prístup na všetky 4 súbory.
Nie som si istý, či to je OK. Ale možno nad tým rozmýšľam zle. Ak zadám 50 000, tak je dolný limit 40 000 a horný 50 000, alebo platí že je dolný 50 000 a horný 60 000? Treba si ujasniť, či náklady v A:A sú "od", "do", "od vrátane", "do vrátane".
Len si dajte pozor pri .End(xlDown/xlUp). Ak máte filtrované riadky nefungujú správne. Vtedy treba použiť metódu .Find(...).
Príklad:
-klik na filtrovaciu šípku stĺpca "Kód akce"
-Filter Textu - Začína na
-Rozšírené - Pridať klauzulu
-obe pridané klauzuly dať typ "Alebo"
-všetky 3 klauzuly dať operátor "začína na"
-prvá PR, druhá ESP, tretia ESB
let
Zdroj = Excel.CurrentWorkbook(){[Name="Tabuľka1"]}[Content],
#"Zmenený typ" = Table.TransformColumnTypes(Zdroj,{{"ID", Int64.Type}, {"Kód akce", type text}, {"Datum zaúčtování", type datetime}, {"Popis", type text}}),
#"Filtrované riadky" = Table.SelectRows(#"Zmenený typ", each Text.StartsWith([Kód akce], "PR") or Text.StartsWith([Kód akce], "ESP") or Text.StartsWith([Kód akce], "ESB"))
in
#"Filtrované riadky"
Základ je vždy reštart zariadenia, aby nabehol odznovu OS aj nanovo ovládače na myš/touchpad/USB atď. To, že Vám to začalo pred 2 týždňami, by mohlo naznačovať nejakú aktualizáciu Office prípadne automatickú aktualizáciu ovládača napr. TouchPadu. Lenže nerobí to žiadne problémy inde. A to sú tie najhoršie identifikovateľné problémy, ktoré sa prejavujú nesystematicky, náhodne, nepravidelne, a ich odstránenie je lotéria nápad->pokus->omyl->náhoda->zabralo
Skúsil by som (hoci je to pracné) vyrobiť z funkčného súboru nový, a naládovať ho dátami z toho nefunkčného. Uložiť nový a vyskúšať. Potom aktualizovať Office ak je dostupná nejaká aktualizácia. Aktualizovať ovládač myši/TouchPadu od výrobcu, ak nie, tak Odstrániť zo Správcu zariadení, nech si ho nájde a nahodí znovu OS sám. Následne reštart.
Je to divné, lebo ten súbor nám ide.
A klasická rada zo slávneho seriálu - "Vypnúť, zapnúť" nepomáha? Pretože to fakt fičí, a môže to byť aj niečo na úrovni OS/Driveru.
Áno, presne o to sa pokúša. Je zaujímavé, že nastavenie tých príznakov xlReadOnly/xlReadWrite spôsobí ReOpen, viď príloha
Snáď to chápem správne.
@lubo: Tie Vaše príklady sú iný level
Trochu som si to upravil, pre moje potreby, aby to z viacerých vnútorných medzier urobilo jednu
= Table.TransformColumnNames(#"Hlavičky so zvýšenou úrovňou", each Text.Combine(List.ReplaceValue(Splitter.SplitTextByAnyDelimiter({" ", "#(00A0)"})(_), "", null, Replacer.ReplaceValue), " "))
Zdá sa to byť nemožné (logike odporujúce) ale predsa na stackoverflow ... prípadne zaujímavo vyzerá aj na extendedoffice ... no idem už spať, neskúšam.
EDIT: Tak som použil ten posledný spôsob. Napr. takto:
Úryvok z môjho dotazu ako som to jednoducho urobil ja, transpozícia -> prečistenie -> transpozícia -> hlavička:
#"Transponovaná tabuľka" = Table.Transpose(#"Filtrované riadky2"),
#"Orezaný text" = Table.TransformColumns(#"Transponovaná tabuľka",{{"Column1", Text.Trim, type text}}),
#"Filtrované riadky3" = Table.SelectRows(#"Orezaný text", each [Column1] <> null and [Column1] <> ""),
#"Transponovaná tabuľka1" = Table.Transpose(#"Filtrované riadky3"),
#"Hlavičky so zvýšenou úrovňou" = Table.PromoteHeaders(#"Transponovaná tabuľka1", [PromoteAllScalars=true]),
Myslím, že u Vás by to mohlo byť aj obdobné. Bodol by taký súbor ako máte (anonymizovaný, hlavičky zachovať, dáta stačia 2 riadky)
Prípadne cez List.Contains. (tu sú 2 zaujímavé metódy, ťažko povedať čo bude najrýchlejšie)
Veď urobte porovnávací pokus veľkostí súborov s PQ filtrom vs bez neho.
To nie je problém. Potrebujete zachovať aj formát čísla s desatinnou nulou (4,0 vs 4)?
vlozznaky2 zachováva stanovený formát
Ako Vy prídete k tým desatinným číslam? Ja si spomínam iba na jediný prípad keď som sa stretol s počítaním času v desatinách, časť pracovnej doby. Inak sa predsa dĺžka výroby/úkonu uvádza v časových jednotkách hod/min/sec/motohodina (počítali sme so zaokrúhľovaním na štvrťhodiny)... Ale u Vás uvádzate, že vyrobíte metlu za 0,042536 dňa, či 1 km cesty za 7,6 dňa? A začínate presne o 00:00 aby ste mohli rátať celý deň? A koniec jedného úkonu sa plynulo prelína s nasledujúcim úkonom bez presunu či prenastavenia?
Odkiaľ tie čísla pochádzajú?
=IF($G$5>E6;E6;$G$5)-D6
=KDYŽ($G$5>E6;E6;$G$5)-D6
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.