Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 22. 4. 2018 23:09:26

filius
Člen
Registrace: 2. 4. 2014
Příspěvků: 20
Web

Přidání frází k těm stávajícím

Zdravím,
poradili byste prosím funkci, která k již vytvořeným frázím přidá další definované?

Příklad:

mám ve sloupci frázi typu "romantický balíček", k níž bych chtěl automaticky přidat "Kyjov", "Moravské Toskánsko" a další (aniž bych je musel přidávat ručně).


Analýza klíčových slov pomocí nástrojů Marketing Miner a Calc.

Offline

#2 23. 4. 2018 05:05:04

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,601

Re: Přidání frází k těm stávajícím

Ano není problém. Existuje možnost slučovat pomocí vzorce, nebo makrem.


     Vzorcem: Na listu 1 seznam přidávaných frází, na listu 2 (nebo i externě) seznam základních výrazů. Na listu 3 Vzorec = List1

='hotel_25-11-2016_00.06.50'.A2 & " " & "FRÁZE" > VÝSLEDEK > trivago hotely FRÁZE
="FRÁZE" & " " & 'hotel_25-11-2016_00.06.50'.A2 > VÝSLEDEK > FRÁZE trivago hotely

     Dozajista poznáváte odkud jsem příklad vzal. Pro ostatní aby se nemuseli proklikávat různými odkazy : Výstup dotazu z Skliku. Je to CSV se 17.368 řádky.
     Četl jsem pozorně včetně diskuse. Takže celkem vím oč jde. Problém sloučení je řešitelný sice vzorcem, ale k Vámi koncipovaným postupům a potřebám by bylo potřeba něco jiného. A to už na vzorce není. Domnívám se, že skutečná potřeba by byla v přibližně tomto popisu který zachycuje obsahy diskuse :


A : použít CSV ze všech výstupů tak jak ukazuje výše odkázaný soubor.


B : Složené výrazy rozsekat na jednotlivá slova. Nebudu daleko od pravdy když uvedu že průměr na jeden řádek bude 4 slova. Odkázaný soubor má 57523 slov jen ve sloupci A (bez prvního řádku) a těch řádků je 17368. To je průměr 3,31 slov na řádek (bez spojek).


C : Jednotlivá slova sečíst na jiném listě - vytvořit statistiku slov jako jednic. Jedná se samozřejmě o údaj s opakováním, takže nás budou zajímat pouze unikátní slova včetně skloňovaných a podobně příbuzných základů.
     Vzhledem k tomu, že fráze obsahují základní výraz (původně zadaný) půjde o počet cca 2/3 až 3/4 z celku všech slov. Tedy o rozsah 38 až 43 tisíc jednic kombinatorické množiny. Řekněme že jde o 40 tisíc jednic "n = 40000".


D : Zajímat ná budou dvojice slov z výrazů na řádku. Teprve nyní můžeme validně vyhodnotit explicitně formované vazby. Tento údaj už je možné použít jako alternativní spojový seznam. Tím myslím to, že každé slovo se dá zařadit do jiného seznamu jako průnik různých výstupů. To je velká výhoda. Jednou vytvořená databáze může sloužit hodně dlouho k mnoha různým účelům.


E : Nevýhody - provedení musí být v relaci kombinací, přestože vlastní zadávání přesného výrazu vyžádá variaci. Tedy A-B i B-A. Je to přesně 799980000 dvojic pro základ 40 tisíc [vzorec COMBIN(40000;2)]. To už je opravdu velký počet, ale opět nás bude zajímat váha každé dvojice, tedy počet opakování stejného výrazu (variace A-B i B-A = 1).
     Některé váhy budou opravdu mohutné, jiné budou spíš výjimečné, nebo dokonce unikátní. Proto lze stanovit přiměřenou limitu výskytu dvojice. Například je - li počet pod statistickou váhou menší nežli 20 nebude dvojice registrována (při počtu n = 40000).


F : V té diskusi se někdo vyjádřil, že by bylo dobré si práci usnadnit pomocí hashování. To je sice možné, ale celkem nepraktické. Jedná se o hashovací tabulku ve které se vyhledává číslo. Ale krátké výrazy zaručeně způsobí chybovost která může tuto metodu zcela znehodnotit. Rychlé vyhledávání v textech je výhodnější pomocí plných sekvencí podle variace prvních a dalších písmen. Tedy podobně jako při bublinkovém řazení. Jen s tím, že se shoda zaregistruje a odkáže do seznamu.
     Klasický lexikálně tříděný soubor dvojic výrazů je pro všechny účely vhodnější. Už třeba proto, že je možné konstruovat trojice ze systémů dvojic [a, b, c] = [ab]&[ac]&[bc]. Takový soubor má také možnost předepisovat tabulku s váhou pro určité oblasti, nebo časová období.


     Ovšem Váš dotaz přímo na takové téma nevede. Vy v podstatě poptáváte to čemu se říká relační vazby. Tedy nyní konkrétně 1 : M, ale z toho zřejmě chcete dovodit relace N : M. Také neuvádíte další problematiku. Takže jen primitivní vazby 1 : M a k tomu opravdu postačí vykopírovaný vzorec pro buňky ve třetím listu

='hotel_25-11-2016_00.06.50'.A3 & " " & $List2.$A$1 > VÝSLEDEK > hotel horal Horní Malá Úpa

     Vidíme ze vzorce že na listu s názvem hotel_25-11-2016_00.06.50 je název fráze hotel horal, zatímco na listu $List2.$A$1 je základní výraz. Ten se spojuje s každým výrazen listu hotely_..... To je dáno těmi dolary.
     Samozřejmě že to může být i jinak. Například spojení výrazů z různých sešitů - tedy propojením typu dde, nebo obyčejným sloučením na jednom listu. Tedy ve sloupci A například konstantní výraz a ve sloupci B různé výrazy. Ve sloupci C už pak jenom =A1 & " " & B1. Ten se zkopíruje podle počtu různých výrazů. Při tom je možné udělat vychytávky ve sloupcích A a C s podmínkou :
pro sloupec A - IF(B1<>"";"VÝRAZ";"") nebo odkaz IF(B1<>"";$A$1;"")
pro sloupec C - IF(B1<>"";A1 & " " & B1;"")
     To umožní vykopírovat pevný počet vzorců - i v řádech tisíců a vkládat jen měnící se fráze. prostě je dost způsobů jak si pomoci vzorcem.

Editoval neutr (23. 4. 2018 05:08:46)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí