1 2 3 Previous Next

Qlik Brasil

116 posts

Pessoal,

 

A versão de Fevereiro promete! Vejam o que vem por aí.

 

 

mto

Você acha que 2017 a Qlik inovou em seus produtos?

Está muito satisfeito ou quer compartilhar suas experiências e concorrer a um voucher de 50U$ em compras na Amazon?

Então dá uma olhada na promoção do nosso colega mto

https://community.qlik.com/blogs/qlikviewdesignblog/2018/01/09/icymi-not-another-year-in-review-post-products-edition#co…

Aproveitem pois vai até 30/jan.

Mike Capone Appointed to Accelerate Market Leadership January 11, 2018 11:00 AM Eastern Standard Time RADNOR, Pa.--(BUSINESS WIRE)--

 

Qlik®, a leader in data analytics, today announced that its board appointed Mike Capone, former COO of Medidata Solutions (NASDAQ:MDSO), as Qlik’s new CEO. Capone brings a valuable combination of customer perspective, operational expertise, and market focus to Qlik. In addition to his extensive experience in high-growth SaaS companies, Capone possesses first-hand experience in leveraging the power of data through analytics to transform businesses and entire industries, giving him the unique background to lead Qlik’s mission to be a leader in the analytics economy. “Data is the currency of the future and companies who harness it best will differentiate and excel. With an ongoing investment in augmented intelligence, big data and the internet of things, coupled with its hybrid-cloud platform approach, Qlik is uniquely positioned to lead this new era.” Tweet this “I’ve seen how the smart use of data and analytics can have transformative effects on an industry, and I am excited to join a company that enables customers in every industry to re-think what’s possible,” said Mike Capone, CEO, Qlik. “Data is the currency of the future and companies who harness it best will differentiate and excel. With an ongoing investment in augmented intelligence, big data and the internet of things, coupled with its hybrid-cloud platform approach, Qlik is uniquely positioned to lead this new era.” David Murphy, Qlik’s interim CEO, will return to his prior role as a board member of Qlik. “I have been fortunate enough to meet with many of Qlik’s customers during my tenure, and have been struck by how many talk about the complete transformation that was enabled through Qlik’s platform,” said Murphy. “I know that Mike truly understands that, and is the person that can take Qlik to the next level of leadership.” “We are excited to have Mike join us on this mission to accelerate transformation through modern business intelligence solutions,” said Seth Boro, Qlik board member and a Thoma Bravo managing partner. “We also want to thank David Murphy for his interim leadership at the company, his continued service as a board member, and for acting as a special advisor to Mike in the near term.” Most recently, Capone was the COO of Medidata Solutions, a publicly-traded provider of SaaS analytics solutions to the healthcare, life sciences and pharma markets. At Medidata he played a significant role in its product development, data science, professional services and go-to-market operations. Capone was instrumental in accelerating Medidata’s strategy to provide a comprehensive cloud platform that leverages data and analytics to transform clinical trials. Prior to Medidata, Capone held multiple senior leadership positions at ADP, one of the world’s largest B2B cloud services providers, delivering critical services to over 600,000 companies and 39 million of their staff members worldwide. These roles included CIO, Corporate Vice President of Product Development and SVP & General Manager of ADP’s global outsourcing business. Capone brings this unique customer perspective to Qlik, along with the expertise in scaling the IT operations of a major cloud business. Capone was also very attracted to the deeply rooted culture of Corporate Social Responsibility at Qlik. He is on the board of the New Jersey Chapter of The Leukemia and Lymphoma Society and had previously chaired charitable foundations at both ADP and Medidata.

 

Fonte: Qlik Announces New CEO | Business Wire

Esta semana participei da discussão sobre o lançamento da nova versão do Qlik Web Connectors (Novembro/2017) .

Além de contar com novos conectores, a versão também tem nova data de expiração. Como assim , a versão expira ?

Sim , o produto expira para aqueles que somente usam os conectores Beta / Standard , sem assinar nenhum conector Premium.

A versão 2.2 expira em 30 de Janeiro de 2018

A versão Novembro/2017 expira em 30 de novembro de 2018.

A Qlik mantem uma artigo na community com as datas de expiração de cada versão. https://community.qlik.com/docs/DOC-17687 (Beta Connectors).

Apesar do artigo se referir a conectores Beta, segundo Darren Ball ( Product Manager) , a regra de expiração também se aplica aos conectores standard. Segue link para o comentário https://community.qlik.com/blogs/technicalbulletin/2018/01/04/qlik-web-connectors-november-2017-release-v2282-available?et=blogs.comment.created#comment-64401

“Caso você use o Qlik Web Connector sem assinatura de conectores Premium, fique atento as novas versões e atualize seu ambiente assim que ela for lançada.”

Marque na agenda, próxima versão (Setembro/2017) provavelmente deve sair entre setembro e outubro de 2018.

Seguem alguns links úteis:

https://community.qlik.com/blogs/technicalbulletin/2018/01/04/qlik-web-connectors-november-2017-release-v2282-available

Documentação: http://help.qlik.com/en-US/connectors/Subsystems/Web_Connectors_help/Content/Setup-deploy/Qlik_Web_Connectors_package.htm

Links para download da versão Novembro/2017

Release notes : https://da3hntz84uekx.cloudfront.net/WebConnectors/2.28.2/228230069/QlikWebConnectorsNovember2017ReleaseNotes.pdf

Instalador : https://da3hntz84uekx.cloudfront.net/WebConnectors/2.28.2/228230069/_MSI/QlikWebConnectorsNovember2017.zip

Um Abraço,

Pablo

*Postado originalmente no meu blog: Nova versão do Qlik Web Connectors e data de expiração – Qlikers Blog

Olá Qlikers,

Como último post de 2017,  resolvi escrever sobre 2 fucionalidades muito poderosas para construção de expressões em QlikView / Qlik Sense. O qualificador TOTAL e a função AGGR

 

Se você já a trabalha algum tempo com o Qik, você já deve ter usado o qualificador total na sua expressão de agregação para calcular por exemplo % do produto sobre total de vendas, ou mesmo obter a maior venda dentro de um agrupamento de dimensão,

 

Com o  qualificador TOTAL podemos obter o total geral da expressão ou obter subtotais.

 

Parao obter subtotais via de regra os campos devem estar declarados como dimensões do seu gráfico.

 

Mas existe uma situação peculiar que é o uso do TOTAL com campos de subtotais sem que estes campos estejam declarados na dimensão do seu gráfico ! E para conseguir isso , utilizamos o AGGR.

 

Total+AGGR.png

Para descobrir como obter este resultado utilizando AGGR , acesse  http://www.qlikers.com.br/combinando-qualificador-total-e-aggr/

 

Anexei o qvw de exemplo, mas como utilizo o qlikview desktop com licença. O documento não deverá abrir nos desktops com personal edition.

 

Feliz 2018 !

Clever Anjos

Totais em gráficos

Posted by Clever Anjos Dec 7, 2017

Traduzido daqui : autorizado pelo Hic

O total em um gráfico não é a soma das linhas individuais em um gráfico.

Ao invés disso, o total e os subtotais são calculados utilizando-se a expressão, mas em um subconjunto maior dos dados que data linha em especial.

Pode ser que os dois métodos resultem nos mesmos números, mas algumas vezes existe uma diferença muito grande.

Um exemplo disso é quando você utiliza uma função não-linear, como por exemplo Count(Distinct ...) como expressão. O exemplo abaixo demonstra bem isso

A origem dos dados (esquerda) relaciona um país para cada estado, e se você contar o número de países distintos para cada estado utilizando Count(distinct Country) você terá o gráfico da direita.

Cada estado pertence a apenas um país e o número total de países é 2, então o gráfico possui 4 linhas.

 

Um outro caso é quando você possui uma relação muitos-para-muitos nos seus dados.

No exemplo abaixo, existem três produtos, cada um com um volume de vendas. Cada produto pode pertencer a vários grupos de produtos então as vendas totais para cada grupo de produtos não pode ser somado: o total será menor que a soma das linhas individuais, já que existe uma sobreposição entre os grupos de produtos.

A sumarização é executada na tabela fato e não no gráfico.

Uma outra maneira de descrever isso é dizer que uma nota de dólar pertence a ambos grupos de produtos e seria contada duas vezes se você apenas somar as linhas. Em ambos casos, Qlik irá mostrar os valores corretos para os dados apresentados. Apenas somar as linhas seria incorreto

Então, como isso afeta você como um desenvolvedor de aplicação?

Normalmente, não muito.

Mas é importante ficar atento e eu (HIC) sugiro fazer o seguinte:

  • Quando você constrói sua expressão você deve ficar concentrado na linha de totalização. Normalmente, a expressão estará correta também para as linhas individuais.
  • Sempre use funções de agregação . Isso irá garantir que o Qlik seja capaz de calcular o valor corretamente.
  • Se você quiser uma média na linha de totalização, você deveria dividir seu valor por Count(distinct <Dim>). Fazendo assim, tanto a totalização quanto os valores por linha (onde o contador = 1) ficarão corretos. Exemplo
         Sum( Amount ) / Count( distinct Customer )
  • Nos casos que você quiser mostrar algo completamente diferente na linha de total, você deveria avaliar a função Dimensionality()  que retorna 0, 1, 2, …  dependendo do nível de agregação do seu gráfico (total, subtotal ou detalhe). Exemplo
          If( Dimensionality() = 0, <Total line expression>, <Individual line expression> )

Mas e se você quiser que a o total seja a soma das linhas? Eu não quero que a expressão seja calculada sobre o conjunto completo dos dados, mas a soma das linhas. Como fazer? Existem duas maneiras de fazer isso. A primeira é usar a função Aggr() na sua expressão

          Sum( Aggr( <Original expression> , <Dimension> ) )

Isso funciona em todos os objetos. Para uma Gráfico Tabela simples, você tem acesso à uma funcionalidade na aba Expressões que permite a você definir como deve ser feita a totalização

Configurando como acima, "Soma das Linhas" mudará o comportamento do gráfico para exatamente o que diz: a soma das linhas HIC

 

Link : https://www.clever.com.br/totais-em-graficos/

Clever Anjos

Distinct

Posted by Clever Anjos Nov 20, 2017

Olá, pessoal!

O uso de um DISTINCT em um script de carga pode levar a alguns resultados "estranhos" se você não estiver familiarizado com a maneira que o Qlik processa as informações.

Suponha o script abaixo, quantas linhas ao final devem existir na tabela A?

 

TableA:
load  * Inline [
F1, F2
1,1
1,2
1,1
1,2
];

load distinct * Inline [
F1, F2
1,1
1,2
1,1
1,2
];

 

Opções:

  1. 6
  2. 8
  3. 2

Você se surpreenderia se a resposta correta for 2? Duvida? Teste ai no seu Qlikview ou Sense.

Mas como assim? E aqueles 4 registros da primeira tabela, para onde foram?

 

Um qualificador DISTINCT em um load não se aplica apenas a aquela operação, mas a tabela como um todo. Se você fizer várias operações com uma tabela e em apenas uma dela houver um DISTINCT toda a tabela final será composta apenas com os as linhas distintas.

Uma vez 'tocada' por um DISTINCT a tabela sempre será todos os seus valores repetidos eliminados não importa se você fizer um JOIN, CONCATENATE ou outro comando.

Ela fica 'contaminada', hehe

 

That´s all folks

 

Link para post no meu blog

Hello everybody,

 

I do many Qlik demonstrations for different types of audiences and companies and I often get the following question:

- Can you connect to Whatsapp?

 

Well, it´s hard, but... - No, I can´t, until now !!

 

Pre-requisites:

  1. Qlik Sense Desktop. I use the version setember2017, but I think it´s compatible with anyone others.
    • If you to use the Qlik Cloud, you may to substitute the extensions by standard graphs.
    • If you want to use Qlik Enterprise, just import this app at QMC. Remember to make the Folder connection available.
  2. The simple app use this extensions, just click to download this
  3. The analyzing app
    • Whatsapp - PT-BR and Whatsapp - EN

 

Step 1 - Extract the Group messages

At you cell phone open Whatsapp and enter in a group you want to extract the messages.

Just click on three points at group upper corner.

Then select More...

Send to email...

Select Without midia.

 

This feature is not available at Whatsapp Web, so you need to use the cell phone, not the computer.

 

Step 2 - Store the file at a working directory

Acess the e-mail and Save to... the file into working directory

 

Step 3 - Open Qlik Sense and load the data

Download this sample application

Open the Qlik Sense Desktop

Open the sample app Whatsapp

Just Reload the data

 

Notes:

1) The name of the group was generated by Whatsapp folloing this:

Whatsapp Conversation with <Group>.txt

So the following code identify de <Group> by FileBaseName and SubField functions

and its load several files using the <*.txt>. You just put the files at same directory.


2) There are some particular words at Whatsapp: enter, left, start, add

This code identify this particular words to extract the correct messages

 

3) Identify the line breaks

The txt file break the messages when member type enter.

To avoid this, we need to verify if @1 it´s a date, and Peek to bring the last loaded line.

 

4) Avoiding unwanted chars and words

I use a Purgechar and Not Match to avoing load words that´s i consider garbage, you can

edit this in the Words Section.

 

 

 

This is a simple way to do that and I hope you can improve this and share about all of us.

 

Best regards,

 

Pedro A. Bergo

Olá,

 

Eu faço muitas demonstrações de Qlik para diferentes tipos e públicos e empresas. Frequentemente recebo a seguinte pergunta:

- Você consegue conectar no Whatsapp?

 

Bem, é difícil, mas... - Não, não consigo, até hoje !!

 

Pré-requisitos:

  1. Qlik Sense Desktop. Eu utilizo a versão setember2017, mas acho que é compatível com todas as outras.
    • Se você usar o Qlik Cloud, deverá substituir as extensões pelos gráficos padrões.
    • Se você quiser utilizar com o Qlik Enterprise, apenas importe essa app pelo QMC. Lembre-se que disponibilizar um conexão ao diretório de dados.
  2. Baixe essas extensões, apenas clicando
  3. App de análise
    • Whatsapp - PT-BR ou Whatsapp - EN

 

Passo 1 - Extraia as messagens de Grupo

No seu telefone celular, abra o Whasapp e entre no grupo que deseja extrair as mensagens

Clique nos 3 pontos na parte superior direita.

Selecione Mais...

Depois, Enviar por email...

Selecione SEM MÍDIA

 

Essa funcionalidade não está disponível no Whatsapp Web, então, você precisa acessar seu telefone celular, não pode ser feito pelo computador.

 

Passo 2 - Baixe os arquivos num diretório de trabalho

Crie um diretório chamado C:\TEMP\WHATSAPP

Acesse seu e-mail e clique em Salvar Anexos... para o diretório de trabalho C:\TEMP\WHATSAPP

 

Passo 3 - Abra o Qlik Sense e carregue os dados

Baixa a aplicação de exemplo

Abra o Qlik Sense Desktop

Abra a app Whatsapp

Carregue os dados

 

Notas:

1) O nomedo grupo é gerado pelo Whatsapp da seguinte maneira:

Conversa do Whatsapp com <Grupo>.txt

Então o código abaixo identifica o <Group> pela função FileBaseName, com Subfield

e pode ler vários arquivos do Whatsapp, bastando coloca-los no mesmo diretório.

 

2) O Whatsapp possui algumas palavaras próprias:

entrou, saiu, criou e adicionou

O código identifica essas palavaras para extrair a parte correta da mensagem

 

3) Identificar a quebras de linha

O arquivo txt quebra as mensagem quanto o usuário digita ENTER

Para evitar isso, verifico se o campo @1 é uma data e uso Peek para trazer a linha anterior.

 

4) Evitando caracteres e palavras indesejadas

Utilizei o Purgechar e Not Match para evitar carregar palavras que eu considero lixo, como

artigos, preposição e pronomes, então, você pode editar isso na seção Words

 

 

Esse é um método simples de carregar os dados o Whatsapp, e eu espero que vocês possam melhora-lo e compartilhar com todos.

 

Abraços,

 

Pedro A. Bergo

Prezados,

 

semana passada baixei a nova versão do Qlik Sense Desktop September Patch1 2017, quando fui carregar os dados de um projeto que trabalho com variáveis o projeto acusou erro de carga porque as varáveis não conseguiram ser atualizadas e ficaram como nulas, para reforçar minha dúvida sobre a nova versão eu desinstalei essa versão e voltei a versão anterior que estava funcionando perfeitamente, em seguida testei o script de carga e este executou com sucesso.

Traduzido deste link

 

Muitas pessoas utilizam Wordpress como portal para suas companhias.

Se você é uma delas, então você pode considerar esse plugin muito útil.

Com ele você pode criar um "mashup" utilizando a Capabilities API  sem precisar escrever nem uma linha de código.

Basta configurar o seu servidor e o ID da sua aplicação e os atalhos dos objetos que você quiser utilizar e pronto! Agora mostrarei como fazer:

1 . Vá até o painel de administração do seu Wordpress, na seção "Plugins", clique em "Adicionar Novo" / "Add New" e então pesquise por "Qlik"

 

2 . Clique em "Instalar agora" e depois em "Ativar".

3. Isso irá criar uma página de configuração chamada "Qlik Sense", abra essa página.

Settings.png

4. Nesta página defina o seu host (endereço do seu servidor), o prefixo do seu Proxy Virtual e o ID da sua aplicação

5. Salve as alterações

6. Adicione agora o código para inserir os objetos em seu post ou página

"[qlik-sense-object qvid="ZwjJQq" height="400" nointeraction="true"]"

qvid: ID do objeto a ser exibido, você consegue obter esse ID no "dev-hub/single-configurator"

height: altura da visualização em pixels

nointeraction: adicione essa tag se você quiser desabilitar as interações (cliques). Se quiser manter a interação nos objetos, omita essa tag.

EditPost.png

7. Eu adicionei alguns objetos em um template bootstrap para uma melhor visualização.

Agora vamos visualizar a página

Helloworld.png

 

Lembrete: Certifique-se de liberar o acesso à sua URL na whitelist da configuração do seu proxy virtual.

Se você gostou, por favor dê 5 estrelas para este plugin no Wordpres

 

This is it!

Yianni

 

Git: https://github.com/yianni-ververis/qlik-sense-wordpress-plugin

 

 

 

 

https://www.clever.com.br/qlik-sense-plugin-para-wordpress/

Olá,

Há 2 meses eu me propus a fazer um levantamento dos salários dos profissionais que trabalham com as plataformas Qlik.

Ativei minha rede de contatos (grupos de whatsapp, e-mail marketing e outros) e consegui obter 54 boas almas que responderam ao questionário.

 

Os resultados estão aqui: http://www.clever.com.br/pesquisa-salarial-profissionais-qlik/

Olá pessoal,

É uma recomendação que as suas chaves (campos que ligam as tabelas) sejam sempre numéricas para otimizar o uso de memória.

Várias vezes recorremos ao uso da função Autonumber() e suas "primas" AutonumberHash128() e Autonumber256() para converter uma chave string para uma chave numérica.

Se você quiser ler o que diz a documentação dessas funções

Autonumber

AutonumberHash128

AutonumberHash256

 

Você pode notar que todas as três retornam um inteiro sequencial, baseado na ordem que seus parâmetros. A diferença entre elas é que as AutonumberHash128() e Autonumber256() calculam antes um "hash" (Wikipedia) .

 

Existe um "trade-off" nessa estratégia, qualquer uma delas gasta um tempo para executar o pseudo-algoritmo abaixo

  • Esse parâmetro já foi carregado?
  • Se sim, retorna o sequencial calculado anteriormente
  • Se não, incrementa o sequencial e armazena

 

É usual encontrar situações em que a presença de um "autonumber" (qualquer um dos três) adicione até 20% no tempo de carga dos dados. Usualmente aceita-se esse tempo em troca da economia de memória da aplicação final.

 

Mas ai vem uma pergunta:

"Sei que essas funções geram uma lentidão, mas qual devo usar?"


Resolvi fazer alguns testes para comparar a velocidade de cada um deles.

Obs.:Eu foquei na geração de chaves compostas (mais de um campo) pelo fato que usualmente é o que precisamos quando montamos nossas tabelas, link-tables, etc

 

Para chaves compostas, a função Autonumber() tem uma pequena diferença em relação as outras duas.

A sintaxe dela é:

autonumber(expression[ , AutoID]) -- Esse AutoID é qual tabela de incrementos ela vai usar, podendo reiniciar de acordo com ela

Se eu precisar de uma chave composta, eu preciso concatenar com & os parâmetros

RegionSales: 
LOAD *, 
AutoNumber(Region&Year&Month) as RYMkey; // <-- Preciso concatenar com &
LOAD * INLINE [ 
Region, Year, Month, Sales 
North, 2014, May, 245 
North, 2014, May, 347 
North, 2014, June, 127 
South, 2014, June, 645 
South, 2013, May, 367 
South, 2013, May, 221];



As outras duas é:

autonumberhash128(expression {, expression}) -- Posso passar uma lista de parâmetros, sem precisar concatenar

RegionSales:
LOAD *,
AutoNumberHash128(Region, Year, Month) as RYMkey; // <-- Não preciso concatenar com &
LOAD * INLINE [
Region, Year, Month, Sales
North, 2014, May, 245
North, 2014, May, 347
North, 2014, June, 127
South, 2014, June, 645
South, 2013, May, 367
South, 2013, May, 221];

 

Esse "esforço" de concatenar quando usamos a autonumber() aparentemente impacta o desempenho.

Abaixo o script que usei, onde gero uma massa com 10 milhões de registros, gerando o sequencial e salvando o cronômetro

Let quant = 10000000;

Let v1=now();
t1:
LOAD
ID,
AutoNumber(ID&Valor);
load
RecNo() as ID,
Rand() as Valor
autogenerate $(quant);

Let v2=now();
t2:
LOAD
ID,
AutoNumberHash128(ID,Valor);
load
RecNo() as ID,
Rand() as Valor
autogenerate $(quant);

Let v3=now();
t3:
LOAD
ID,
AutoNumberHash256(ID,Valor);
load
RecNo() as ID,
Rand() as Valor
autogenerate $(quant);
Let v4=now();

drop Table t1,t2,t3;

 

Depois fiz uma pequena aplicação comparando os dados

v2-v1 v3-v2 v4-v3
00:01:1300:00:2600:00:24

 

Podemos notar que as AutonumberHas128() e AutonumberHash256() praticamente se equivalem, mas são bem mais rápidas que a Autonumber(). Muito provavelmente isso deve-se à necessidade de concatenar as strings utilizando-se o &.

 

Eu acredito que esses resultados irão variar conforme a frequência de repetição, tamanho dos campos entre outras fatores.

Faça seus testes e comente aqui a que resultado

 

images?q=tbn:ANd9GcQtGSNKsAMBOcg5_XjpRjZOMe6nJNe1NBmM9EorWQ3s3eMNkIU_Og

Boa tarde Pessoal,

 

Segue um link para quem quer um auxilio no momento de montar seu Set Analysis.

Acabei de utilizar e me ajudou.

 

Quem tiver interesse:

Set Analysis - Construa o seu código

 

Caso já conheciam, me desculpem.

 

Atenciosamente.

Clever Anjos

Tricks and tips

Posted by Clever Anjos Aug 9, 2017

Algumas dicas que podem ser utilizadas frequentemente otimizando as aplicações

 

    1 - Expressão do tipo If(<expressao> < 0, 0, <expressao>)

    Esse tipo de expressão pode ser simplicada com a função Rangemax() que traz o maior valor entre dois ou mais

    If(<expressao> < 0, 0, <expressao>) -> Rangemax(<expressao>,0)

 

    2 - Expressão do tipo If(<expressao> > 1000, 1000, <expressao>)

    Esse tipo de expressão pode ser simplicada com a função Rangemin() que traz o maior valor entre dois ou mais

    If(<expressao> > 1000, 1000, <expressao>)-> Rangemin(<expressao>,1000)

 

   3 - Expressão do tipo if(isnull(<expressao>),0,<expressao>)

    Esse tipo de expressão pode ser simplicada com a função Alt() que além de ser mais curta, evita que a <expressao> seja avaliada duas vezes

   if(isnull(<expressao>),0,<expressao>)  ->  Alt(<expressao>,0)

Filter Blog

By date:
By tag: