Výuka a školení Excelu Výuka a školení Excelu Výuka a školení Excelu
Výuka a školení Excelu Výuka a školení Excelu
Zobrazují se příspěvky se štítkemPráce s daty. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemPráce s daty. Zobrazit všechny příspěvky

pátek 27. prosince 2013

Řazení čísel pomocí funkce

Příklad

Potřebuji seřadit čísla v tabulce. Nechci ale (nebo nemohu) to udělat řazením - potřebuji použít funkci.

Návod

Připravím si někde sloupeček, kde budou čísla od jedničky do tolika, kolik je čísel. Pak do vedlejších sloupečku zapíšu funkci LARGE (řazení od největšího), resp. SMALL (řazení od nejmenšího).
Tato funkce bude mít v prvním parametru oblast, kde jsou původní neseřazená čísla, a ve druhém číslo z vedlejšího sloupce. Toto číslo vyjadřuje, kolikáté největší (nejmenší) číslo se právě na této pozici má zobrazit.


Pokud bych se chtěl obejít bez pomocného sloupečku, mohl by zápis funkce vypadat např. takto:
=LARGE(A:A;ŘÁDEK()-1)
V následujícím příkladu je v praxi použita kombinace funkce SMALL a SVYHLEDAT pro seřazení jmen závodníků podle času, kterého dosáhli:
Zápis funkce pak může vypadat např. takto:
=SVYHLEDAT(SMALL($A$2:$A$7;ŘÁDEK()-1);A:B;2;0)

úterý 26. listopadu 2013

Propojování tabulek v Excelu, Accessu, Power Pivotu a SQL

Propojování tabulek je téma, které na různých kursech často řešíme. Proto bych chtěl tento článek věnovat tomu, jak se tato otázka řeší v různých typech aplikací. Vybral jsem si ty, které běžný uživatel asi použije nejčastěji - tedy samozřejmě Excel, dále pak Access a Power Pivot, a navíc ještě jazyk SQL - platný plus minus univerzálně v databázových nástrojích.

Příklad

Ve všech čtyřech ukázkách budu pracovat s jedním příkladem. Řekněme, že máme několik zaměstnanců, kteří pracují na pobočkách. Tyto pobočky jsou ve městech.
V jedné tabulce jsou zaměstnanci a čísla poboček, kde pracují. Ve druhé tabulce jsou pobočky a města. Každý zaměstnanec tedy pracuje na určité pobočce, a protože každá pobočka je v určitém městě, tak každý zaměstnanec pracuje i v určitém městě.

Mým cílem je přidat do posledního sloupce v první tabulce města, kde zaměstnanci pracují. Přičemž tato města jsou ve druhé tabulce. K tomuto se tedy chci dopracovat:

Jak na to v Excelu

V Excelu použiji, nám už docela dobře známou, funkci SVYHLEDAT / VLOOKUP.
Zapíšu ji do první buňky oblasti s výsledky a roztáhnu dolů.


Funkce má v první buňce takovouto syntaxi:
=SVYHLEDAT(C4;F:G;2;0)
  • C4 - co se má ve druhé tabulce hledat
  • F:G - kde je tabulka, ze které se čerpá výsledek
  • 2 - z kolikátého sloupce se čerpá výsledek
  • 0 - protože chci přesnou shodu (ne přibližnou)
Více o funkci SVYHLEDAT tady.

Jak na to v Power Pivotu 

V Power Pivotu je třeba nejprve zadat informaci o tom, že a jak jsou tabulky propojeny.
V datovém modelu tedy vytvoříme relaci, která tento vztah zachycuje.

Tím dáme Excelu na vědomí, které tabulky a přes co jsou propojené.
Pak použijeme zápis jazyka DAX a do tabulky s lidmi přidáme vzorec, který odkáže na tabulku s pobočkami.
Syntaxe funkce je:
=related(pobocky[Město])


Kulaté závorky označují tabulku, do které se odkazuji, a hranatá závorka konkrétní sloupec. Vidíme, že syntaxe je výrazně jednodušší než v běžném Excelu. Je to proto, že ve vzorci nemusím určovat, přes co se tabulky propojují. To už je dáno nadefinováním relace (vztahu) tabulek. Funkci RELATED tedy stačí jen jeden parametr oproti čtyřem parametrům, které vyžaduje SVYHLEDAT. 
Výsledek je ale v zásadě podobný jako v předchozím případě.

Jak na to v Accessu

V Accessu je to podobné jako v Power Pivotu. 
Nejprve musíme propojit tabulky, podobně jako v Power Pivotu:

Pak vytvořím dotaz. Tady je tedy principiální rozdíl mezi předchozími dvěma případy a Accessem i SQL. Zatímco v Excelu a v Power Pivotu jsme do jedné tabulky přidávali hodnoty z druhé tabulky, tak v Accessu propojíme tabulky tak, že vytvoříme nový dotaz obsahující sloupce z obou tabulek.

Výsledkem je pak takováto tabulka (která je ovšem ve skutečnosti dotazem):


Jak na to v jazyce SQL

