ПостгреСКЛ

Пивот са / без Таблефунц

Пивот са / без Таблефунц

Изведена табела је моћан алат за процену, компајлирање и преглед података како би се обрасци и трендови пронашли још лакше. Изведене табеле могу се користити за обједињавање, сортирање, уређивање, преуређивање, груписање, укупан или просечан податак у скупу података како би се заиста разумеле асоцијације и зависности података. Коришћење заокретне табеле као илустрације је најлакши начин да се покаже како ова метода делује. ПостгреСКЛ 8.3 је лансиран пре неколико година, а нова верзија названа 'таблефунц' је додат. Таблефунц је компонента која садржи неколико метода које дају табеле (односно више редова). Ова модификација долази са врло сјајним опсегом карактеристика. Међу њима је и метода унакрсне табеле која ће се користити за креирање заокретних табела. Метода унакрсне табеле узима текстуални аргумент: СКЛ наредба која враћа необрађене податке у првом распореду и враћа табелу у следећем распореду.

Пример изведене табеле без ТаблеФунц:

Да бисте започели рад на ПостгреСКЛ пивотирању са модулом 'таблефунц', морате покушати направити пивот табелу без њега. Дакле, отворимо љуску командне линије ПостгреСКЛ и наведимо вредности параметара за потребни сервер, базу података, број порта, корисничко име и лозинку. Оставите ове параметре празне ако желите да користите подразумеване изабране параметре.

Створићемо нову табелу под називом „Тест“ у бази података „тест“ са неким пољима, као што је приказано доле.

>> Тест СТВАРАЊА ТАБЕЛЕ (Ид инт, име варцхар (20), сал инт, посао варцхар (20));

Након креирања табеле, време је да у табелу убаците неке вредности, као што је приказано из упита у наставку.

>> ИНСЕРТ ИНТО Тест (Ид, наме, сал, јоб) ВРЕДНОСТИ (11, 'Акса', 45000, 'Вритер'), (11, 'Акса', 48000, 'Оффицер'), (11, 'Акса', 50000, 'Лекар'), (12, 'Раза', 40000, 'Службеник'), (11, 'Раза', 60000, 'Доктор'), (12, 'Раза', 67000, 'Службеник'), ( 13, 'Саеед', 85000, 'Вритер'), (13, 'Саеед', 69000, 'Оффицер'), (13, 'Саеед', 90000, 'Доцтор');

Видите да су релевантни подаци успешно уметнути. Можете видети да ова табела има више од 1 исте вредности за ид, име и посао.

>> СЕЛЕЦТ * ФРОМ улаз;

Створимо пивот табелу која ће резимирати запис табеле 'Тест' користећи упит у наставку. Команда обједињује исте вредности колоне 'Ид' и 'наме' у једном реду узимајући зброј вредности колоне 'плате' за исте податке према 'Ид' и 'наме'. Такође говори колико се пута једна вредност догодила у одређеном скупу вредности.

>> ОДАБИР Ид, име, збир (сал) сал, збир ((посао = 'Доктор') :: инт) Доктор, збир ((посао = 'Писац') :: инт) Писац, збир ((посао = 'Службеник ') :: инт) "Службеник" ИЗ ТЕСТНЕ ГРУПЕ ПО Ид, име;

Пример изведене табеле са ТаблеФунц:

За почетак ћемо објаснити нашу главну поенту са реалног становишта, а затим ћемо описати стварање пивот табеле у корацима који нам се свиђају. Дакле, пре свега, морате да додате три табеле да бисте радили на осовини. Прва табела коју ћемо направити је „Шминка“, која ће чувати информације у вези са основним шминкама. Испробајте упит испод у љусци командне линије да бисте креирали ову табелу.

>> СТВОРИ ТАБЕЛУ АКО НЕ ПОСТОЈИ Шминка (маке_Ид инт ПРИМАРИ КЕИ, п_наме ВАРЦХАР (100) НОТ НУЛЛ);

Након креирања табеле 'Шминка', додајте јој неке записе. Извршићемо доле наведени упит у љусци да бисмо овој табели додали 10 записа.

