< návrat zpět

MS Excel


Téma: Jak na datum od do v kontingenční tabulce rss

Zaslal/a 5.11.2014 10:10

Zdravím, mám jednu tabulku v MS SQL databázi. V ní mám asi 30 sloupců, ale pro kontingenční tabulku chci používat jen 3 sloupce. Tabulka má 500 000 řádků. Sloupce jsou - Jméno, typ formuláře, Datum. Mým cílem je jednoduše vybrat datum např. 3.11.2014-5.12.2014 a v tomto období kdo a kolik zpracoval formulářů. Vše je Ok kromě data, protože kontingenční tabulka mi ukazuje prvních 10 000 datumů, ale i v tomto případě musím složitě vybírat jednotlivé dny v měsíci. Už jsem to zkoušel pomocí SQL dotazu, ale není to moc friendly. Děkuju za pomoc. Marek

Zaslat odpověď >

Strana:  1 2   další »
icon #022164
avatar
Buď dotazom priamo v MS SQL obmedziť záznamy na rozsah požadovaných dátumov (ale píšeš, že to je user unfriendly), takže ďalšie možnosti, ktoré ma napadajú a sú pmn schodné (určite existujú i iné):

1. Ako medzistupeň použiť Access a vytvoriť príslušný dotaz v ňom
2. Do úvahy prichádza i MS Query, kde si môžeš parametrický dotaz vytvoriť, ale nie som si istý, či zvládne 500000 vstupných záznamov, asi zvládne, ale neskúšal som.
3. PowerPivotcitovat
#022165
avatar
Je pravdou, ale, že mě bude zajímat pouze posledních 30 dní. Tj. dnes je 5.11. 2014 a mě zajímají počty pouze mezi 5.10. 2014 - 5.11.2014, to jsou spodní a horní hranice pro výpočet, například budu chtít třeba zjistit počet mezi 10.10.2014-5.11.2014 . Děkuju MArekcitovat
#022166
avatar
Moc jsi toho nenapsal.

kt běžně datum seskupuje, případně, pokud je v poli řádků, lze zadat seskupit a vybrat podle čeho (rok, mněsíc, den, ...). Pak lze docela snadno naklikat.

Jinak dobře definovaný dotaz je základ.citovat
icon #022167
avatar
Ako najvhodnejší (najjednoduchší na zmenu parametru, ktorým je v tomto prípade rozsah dní od-do) sa mi javí z 3 mnou uvedených možností riešenia parametrický dotaz vytvorený v MS Query, kedy hodnotu parametru (v tomto prípade parametrov) je možno načítať priamo z konkrétnych buniek, v ktorých je potom možné rozsah od-do meniť. Do pivotky sa potom budú načítať rovno iba záznamy, spĺňajúce dané kritérium výberu.citovat
#022169
avatar
Možná jsem to skutečně špatně popsal. Tak zkusím ještě jednou. Mám SQL server, kde mám mnoho sloupců a cca 500 000 řádků. Já chci vytvořit kont. tab., protože se s tím dobře pracuje, kde budu mít pouze sloupce tři a to Jmeno, Typformuláře, Datumzpracování ( jakékoliv rozmení od do za posledních max 30 dní od aktuálního data). Výsledkem bude to, že uvidím kolik formulářů, kdo, jaký typ formulářů, v jakém časovém rozmezí zpracoval. Jde mi o data v jakémkoliv rozmezí, ale nejvýše za posledních 30 dnů, starší mě nazajímají.Marekcitovat
icon #022170
avatar
Zadaniu rozumiem a pochopil som ho, trúfam si tvrdiť, hneď z prvého príspevku. Rozumieš pre zmenu ty navrhovanému riešeniu (lubovmu, môjmu, to je fuk)? Asi nie, viď?citovat
#022172
avatar
No k bodům:

1. Ako medzistupeň použiť Access a vytvoriť príslušný dotaz v ňom...toto nevím jak, nemám ani access