Jazyk SQL se používá univerzálně, nezávisle na technologii.
Dotaz, který jsme si ukázali v předchozím případě, by vypadal takto:
  • SELECT zamestnanci.[Jméno zaměstnance], zamestnanci.[Číslo pobočky], pobočky.Město FROM pobočky INNER JOIN zamestnanci ON pobočky.[Číslo pobočky] = zamestnanci.[Číslo pobočky];
Vysvětlení logiky:
  • SELECT zamestnanci.[Jméno zaměstnance], zamestnanci.[Číslo pobočky], pobočky.Město (vyber Jméno zaměstnance a Číslo pobočky z tabulky "zamestnanci" a dále Město z tabulky "pobočky") FROM pobočky INNER JOIN zamestnanci ON pobočky.[Číslo pobočky] = zamestnanci.[Číslo pobočky] (tabulka "pobočky" je provázaná s tabulkou "zamestnanci" na základě toho, že Číslo pobočky je v obou tabulkách stejné).
Výsledkem je stejný dotaz jako v předchozím případě.

čtvrtek 7. listopadu 2013

Scoring v Excelu

V tomto článku navazuji na sérii článků o dataminingu v Excelu - tentokrát půjde o scoring. Než se pustíme do Excelu, chci v rychlosti vysvětlit, k čemu se scoring používá a jak funguje.

Scoring - příklad použití

Jeho typické použití je v bankách. Klient přijde požádat o úvěr, a banka rozhodne, jestli mu jej dát nebo nedat.
Pokud mu úvěr dá, tak klient buď bude splácet (pak banka vydělá), nebo nebude (pak banka přijde o půjčené peníze). Pokud banka klientovi úvěr nedá, pak o žádné peníze nepřijde, ale také nevydělá. Je tedy nesmírně důležité rozdělit klienty co nejpřesněji na ty, kteří budou splácet, a na ty, kteří nebudou - a půjčit jen těm prvním.
Banka má o klientech řadu informací, podle kterých se může rozhodovat (např. měsíční příjem klienta, počet závislých osob, délku současného zaměstnání klienta, příjem...). Některé z těch informací jsou důležité, jiné méně. Je důležité odlišit ty podstatné od těch nepodstatných a rozhodovat se jen podle těch, které mají na výsledek skutečně vliv. Tedy stanovit váhy informací - kritérií a určit způsob, jak výsledek ovlivňují.
Banka se k tomu může postavit dvěma způsoby. Může vybrat důležitá kritéria (a jejich hodnoty) na základě osobní zkušenosti expertů, zákonných požadavků a podobných informací "zvenku". Tato cesta nás teď ale nebude zajímat.
Druhým způsobem je podívat se, jak se kritéria osvědčila v minulosti, a podle toho rozhodovací proces nastavit, resp. upravovat. A o tom, jak to udělat, je tento článek.
Scoring se také používá pro odhadování potenciálních zákazníků. Pokud vám například telefonní operátor zavolá a nabídne nový tarif, je pravděpodobné, že jste dostali vysoké skóre, když operátor skóroval své zákazníky. Skóroval je s ohledem na to, jak je pravděpodobné, že budou chtít nový tarif a že za něj utratí hodně peněz. A pokud Vám operátor volá, zřejmě vám vyšlo skóre vysoké.

Příklad a návod

Odhadování reakce zákazníků se bude týkat náš příklad. Máme sto zákazníků, kterým jsme v minulosti nabídli nový volací tarif. U těchto zákazníků víme nejen jestli si tarif koupili, ale také kolik jim je let, jakého jsou pohlaví, z jak velkého jsou města a navíc jestli při oslovení byli našimi zákazníky (pro jinou službu nebo tarif) nebo ne.
Tabulku si můžete stáhnout zde.
Mým úkolem je vytvořit předpovídací model, který mě umožní u každého budoucího potenciálního zákazníka, u kterého budu znát uvedené informace, určit, jestli si produkt koupí nebo ne. Nebudu tak zbytečně a draze oslovovat marné případy, a zároveň mi neuteče žádný potenciální dobrý klient.
Takto vypadá tabulka s údaji z minulosti, na základě které model vznikne:


Nejprve data označím a jdu na Vložit / Tabulka. Od této chvíle už s tabulkou Excel pracuje jako s uceleným souborem dat.


Pak jdu na Nástroje tabulky / Analyze. Pokud pod Nástroji tabulky kartu Analyze nevidím, musím si doinstalovat analytický doplněk k Excelu a připojit se na MS SQL Server.
Kliknu na Prediction Calculator.


V "Target" vyberu, co chci předpovídat. V našem případě předpovídáme, jestli uživatel uzavře nebo neuzavře smlouvu.


Odklikneme a počkáme na zpracování výsledků.
Výsledkem jsou hned tři nové listy s výsledky. Pojďme si je projít.

List "Prediction report for..."

V tomto listu jsou dvě oddělené tabulky.
Ve spodní tabulce našeho příkladu je na první pohled vidět, že v datech se projevují tři faktory, které předurčují zákazníky k tomu, aby si nový produkt koupili.
Je to věk do třiceti let, ženské pohlaví a to, že zákazník pro nový tarif už je naším zákazníkem. Méně významnými, ale existujícími vlivy jsou pak věk od 30 do 41 let a od 41 do 55 let a také bydliště ve velkém městě.


V horní tabulce se stanovuje limitní skóre. Tedy skóre, které když bude u klienta překročeno, vyplatí se jej oslovit - protože smlouvu asi uzavře.


K tomu ale musíme dodat další informace:
  • False Positive Cost
    Zadávám, kolik bude stát, když se model splete a navrhne k oslovení klienta, který smlouvu neuzavře. Čím větší číslo, tím bude model opatrnější, a bude požadovat vyšší skóre k tomu, aby navrhl klienta k uzavření smlouvy. V našem případě třeba 50 - protože, dejme tomu, oslovení klienta stojí 50 Kč a pokud klient smlouvu neuzavře, tak o ty peníze přijdeme.
  • False Negative Cost - zadám, kolik mi bude stát, když se model splete a navrhne mi, že nemám oslovovat klienta, ač by tento klient ve skutečnosti smlouvu uzavřel. Čím větší číslo, tím nižší skóre bude model požadovat - protože se bude snažit falešně negativnímu hodnocení vyhnout. V našem případě můžeme nechat nulu - chybné neoslovení klienta nás nebude stát nic.
  • True Positive Profit - zadám, kolik vydělám v případě, že model správně určí klienta k oslovení. Tedy potenciální tržby za klienta. Pokud budu vědět, že každý klient, kterého oslovím, a on uzavře smlouvu, mi vydělá 500 Kč, vyplním 500.
  • True Negative Profit - pokud bych měl nějaký zisk z toho, že model vyhodnotí správně a negativně některého z klientů, vyplním to sem. V našem případě necháme nulu.
Výsledkem je skóre. Tedy hodnota, kterou musí potenciální klient za všechny parametry (věk, pohlaví..) nasbírat, abychom jej oslovili s nabídkou smlouvy.

List "Prediction Calculator for ..."

Spodní tabulka je stejná jako u předchozího listu, zajímá nás tedy ta horní.
Teď už jsme v situaci, kdy máme potenciálního klienta, a chceme odhadnout, jesti uzavře nebo neuzavře smlouvu.
V tabulce vyplníme vlastnosti tohoto posuzovaného klienta. V našem případě je to například žena mladší než 30 let, bydlící v malé obci, která zatím není naším zákazníkem.


A hned po vyplnění vidím, že tato žena na nabídku nového produktu zřejmě zareaguje pozitivně a smlouvu uzavře. A tím jsme splnili účel našeho snažení - od teď už můžeme takto odhadovat každého klienta.
Výše skóre, kterou musela součtem svých parametrů překonat, se odvíjí mimo jiné od cen, zadaných na předchozím listě.

List "Printable Calculator for..."

Na tomto listě je obsahově to, co na tom předchozím, jen upravené pro vytisknutí a ruční vyhodnocování - třeba pro pracovníky v terénu.


neděle 3. listopadu 2013

Data mining - vysledování závislostí - doplňování dat do tabulky podle vzoru

V tomto článku popisuji jednu hodně zajímavou funkci Excelu - doplňování dat podle určitých zákonitostí.
Jedná se o funkci založenou na dataminingovém doplňku Excelu. Informace o něm a o jeho instalaci jsou uvedené v tomto článku, který popisuje jinou jeho funkci - analýzu nákupního košíku.
Teď tedy předpokládám, že doplněk je správně nainstalovaný a připravený k použití.

Příklad

Firma nabídla zboží dvaceti zákazníkům. Někteří si jej koupili, někteří ne. Teď má dalších 80 potenciálních zákazníků, a chce odhadnout, jestli si zboží koupí nebo ne.
U všech zákazníků, současných i budoucích, firma sleduje tři charakteristiky - pohlaví, věk a velikost bydliště zákazníka. Předpokládám, že tyto charakteristiky mohou, ale nemusí, mít vliv na rozhodování zákazníka o nákupu.
Skuteční i potenciální zákazníci jsou v jedné tabulce, která vypadá takto. Tedy rozhodnutí o nákupu znám pouze u některých zákazníků.
Tabulku k vyzkoušení si můžete stáhnout zde.

Řešení

Jdu kamkoliv do tabulky. Jdu na kartu Nástroje tabulky / Analyze. Pokud tato karta není k dispozici, nemám zřejmě nainstalovaný dataminingový doplněk, který obsahuje kromě dataminingu i nástroje pro analýzu tabulky.
V kartě Analyze kliknu na Fill from examples.

V následujícím dialogu vyberu, který sloupec obsahuje částečně hodnoty, které chci doplnit. Bere se to tak, že ostatní sloupce obsahují informace, které mohou ovlivnit výsledek. 

Excel se připojí na Analysis Services a chvilku data chroustá. Výpočty, které v tuto chvíli probíhají, jsou vnitřně docela složité - nás ale zajímá jen výsledek.

Výsledky jsou dva. Na novém listu je znázorněné, jak moc který parametr ovlivňuje výsledek.

















  • V našem případě Excel zjistil, že na nákupní rozhodování má vliv pouze pohlaví a věk - bydliště vůbec.
  • Nejvýraznějším faktorem pro nákup je ženské pohlaví zákazníka, a trochu slabší vliv má věk mezi 15 a 28 lety.
  • Faktorem pro odmítnutí nákupu je mužské pohlaví zákazníka.
  • Ideálním zákazníkem, který zřejmě koupí náš produkt, je tedy žena ve mezi patnácti a osmadvaceti.
Kromě toho v původní tabulce přibyl nový sloupec. V něm jsou jednak zopakované hodnoty od zákazníků, kde už byly uvedené, ale kromě toho, a to je hlavní, dopočítané hodnoty u těch zákazníků, kde jsme informaci neměli. Jsou dopočtené podle logiky, kterou měla už známá data - tedy v našem případě je "Koupil" uvedeno hlavně u mladších žen.

A to je celé. 



středa 31. července 2013

Práce s hierarchickými daty - má někdo zkušenost a poradí?

Nedávno jsem potřeboval vytvořit úkol podobný tomuto. Týká se práce s daty, která jsou řazena hierarchicky - v tomto příkladě se jedná o organizační strukturu pracovníků firmy.
Nenašel jsem ale žádné jednoduché řešení. Uměl bych asi napsat makro, ale raději bych našel řešení bez makra.
Je někdo schopný s tímto poradit?
V příkladu mám tabulku zaměstnanců. V jednom sloupci je jejich jméno, ve druhém jméno jejich nadřízeného a ve třetím mzda. Mohlo by jít i o dvě tabulky, jednu s identifikací nadřízeného a druhou s mzdou pracovníka - to je jedno.
Jde o to, že potřebuji sečíst mzdy všech podřízených určitého pracovníka - tak, jak je to ve druhé tabulce.
I když jsem to tehdy nakonec nemusel řešit, je to docela zajímavý oříšek který se mi nedaří rozlousknout. Poradí někdo? Hledám samozřejmě řešení, které je použitelné i pro rozsáhlé tabulky a nevyžaduje žádné "manuální" zásahy.
Nevadilo by, pokud by řešení bylo limitované např. pěti úrovněmi, jednalo se o data s malým počtem uzlů.



úterý 28. května 2013

Excel, Microsoft a Gartner

Společnost Gartner publikuje každý rok takzvané "Magic quadrants". Grafy, ve kterých hodnotí pro různá odvětví softwaru kvalitu hlavních hráčů. Dalo by se docela dlouho debatovat o tom, jestli je hodnocení přesné a osobně si nedělám ambice to posuzovat. Nicméně jedná se víceméně o jediné hodnocení tohoto typu, takže výsledky jsou docela uznávány.
Jeden z nejvíce sledovaných kvadrantů se týká business intelligence - zjednodušeně systémů pro analýzu dat.
A z pohledu Excelu (a z pohledu přihřívání polívčičky tohoto blogu) je docela zajímavé, že Microsoft se umístil na nejlepším místě žebříčku co se týká "Ability to execute", což bych přeložil jako "praktickou využitelnost".

A zajímavé je to právě kvůli Excelu. Autoři jej totiž už považují za součást BI od Microsoftu (přičemž u jiných výrobců se za BI považují spíše databázové a analytické servery), a právě Excel uvádějí jako jeden z důvodů vysokého umístění Microsoftu.
Za hlavní výhody Microsoftu oproti konkurenci Gartner považuje (dovoluji si přeložit a zkrátit):
  • Celkovou integrovanost BI řešení od MS SQL přes Excel a PowerPivot až k SharePointu
  • Relativní snadnost implementace oproti konkurentům
  • Konkurenceschopnou cena licencí
  • Rychle se zlepšující Excel, u kterého se očekávají další zajímavé pokroky v oblasti BI
  • Přístupnost pro méně technicky zdatné uživatele (i díky použití Excelu jako rozhraní mezi uživatelem a systémem)
Za problematická místa naopak Gartner považuje:
  • Nižší úroveň starších verzí MS SQL v porovnání s konkurencí (kriticky hodnotí verzi 2008, která ve srovnání s konkurencí zaostává).
  • Vysokou komplexitu celkového řešení (tedy zase provázanost MS SQL, Excelu a SharePointu), která přináší komplikovanost řešení (čili je to současně pozitivum i negativum).
  • Přílišné zaměření na koncové uživatele
  • Zaostávání v mobilních technologiích
Řada uživatelů si možná neuvědomuje, že Excel je (často samozřejmě ve spolupráci s dalšími systémy) velmi silným nástrojem pro analýzu dat. A i když existují na trhu v analýze dat i zvučnější jména (Oracle, SAS, IBM), Microsoft už je docela dobře dotahuje nebo předbíhá. A to právě (ale nejenom) díky výborné praktické využitelnosti, protože BI řešení od Microsoftu prostě fungují jednodušeji než u konkurence.
Dá se čekat, že analytické funkce budou přibývat a že budou současně chytřejší i jednodušší na použití. A že to, co dříve mohli dělat jen programátoři nebo databázoví specialisté, budou moci brzy dělat i pokročilejší uživatelé Excelu. Osobně jsem měl možnost pracovat s verzemi Excelu a MS SQL od 2000 přes 2005 a 2008 po 2012 a mohu potvrdit, že zlepšení se projevuje nejen v množství funkcí, ale ještě více v jejich dosažitelnosti pro uživatele.
Pokud tedy máte rádi Excel (nebo Vám alespoň není úplně odporný :) ) a něco v něm umíte, můžete se těšit na to, že své znalosti budete teď nebo v blízké budoucnosti umět využít i způsoby, o kterých se Vám zatím ani nesnilo.

pondělí 13. května 2013

Excel a relační data

Excel je výkonný nástroj pro zpracování dat. Patří do skupiny aplikací nazývané "Tabulkové procesory" neboli "Spreadsheety".
Historie spreadsheetů je docela stará. Vznikly cca na přelomu sedmdesátých a osmdesátých let. Impulsem k jejich vytvoření bylo to, že uživatele přestalo bavit vždy přepočítávat celý příklad ve chvíli, kdy se změnil jeden ze vstupů - tak, jako v ruce nebo na kalkulačce. Když zjistíte, že jste někde udělali chybu, musíte přepočítat všechno znovu.
Tak tomu skutečně dřív bývalo, že se ty příklady musely přepočítávat. Pak se ale dalo pár chytrých hlav dohromady a řekli: Dost! A není náhodou, že těch pár chytrých hlav se našlo v Applu, který v té době hýbal světem počítačů.
Od té doby z původního VisiCalcu vznikla řada aplikací, z nichž aktuálně nejrozšířenější je s velkým  náskokem Excel.
A i když Excel už dnes vypadá úplně jinak než jeho pradědečci a obsahuje mnohonásobně více zajímavých funkcí, z hlediska dat funguje pořád na podobném principu. Jinými slovy - data ukládá do separátních tabulek, které spolu nejsou propojené. Databáze je tak tvořena v zásadě jen jednou tabulkou.
Tím se principiálně odlišuje od relačních databází. Tam jsou data naopak uložena do většího množství tabulek. Mezi nejznámější software pro správu relačních databází patří např. Oracle, MS SQL, DB2, ale také Access.
Teď ale dochází k docela zajímavé změně. Excel se učí pracovat i s relačními daty, a uživatelům tím dává do ruky zásadně jinou a novou funkcionalitu.
Nějaké náznaky už byly ve starších verzích (za jeden z takových náznaků se dá považovat i funkce VLOOKUP / SVYHLEDAT, která více tabulek propojuje), ale větší změna přišla až s doplňkem PowerPivot pro Excel 2010 a Excel 2013.
V tomto doplňku můžeme s relačními databázemi pracovat docela zajímavě (byť zdaleka ne tak dobře jako ve specializovaných softwarech pro správu relačních databází).
V tomto článku chci ale ukázat jinou možnost relačního propojení tabulek. Trochu méně funkční, ale zato jednodušší, a navíc funkční i v běžných verzích MS Office 2013.

Příklad

Původní data pro příklad ke stažení tady
Hotové řešení ke stažení tady
Naším úkolem bude vytvořit jednoduchý report o tom, ze kterých oblastí máme kolik zákazníků.
Jinými slovy potřebuji z těchto dat:

Vytvořit tuto kontingenční tabulku:
Problém je samozřejmě v tom, že zatímco počty lidí jsou v první tabulce, názvy oblastí jsou v té druhé. Čili potřebuji do jedné kontingenční tabulky spojit dvě tabulky se zdrojovými daty.
Začnu tím, že si tabulky pojmenuji. První tabulku označím a jdu na Vložení / Tabulka. Potvrdím.

Ze skupiny buněk se teď stane tabulka tak, jak ji chápe Excel - a změní barvu na modrou a bílou.
Jdu na Nástroje tabulky / Návrh a změním Název tabulky např. na Lidé.

To samé provedu i s druhou tabulku, pojmenuji ji např. Oblasti.

A teď už se mohu pustit do samotného propojení. Jdu na Data / Relace / Nová...

Teď nastavím, které tabulky a jak jsou propojené.

V levém sloupci nastavím, o které tabulky se jedná. Volba je jednoduchá, tabulky mám stejně jen dvě - a jmenují se tak, jak jsem si je sám v předchozích krocích pojmenoval. V pravém sloupci pak nastavím sloupce, přes které jsou tabulky propojené. Tedy Číslo oblasti (z tabulky Lidé) a Oblast (z tabulky Oblasti). Jedná se vlastně o dva sloupce, které obsahují vzájemně odpovídající hodnoty - a přes které jsou tabulky de facto propojené.
Kliknu na OK a Zavřít.
Teď kliknu do jedné z tabulek (třeba do té první) a standardně z ní vytvořím běžnou kontingenční tabulku.

