Hirdetés
Új hozzászólás Aktív témák
-
Louro
őstag
Sziasztok!
T-SQL, SQL Server 2016
Tegnap óta rágódok egy feladaton, hogy miképp lenne a leghatékonyabb megcsinálni. Lehet megmosolyogtató, de vannak buktató.
A végcél:A nehézséget az okozza - , hogy elsősorban, hogy fafejű főnökök vannak, így kötött a forma -, hogy az oszlopnevek dátumok. Ezzel nem is lenne igazából bajom.
A. verzió:
Agyaltam rajta, hogy ennek a transzponáltját csináljam-e meg. Mondhatni egy SELECT és sok-sok aggregált függvénnyel könnyen előállnak az adatok egy lépésben. De van a riportban 3 sor, amiben ragaszkodnak a % jelhez. Ha ezt az aggregáltba beteszem, akkor az unpivot során, amikor a végleges formára hoznám, nem tudja feldolgozni, mert eltérő az adattípus.
A/1. verzió: amikor az aggregált számokat előállítom, mindent szöveggé alakítom és tudok unpivot-tal élni.
A/2. verzió: A speciális jelet kihagyom, majd a végleges nézetre hozáskor soronként végigiterálva megkeresem azt a 3 sort és betoldom a százalékjellel.B. verzió:
Ettől tartok, hogy überciki, de aztán lehet mégsem. Létrehozom a végleges formához a táblát. Mindig létrehozok egy új oszlopot a kívánt névvel és annyi update-et írok, amennyi sorom van. Így a speciális karakterek is könnyen kezelhetőek és módosítás/bővítés is talán átláthatóbb.Utálom a túlbonyolított, átláthatatlan kódokat. Ha kell, áldozok a performancia oltárán, mert nem több száz milliós táblákkal kell dolgozni szerencsére.
Bevallom az A/1. verzió most ugrott be, mikor elkezdtem írni. Ez tűnne a legideálisabbnak, mert az aggregált függvényekben ott lesz az üzleti logika ( SUM(CASE WHEN...)) ).
Esetleg valakinek valami javaslata?
Új hozzászólás Aktív témák
- Behemoth Gaming PC I Intel Core i7-6700K I AMD R9 280X 3GB I 16GB DDR4 I GARANCIA I BESZÁMÍTÁS I
- ÁRESŐ! Dell Inspiron 3493 /10.gen i5-1035G1/8GB/512 GB SSD FHD
- Kingston 2x16Gb DDR5 5200Mhz CL40
- Remek áron Lenovo Flex 5 14 laptop/2in1/Touch/Ryzen i5-1135G7/8GB/512 GB SSD/14"/Gari
- AKCIÓ% Dobozos HP VICTUS Gamer laptop/i5-11400H/16GB/512GB SSD/RTX 3060 6GB
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest