Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
miro_kopecky
Contributor III
Contributor III

Table of similar words

Hi, I would be gratefull if you could hepl me with my task in Qlik Sense.
I have table words_frequency_1.Word which contains some similar words or symbols.
I need to write all similar words in another table only once.
Then I need to count how many times was every Word from table repeated in table.

I dont have big experience with script writing in Qlik Sense so I am asking for help.
Thanks in advance:)

Labels (4)
2 Replies
Gysbert_Wassenaar

I think you're probably using the wrong tool for the job. This sounds more like something you'd do in Python or R with one of the natural language processing libraries.

You should be able to get a frequency count of words with the help of these discussions:
https://community.qlik.com/t5/QlikView-App-Development/Word-frequency-dictionary/m-p/363389
https://community.qlik.com/t5/QlikView-App-Development/How-to-obtain-a-frequency-distribution-of-wor...

You'll then need to replace the similar words with the words. Or just associate the tables. Then you can calculate the counts.

talk is cheap, supply exceeds demand
renandavieira
Contributor
Contributor

Hello.

I hope to be helping.

[mapCharacter]:
Mapping Load * Inline [
from, to
'/',' '
'_',' '

];

Data:
Load * Inline [
"TextLine"
"Hi, I would be gratefull if you could hepl me with my task in Qlik Sense. I have table words_frequency_1.Word which contains some similar words or symbols. I need to write all similar words in another table only once. Then I need to count how many times was every Word from table repeated in table."
];

MyTextData:
LOAD
RowNo() as ID,
PurgeChar(MapSubString('mapCharacter' ,TextLine),'.?!$:;<–>[],()#"-1234567890') as TextLine
Resident Data;

Drop Table Data;

MyWordList:
LOAD
ID,
RowNo() as IDWord,
lower(SubField(TextLine,' ')) as Word
Resident MyTextData;

frequency_word:
LOAD
Word,
Count(IDWord) as frequency
Resident MyWordList
Where Word<>'' or not IsNull(Word)
Group By Word;