Kliknu na Další tabulky, pokud se objeví dotaz tak dám Ano.

A vida, do kontingenční tabulky už mohu vkládat pole z obou původních tabulek. A díky tomu, že jsem předtím vytvořil relaci, to dává logicky smysl.
Takto tedy vypadá výsledek:

Pokud Vás napadlo, jestli se někde dají zobrazit "zdrojová data" pro výslednou kontingenční tabulku (tedy propojené tabulky, jakoby přes SVYHLEDAT nebo přes jednoduchý SQL dotaz), tak se osobně domnívám, že to nejde, ale jistý si tím nejsem. Pokud někdo víte, jak na to, napište do diskuse.

neděle 12. května 2013

Analýza nákupního košíku - marketingová zbraň hromadného ničení

Když si kupujete něco v eshopu, často se Vám stane, že e-shop nabídne ještě další zboží, které by se Vám mohlo hodit. Když si například chcete koupit notebook, nabídne Vám e-shop ještě tašku na notebook, klávesnici, myš... Často je to zboží, které se Vám hodí a vy si jej často koupíte - což je samozřejmě to, čeho chce e-shop dosáhnout.
Systém e-shopu totiž dobře pozná, které zboží by Vás mohlo zajímat. Pozná to podle toho, co si kupovali lidé před Vámi. Tedy když si lidé před vámi kupovali k notebooku tašku na notebook, nabídne to systém i Vám. 
Takové nabídky zboží jsou velmi efektivní - protože pravděpodobnost, že si takto nabídnuté zboží koupíte, je mnohokrát větší než při náhodném výběru.
Pojďme si takovýto odhad udělat v Excelu. Je to překvapivě jednoduché - systém po uživateli nechce, aby znal logiku výpočtu, stačí zadat data a pochopit výsledky.
Pro výpočet potřebuji dataminingový doplněk v Excelu.
V příkladu použiji demodata dodávaná s doplňkem.  
Jedná se o tabulku s objednávkami zákazníků (pokud byste pracovali s daty neuloženými v tabulce, je třeba nejprve tabulku vložit). Zajímá nás v zásadě jen první a třetí sloupec. V prvním je číslo objednávky a ve třetím nakoupené zboží. Všimneme si, že hodnoty v prvním sloupci (čísla objednávky) se opakují - je to logické, protože v rámci jedné objednávky zákazníci nakoupili více druhů zboží.
V menu doplňku kliknu na Associate.

První obrazovka je jen informativní a mohu ji s klidem přeskočit.
V další obrazovce jen mohu vybrat tabulku nebo rozsah buněk, obsahujících analyzovaná data.

V další tabulce pak vybírám z tabulky správné sloupce k analýze. Pro Transaction ID vyberu první sloupec Order Number a pro Item vyberu Product. Tedy v Transaction ID vybírám údaj, který definuje skupinu, do které položka patří, a v Item vyberu to, co vlastně chci analyzovat.

Na další obrazovce nemusím nic měnit, jen kliknu na Dokončit a tím se spustí výpočet, který de facto probíhá ne v Excelu, ale na SQL Serveru (což nám ale může být jedno).
Takto vypadá výsledek:

Než se nad výsledkem zamyslím, přepnu si v Show Show attribute name and value na Show attribute name only. Tím se zbavím slova Exists u všech položek a výsledky jsou přehlednější.
Co mí tedy říká tabulka? Např. Probability 100%, Importance 0,96 a Rule "Classic Vest, HL Road Tire "šipka" Road Tire Tube mi říká, že ten, kdo si koupil současně "Classic Vest" a "HL Road Tire", si s nejvyšší možnou pravděpodobností koupí i "Road Tire Tube". Význam toho pravidla je 0,96, což vychází z toho, kolikrát se tato skutečnost v datech opakuje. Čím vícekrát a číslo je vyšší, tím je toto pravidlo samozřejmě prověřenější a dá se na něj více spoléhat.
Tabulku si mohu vyexportovat do Excelu pro snadnější použití při řízení marketingových kampaní.
Pro jiný pohled na souvislosti se ještě lze podívat do karty Dependency Network - interpretaci výsledků asi není třeba popisovat....

Analýza nákupního košíku - marketingová zbraň hromadného ničení

Když si kupujete něco v eshopu, často se Vám stane, že e-shop nabídne ještě další zboží, které by se Vám mohlo hodit. Když si například chcete koupit notebook, nabídne Vám e-shop ještě tašku na notebook, klávesnici, myš... Často je to zboží, které se Vám hodí a vy si jej často koupíte - což je samozřejmě to, čeho chce e-shop dosáhnout.
Systém e-shopu totiž dobře pozná, které zboží by Vás mohlo zajímat. Pozná to podle toho, co si kupovali lidé před Vámi. Tedy když si lidé před vámi kupovali k notebooku tašku na notebook, nabídne to systém i Vám. 
Takové nabídky zboží jsou velmi efektivní - protože pravděpodobnost, že si takto nabídnuté zboží koupíte, je mnohokrát větší než při náhodném výběru.
Pojďme si takovýto odhad udělat v Excelu. Je to překvapivě jednoduché - systém po uživateli nechce, aby znal logiku výpočtu, stačí zadat data a pochopit výsledky.
Pro výpočet potřebuji dataminingový doplněk v Excelu.
V příkladu použiji demodata dodávaná s doplňkem.  
Jedná se o tabulku s objednávkami zákazníků. Zajímá nás v zásadě jen první a třetí sloupec. V prvním je číslo objednávky a ve třetím nakoupené zboží. Všimneme si, že hodnoty v prvním sloupci (čísla objednávky) se opakují - je to logické, protože v rámci jedné objednávky zákazníci nakoupili více druhů zboží.
V menu doplňku kliknu na Associate.

První obrazovka je jen informativní a mohu ji s klidem přeskočit.
V další obrazovce jen mohu vybrat tabulku nebo rozsah buněk, obsahujících analyzovaná data.

V další tabulce pak vybírám z tabulky správné sloupce k analýze. Pro Transaction ID vyberu první sloupec Order Number a pro Item vyberu Product. Tedy v Transaction ID vybírám údaj, který definuje skupinu, do které položka patří, a v Item vyberu to, co vlastně chci analyzovat.

Na další obrazovce nemusím nic měnit, jen kliknu na Dokončit a tím se spustí výpočet, který de facto probíhá ne v Excelu, ale na SQL Serveru (což nám ale může být jedno).
Takto vypadá výsledek:

Než se nad výsledkem zamyslím, přepnu si v Show Show attribute name and value na Show attribute name only. Tím se zbavím slova Exists u všech položek a výsledky jsou přehlednější.
Co mí tedy říká tabulka? Např. Probability 100%, Importance 0,96 a Rule "Classic Vest, HL Road Tire "šipka" Road Tire Tube mi říká, že ten, kdo si koupil současně "Classic Vest" a "HL Road Tire", si s nejvyšší možnou pravděpodobností koupí i "Road Tire Tube". Význam toho pravidla je 0,96, což vychází z toho, kolikrát se tato skutečnost v datech opakuje. Čím vícekrát a číslo je vyšší, tím je toto pravidlo samozřejmě prověřenější a dá se na něj více spoléhat.
Tabulku si mohu vyexportovat do Excelu pro snadnější použití při řízení marketingových kampaní.
Pro jiný pohled na souvislosti se ještě lze podívat do karty Dependency Network - interpretaci výsledků asi není třeba popisovat....

čtvrtek 9. května 2013

Šestá hádanka - detektivní (kartel benzínek)

Představte si, že jste analytikem Úřadu pro ochranu hospodářské soutěže. Máte podezření, že některé benzínky jsou spolu domluvené a nastavují ceny společně - což je zakázané.
Víte, že v kartelu jsou spolu tři benzínky - jen nevíte, které. Poznáte to z přiloženého souboru, ve kterém jsou ceny benzínu za poslední měsíce?
Čísla jsou zcela vymyšlená.
Časová náročnost úkolu je do jedné minuty.
Další hádanky si můžete vyzkoušet tady.




Omezení doplňku PowerPivot v Office 2013

V minulých příspěvcích na tomto blogu jsem popisoval práci s doplňkem PowerPivot. Myslím si, že je to věc, která se Microsoftu opravdu povedla a která přináší i běžným uživatelům možnost využívat pokročilé techniky Business Intelligence.
V Office 2010 to fungovalo tak, že jste si doplněk stáhli a pak, do kterékoliv verze, jednoduše nainstalovali.
Předpokládal jsem, že tak nějak to bude fungovat i ve verzi 2013. V Microsoftu si ovšem asi řekli, že je třeba zákazníky po čase zase trochu naštvat. A od verze 2013 povolili PowerPivot pouze k verzi Office Professional Plus.
Jinými slovy pokud máte Office pro domácnost (3500 Kč) nebo pro podnikatele (6800 Kč), tak máte smůlu. Pro použití PowerPivotu si musíte koupit Office pro profesionály (14000 Kč). Za to dostanete jako bonus několik dalších aplikací, které nejspíš v životě nebudete potřebovat...
PowerPivot je hodně zajímavý pro každého, kdo se chce vážněji zabývat zpracováním dat v Excelu. Pokud je to i Váš případ a nechcete utrácet za nejdražší verzi Office, doporučuji velmi pečlivě zvážit přechod na novou verzi.

úterý 7. května 2013

Chcete být sexy? Naučte se pracovat s kontingenční tabulkou.

Myslíte si, že abyste byli sexy, je třeba dobře vypadat?
Pak nejspíše žijete v minulém století. Podle tohoto článku v Harward Business Review je v našem století tím nejvíce sexy ten, kdo umí analyzovat data.
Takže - klidně jezte, nesportujte a kašlete na svůj vzhled, ale kontingenční tabulky se učte :)

sobota 4. května 2013

Pátá hádanka - marketingová (kolik zaplatit za oslovení zákazníků)

Jste analytikem u významného mobilního operátora.
Vaše firma teď dostala zajímavou nabídku od marketingové agentury. Tato agentura Vám nabízí, že za určitou částku osloví 5000 Vašich potenciálních zákazníků ve věkové skupině mezi 27 a 29 roky.
Vy se teď připravujete na jednání s agenturou o ceně a potřebujete zjistit, kolik je maximální cena, za kterou se Vám ještě vyplatí nabídku využít.
Máte zjištěno, že zákazník, který si produkt koupí, pro Vás znamená čistý zisk cca 1000 Kč.
Při rozhodování Vám pomůže tabulka, kde máte výsledky oslovení zákazníků z dřívějších akcí, které byly velmi podobné.
Takže - za kolik ještě službu koupit a za kolik už ne?
Časová náročnost úkolu je zhruba několik minut.
Další hádanky si můžete vyzkoušet tady.

úterý 30. dubna 2013

Čtvrtá hádanka - detektivní (podvodný autobazar)

Máte k dispozici tato data o ojetých autech z několika autobazarů.
Zjistíte s pomocí tohoto souboru, který z autobazarů velmi pravděpodobně podvádí? Předpokládám, že autobazar podvádí tak, že stáčí tachometry.
Časová náročnost úkolu je zhruba jedna minuta.
Další hádanky si můžete vyzkoušet tady.

pátek 26. dubna 2013

Třetí hádanka - detektivní (zloděj mezi zaměstnanci)

Jste majitel obchodu. V poslední době se Vám z obchodu ztráceli cenné věci - bohužel se Vám ale nepodařilo dohledat zloděje. Až teď. Policie zadržela člověka, který se přiznal, že u Vás zboží kradl, a uvedl, že ke krádežím došlo v tyto dny:
  • 1.3.2012
  • 5.3.2012
  • 1.4.2012
  • 4.4.2012
  • 5.4.2012
  • 1.6.2012
  • 8.8.2012
  • 9.8.2012
Vy si ale myslíte, že na krádežích spolupracoval jeden z pěti prodavačů Vašeho obchodu - jen nevíte kdo a zloděj to odmítá prozradit.
Pro pátrání máte k dispozici tabulku s údaji o dění v obchodě, na jejímž základě je možné určit zloděje.
Zvládnete to? Není to těžké, ale chce to se zamyslet.
Tabulka s informacemi o dění v obchodě je ke stažení tady
Časová náročnost úkolu je zhruba do pěti minut.
Další hádanky si můžete vyzkoušet tady.

neděle 7. dubna 2013

FIltr - Upřesnit (Rozšířený filtr)

Tento článek se týká toho, čemu se ve starších verzích Excelu říkalo Rozšířený filtr. V novějších verzích se to nazývá "Upřesnit".
Pokud hledáte informace o Automatickém filtru, klikněte sem.
Tabulku, se kterou se v tomto příkladu pracuje, můžete stáhnout zde.

Příklad

Potřebuji z této tabulky odfiltrovat určité řádky.

Nejprve chci například mít zobrazené pouze záznamy, kde je ve sloupci zboží Křeček.

Návod

Než mohu filtrovat, připravím si tzv. oblast kritérií. To je další malá tabulka, kterou definuji filtrovací kritéria.
Dále v tomto článku si vysvětlíme, jak přesně funguje. Zatím si vytvoříme pouze jednoduchou tabulku, která má v záhlaví Zboží a v jediném řádku Křeček (chci vyfiltrovat pouze zboží Křeček).
Pak tabulka vypadá takto:

Nyní kliknu kamkoliv do původní tabulky a jdu na Upřesnit.

Zobrazí se mi dialog.

  • V první řádce se mi automaticky vyplnila celá oblast, kterou chci profiltrovat. Nemusím nic měnit.
  • Ve druhé řádce se odkážu na malou tabulku.
  • Ve třetí vyberu, kam se má zobrazit výsledek - pokud zaškrtnu, že to má být jinam než byla původní tabulka.

Kliknu na OK a je hotovo.

Další příklady zápisu filtrovacích kritérií

Filtrovací kritéria jsou zapsaná vždy v tabulce, ve které jsou záhlaví sloupečků a požadované hodnoty. Tato tabulka může mít více sloupců. Do filtrovacích kritérií v dialogu musím zahrnout celou tabulku - všechny řádky i sloupce.

Filtrování podle více kritérií, která musí platit současně

Vybírám všechny Křečky prodané 21.2.2013.
Hodnoty kritérií musí být ve stejném řádku.


Filtrování podle dvou kritérií, kdy má platit alespoň jedno:

Vybírám všechny prodeje Křečků, a současně všechny prodeje 21.2.2013:
Hodnoty kritérií musí být v různém řádku.

Filtrování podle porovnání s číslem

Vybírám všechny prodeje s tržbou větší než 40:
Použiji příslušná znaménka.

Vybírám, co se nerovná určité hodnotě

Vybírám všechno kromě křečků.
Použiji obě porovnávací znaménka najednou.