pivot og sammentælling uden VBA
Hejsa,Jeg forsøger af forskellige årsager at løse nedenstående UDEN brug af VBA.
I et dynamisk miljø - en rapport med mange parametre og sammentællinger - skal jeg kunne optælle antallet af forskellige applikationer for et valgt organisatorisk niveau, dvs jeg kan starte med at sammentælle antallet på business unit niveau (hvor mange forskellige applikationer bruges i et organisatorisk område på 20+ afdelinger), derefter på Sub-unit niveau (10+ afdelinger) og slutteligt ned til den enkelte afdeling.
Masterdata er som følger:
Et ark indeholder 30.000+ rækker.
Arket lister pr. afdeling, pr. pc, hvilke programmer der er installeret, med en række pr. applikation pr. pc. Ud fra nedenstående princip.
PC-id | Afd-id | Software-ID(Navn i eksemplet)
PC1 |Afd-a |Winzip
PC2 |Afd-a |Winzip
PC10 |Afd-b |Winzip
PC13 |Afd-d |Winzip
PC5 |Afd-a |MS Project
PC10 |Afd-a |MS Project
PC11 |Afd-c |MS Project
PC12 |Afd-a |Interwise
PC13 |Afd-d |Interwise
PC1 |Afd-a |Unigraphics
PC2 |Afd-a |Unigraphics
PC23 |Afd-x |Winzip
PC6 |Afd-d |Peregrine
PC7 |Afd-e |Cube
PC7 |Afd-e |Visio
PC7 |Afd-e |TracePro
En PC knytter sig til en afdeling, men listen er principielt ikke-ordnet
Hvordan sammentæller jeg ovenstående, således at resultatet i eksemplet bliver:
Bus.Unit med Afd a,b,c,d: 5
Sub_unit med a,b: 4
Senere ønsker en anden at vise afdelingerne geografisk på landebasis, og vil vise afd d,e = 6
Med VBA (ønskes undgået)
Med brug af VBA ville jeg nok selv starte med at lave en pivot, der i rækkerne har gruppering baseret på afd-id, med underniveau: Software-id, og hvor data vil være count af antal forekomster af Software-id (i denne afd givet inddelingen). Brugeren indlæser herefter en række afdelings-id i et ark (faktisk igen en collection af collections, fordi han kan indlæse afdelinger i lige så mange puljer som han anvender kolonner) Med min collection af afdelinger som brugeren ønsker sammentalt vil jeg traversere pivot'en én afdeling ad gangen, og tilskrive nye software-id'er i et array, hvor ubound af array = antal applikationer for de valgte afdelinger, for hver gruppe af afdelinger nulstilles array selvfølgelig...
Men - kan jeg gøre dette uden brug af VBA overhovedet. Jeg tvivler selv, men pointene går til den, der løser det uden VBA. Alternativt med så lidt VBA som muligt, og så må vi jo file lidt i point-puljen med mængden af kode-linjer :-)