Морамо да направимо још једну табелу под називом „корисници“ која ће чувати евиденцију корисника који користе те производе. Извршите доле наведени упит у љусци да бисте креирали ову табелу.

>> СТВОРИ ТАБЕЛУ АКО НЕ ПОСТОЈИ корисници (усер_ид инт ПРИМАРИ КЕИ, у_наме варцхар (100) НОТ НУЛЛ);

Убацили смо 20 записа за табелу „корисници“ као што је приказано на доњој слици.

Имамо још једну табелу, 'макеуп_усер', која ће садржавати међусобне евиденције табеле 'Шминка' и 'Корисници'. Има још једно поље, „цена“, које ће уштедети цену производа. Табела је генерисана помоћу наведеног доњег упита.

>> СТВОРИ ТАБЕЛУ АКО НЕ ПОСТОЈИ макеуп_усер (ИД инт ПРИМАРНИ КЉУЧ, Мид инт НОТ НУЛЛ РЕФЕРЕНЦЕС Шминка (маке_Ид), Уид инт НОТ НУЛЛ РЕФЕРЕНЦЕ корисници (усер_ид), цена децимална (18,2));

У ову табелу смо убацили укупно 56 записа, као што је приказано на слици.

Створимо приказ даље да бисмо га користили за генерисање пивот табеле. Овај приказ користи ИННЕР Јоин како би се подударао са вредностима ступца примарног кључа све три табеле и дохватио 'наме', 'продуцт_наме' и 'цост' производа из табеле 'купци'

>> СТВАРИ ПОГЛЕД в_макеуп_усерс КАО ОДАБЕРИ ц.у_име, стр.п_наме, пц.цена ОД корисника ц УНУТАРЊЕ ПРИДРУЖИВАЊЕ макеуп_усер пц УКЉ. ц.усер_ид = пц.Уид УНУТРАШЊЕ ПРИДРУЖИВАЊЕ Шминка п НАСТ.Мид = п.маке_Ид;

Да бисте ово користили, прво морате да инсталирате таблефунц пакет за базу података коју желите да користите. Овај пакет је уграђен у ПостгреСКЛ 9.1 и касније пуштен покретањем доле наведене команде. Сад је омогућен пакет таблефунц.

>> СТВОРИ ПРОШИРЕЊЕ АКО НЕ ПОСТОЈИ таблефунц;

Након креирања проширења, време је да помоћу функције Цросстаб () направите пивот табелу. Дакле, за то ћемо користити следећи упит у љусци командне линије. Овај упит прво преузима запис из новоствореног „Виев“. Ови записи ће бити поредани и груписани према растућем редоследу колона 'у_наме' и 'п_наме'. У табели смо навели њихово име шминке за сваког купца којег су купили и укупне трошкове производа купљених у табели. Применили смо оператора УНИОН АЛЛ у колони „п_наме“ да бисмо сажели све производе које је један купац купио одвојено. Ово ће сажети све трошкове производа које корисник купи у једну вредност.

Наша пивот табела је спремна и приказана на слици. Јасно можете видети да су неки простори ступаца празни испод сваког п_наме јер нису купили тај одређени производ.

Закључак:

Сада смо сјајно научили како да направимо пивот табелу за сумирање резултата табела са и без употребе пакета Таблефунц.

Екран Трацкпад и показивач миша АппиМоусе за Виндовс таблете
Корисницима таблета често недостаје показивач миша, посебно када су уобичајени за коришћење преносних рачунара. Паметни телефони и таблети на додир ос...
Средњи тастер миша не ради у оперативном систему Виндовс 10
Тхе средње дугме миша помаже вам да се крећете кроз дугачке веб странице и екране са пуно података. Ако се то заустави, на крају ћете користити тастат...
Како да промените леви и десни тастер миша на рачунару са Виндовс 10
Сасвим је нормално да су сви уређаји рачунарског миша ергономски дизајнирани за дешњаке. Али постоје доступни уређаји за миш који су посебно дизајнира...