2. Do úvahy prichádza i MS Query, kde si môžeš parametrický dotaz vytvoriť, ale nie som si istý, či zvládne 500000 vstupných záznamov, asi zvládne, ale neskúšal som _ zkoušel jsem to přes SQL příkaz, tam ještě nemám zmáknuté podmínky a je to unfriendly, pro mě ne ale pro kolegyně ano
3. PowerPivot_ zkoušel jsem a zatím v tom tápu, ale budu se snažit s tím něco udělat.

Jde taky o to, aby to zvládl člověk bez větších znalostí SQLcitovat
icon #022174
avatar
Nemám prístup k SQL serveru, takže vyskúšať nedokážem. Vzhľadom k tomu, že píšeš, že dáta z SQL serveru do Excelu natiahnuť dokážeš, tak mám za to, že MS Query v tvojom prípade musí fungovať! Nič na tom nie je, stačí vedieť, ako na to, perfektný návod je tuná: https://www.youtube.com/watch?v=P9cUYpXIKsU
Mám za to, že tých 500000 riadkov z SQL ťaháš z jednej jedinej tabuľky, v tom prípade si v MS Query dotiahneš z danej tabuľky akurát požadované 3 stĺpce (polia) a výber obmedzíš parametrom (v tomto prípade budú parametre dva, t.j. dátum od-do), hodnoty ktorých budeš meniť v 2 bunkách v exceli, ako názorne popisuje vo svojom návode Craig Hatmaker. Toto zvládne pmn i človek s minimom znalostí SQL, okrem toho, stačí, pokiaľ to vytvoríš ty a kolegyne si potom budú meniť akurát rozsah od-do už v priamo v Exceli, oni o SQL nemusia vedieť ale naprosto nič :) Výsledok query vrátiš do Excelu samozrejme už rovno vo forme kontingenčnej tabuľky.

Inak, schématický zápis parametrického dotazu by v uvedenom prípade vyzeral približne takto:

SELECT Meno, TypFormulara, Datum
FROM Tabulka1
WHERE Datum>=[DatumOd] AND Datum<=[DatumDo];

prípadne takto:
SELECT Meno, TypFormulara, Datum
FROM Tabulka1
WHERE Datum BETWEEN [DatumOd] AND [DatumDo];

hranaté zátvorky v tomto prípade indikujú práve prítomnosť parametra. Ako hovorím, nič zložitého ani pre skoro úplného začiatočníka :)

btw, KT umožňuje okrem zoskupovania cez dátumy, čo zmieňuje lubo, dáta cez dátumy i filtrovať, t.j. nastaviť rozsah od-do priamo v KT tiež ide a pmn ani táto možnosť zložitá rozhodne nie je...citovat
#022187
avatar
Děkuju za odpověď. Mám poslední věc: co mám zadat do parametru [DatumOd] a [DatumDo]; nebo čím se definuje.

Marekcitovat
icon #022202
avatar
No, v SQL to tak má byť, t.j. v hranatých zátvorkách necháš to, čo uvádzam, t.j. [DatumOd] a [DatumDo]. On v tých zátvorkách nemusí text byť, ale je lepšie to tam nechať kvôli prehľadnosti. Inými slovami, ten SQL príkaz by mohol byť i v tvare:

SELECT Meno, TypFormulara, Datum
FROM Tabulka1
WHERE Datum>=[] AND Datum<=[]

Pri spustení dotazu budeš potom vyzvaný, aby si vložil dátumy (do textboxu), alebo, pokiaľ v dotaze uvedieš zdroj, z ktorého sa hodnoty od a do budú načítať, t.j. adresy buniek v Exceli, v ktorých budeš tie dátumy zadávať tak si ich dotaz dosadí z uvedených buniek (toto opäť názorne ukazuje Craig vo svojom videjku, tak sa na to pozri)citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse