Release Notes 4.4
Novidades e Melhorias Weknow
Atualizado
Novidades e Melhorias Weknow
Atualizado
Foi otimizado o processo de execução dos metadados híbridos, evitando o uso desnecessário de um banco em memória. Conexão híbrida
Foram realizadas diversas mudanças no executor rápido para tornar sua utilização mais fácil. Executor rápido
Variáveis dinâmicas são as novas variáveis de contexto que poderão ser criadas através da execução de um SQL. São variáveis cujo valor pode variar a cada execução do SQL. Variáveis dinâmicas
Diversas melhorias foram implementadas no executor rápido, tornando-o mais completo do que nunca. Agora é possível realizar toda a configuração de parâmetros, formatação, exportação e sessões.
As sessões de uso não salvas serão armazenadas localmente, permitindo que, ao reabrir a tela, o usuário veja exatamente o estado em que a deixou, mesmo sem salvar manualmente.
Essa funcionalidade se aplica exclusivamente à tela de execução rápida. Ou seja, quando o editor for aberto de outro local, a última sessão não será carregada automaticamente. No entanto, o usuário pode abrir uma sessão salva, caso prefira.
Além disso, essa funcionalidade será válida apenas para a primeira aba. Quando uma segunda aba for aberta, ela será carregada em branco.
O usuário pode optar por salvar sua sessão de trabalho. Ao fazer isso, ele poderá fechar e reabrir a tela, retomando exatamente de onde parou, desde que a sessão tenha sido salva previamente.
Em resumo:
O usuário abre a tela;
Informa um SQL;
Configura parâmetros;
Define os campos;
Exporta os dados;
Salva a sessão;
Fecha a tela;
Reabre a tela;
Carrega a sessão salva anteriormente e retoma o trabalho do ponto onde parou.
Uma sessão contém todas as configurações feitas na tela, exceto os dados de execução. As informações salvas incluem:
Conexão;
SQL;
Limite de registros;
Configurações de parâmetros;
Configurações de campos;
Configurações de exportação.
As sessões são armazenadas individualmente, por usuário, e não podem ser compartilhadas. Isso significa que apenas o próprio usuário pode acessar suas sessões, evitando que um usuário crie sessões para outros.
Após a execução de um SQL com dados carregados, o usuário poderá exportá-los em cinco formatos diferentes: XLSX (ou XLS), CSV, XML, HTML e JSON.
Foi implementado um novo sistema de variáveis de contexto, que podem ser criadas dinamicamente durante a execução de comandos SQL. Essas variáveis têm a capacidade de ter seus valores alterados a cada execução do SQL, permitindo maior flexibilidade e adaptabilidade no processamento dos dados.
Na tela de variáveis de contexto de um usuário foi adicionado um botão Variáveis dinâmicas:
Clicar neste botão abre a tela de Variáveis de contexto dinâmicas:
Nesta tela o usuário poderá gerenciar as variáveis de contexto dinâmicas de um usuário. Para adicionar uma, ele deve clicar no botão Adicionar (+). Isso abrirá a tela de edição de variável dinâmica:
Para adicionar a variável de contexto dinâmica, o usuário deve, obrigatoriamente, escolher uma conexão, informar um código SQL e testá-lo (ou executá-lo) com sucesso.
Um único SQL pode gerar mais de uma variável pois cada coluna pode gerar uma variável distinta. Se o SQL retornar mais de uma linha, as variáveis geradas serão listas de valores onde cada linha representará um valor.
Uma vez testado com sucesso, ele poderá configurar as Variáveis de contexto resultantes na aba de mesmo nome.
A lista da esquerda apresenta as variáveis que serão criadas pelo SQL. Cada coluna do SQL, representa uma variável.
Clicar em uma destas variáveis permite a configuração desta variável:
O campo Campo representa o nome do campo/coluna do SQL resultante. Ele não pode ser editado pelo usuário.
O campo Ativo permite que o usuário desative/ignore determinadas colunas do SQL resultante.
O campo Variável representa o nome da variável resultante (caso deseje-se que seja diferente do nome da coluna). Note-se que o nome da variável deve seguir os padrões de nomenclatura de variáveis de contexto e deve ser único dentro da definição.
O campo Quantidade permite determinar se o resultado é uma lista ou um valor simples.
O modo Desconhecido age de forma automática: se um único (ou nenhum) valor for obtido, a variável será considerada como um valor simples. Se mais de um valor for obtido, a variável será considerada como uma lista. Esse modo se aplicará (e é recomendado) para a maior parte dos casos mas podem haver alguns onde seja necessário especificar se trata-se de uma lista ou não.
O modo Lista de valores considera que o valor é uma lista mesmo que retorne apenas um valor (ou mesmo nenhum).
O modo Valor único considera que é um valor simples mesmo que retorne mais de um valor. Se necessário, os valores adicionais são ignorados.
O campo Ignorar valores nulos, se marcado, determina que os valores nulos retornados pelo SQL sejam ignorados. Isso pode ser especialmente útil para SQL’s que retornem diversas variáveis e diversas linhas.
O campo Ignorar valores repetidos, se marcado, determina que os valores retornados sejam únicos. Note-se que, nesta situação, o sistema pode distorcer a ordem dos valores retornados por performance na checagem. Se a ordem for importante, este campo não deve ser marcado e a unicidade deve ser responsabilidade do SQL.
O campo Separador permite definir um ou mais caracteres para dividir o valor resultante em uma lista de valores.
O campo Amostra exibe, com base no resultado do teste do SQL e das configurações da variável, o(s) provável(is) valor(es) desta variável.
Na aba Resultado (sem formatação) ele poderá, caso necessário, visualizar o resultado do SQL.
Este SQL pode dispor de parâmetros de entrada para a aplicação de filtros.
Estes parâmetros, por sua vez, podem dispor de variáveis de contexto globais e do próprio usuário.
Para editar uma variável de contexto dinâmica já criada, ele deve selecionar uma e clicar duas vezes sobre ela.
O botão Editar (*) abre um menu flutuante conforme imagem abaixo:
A opção Editar abre a edição da variável de contexto dinâmica.
A opção Aplicar a todos os Usuários torna a variável global. Ou seja, ela é aplicada à todos os usuários. Isso pode ser útil para casos onde o mesmo SQL pode ser reaplicado para todos os usuários.
Contudo, pode-se desejar que uma determinada variável global não seja aplicada à determinado usuário. Isso pode ser obtido através da opção Desativar para este usuário.
O botão Excluir (-) permite a exclusão da variável selecionada. Note-se que qualquer variável pode ser excluída, inclusive as globais. Nessa situação, um alerta será exibido questionando o usuário.
O botão Excluir todas (x) permite a exclusão de todas as variáveis listadas. Note-se que isso excluirá até mesmo as variáveis globais. Nessa situação, um alerta será exibido questionando o usuário.
O botão Ações (...) abre um menu flutuante conforme imagem abaixo:
A opção Ver as variáveis atualmente geradas abre uma tela exibindo as variáveis dinâmicas que foram geradas para o usuário.
Note-se que as variáveis são geradas apenas depois que o Gerenciador de Tarefas processar as variáveis dinâmicas criadas.
As outras opções permitem forçar a atualização imediata das variáveis de um ou de todos os usuários, respectivamente.
Note-se que estas opções apenas colocarão a geração na lista do Gerenciador de Tarefas, que é o real responsável pela geração.
Na listagem das variáveis:
A coluna Código representa o identificador interno da variável (meramente ilustrativo).
A coluna Situação indica se a variável é global e se está ativa:
Ativo: Não é global. Aplica-se apenas ao usuário atual.
Global ativo: Aplica-se à todos1 os usuários, inclusive o atual.
Global inativo: Aplica-se à todos1 os usuários mas não se aplica ao atual.
A coluna Variáveis exibe o nome das variáveis que são geradas.
Quando uma variável for gerada por mais de uma variável de contexto dinâmica, um alerta será exibido. Essa prática não será impedida. Primeiro que seria complexo para limitar. Segundo que podem haver situações normais em que isso vai acontecer. Note-se que variáveis globais inativas não contribuem para este aviso.
Exemplo: na imagem abaixo, a variável cor é gerada duas vezes:
Precedência:
Se existir uma variável de contexto estática com o mesmo nome de uma variável de contexto dinâmica, a variável estática terá prioridade.
Entre duas variáveis de contexto dinâmicas, as variáveis específicas de um usuário terão prioridade perante as globais.
Por fim, será utilizado o ID da variável. Variáveis mais “recentes” (com ID maior) terão prioridade.
Uma vez que a variável dinâmica for definida, o Gerenciador de Tarefas fará a sua geração.
Um serviço específico foi criado: Atualização das variáveis dinâmicas
É possível especificar até 8 processos paralelos para este serviço.
A atualização automática é realizada uma vez a cada 24 horas (não configurável).
Este tempo é independente para cada usuário.
O Painel de controle possui um espaço específico para que o usuário gerencie a situação das gerações.
Clicar duas vezes em um registro, abre o log de execuções das variáveis do usuário.
Clicar com o botão direito abre um menu flutuante que permite a edição das variáveis daquele usuário e a execução imediata.
Quando o usuário for criar, por exemplo, um campo calculado, ele verá as variáveis de contexto que já foram geradas pelo Gerenciador de Tarefas:
Exportação:
Variáveis de contexto dinâmicas são exportadas/importadas junto ao usuário qual pertencem.
Variáveis de contexto dinâmicas globais são exportadas/importadas junto com as variáveis de contexto globais se a devida opção estiver selecionada.
Foi otimizado o processo de execução dos metadados híbridos, evitando o uso desnecessário de um banco em memória. A nova abordagem prevê que, quando todas as tabelas virtuais do metadado híbrido estiverem baseadas na mesma conexão, os dados sejam extraídos diretamente dessa conexão. Dessa forma, elimina-se a necessidade de mover os dados para a memória, o que resulta em uma melhora significativa na performance do sistema.
Agora no componente de planilha será possível fixar coluna. Ao acessar as configurações do campo será exibida a opção 'Fixar'. Quando selecionada a coluna configurada será fixada na primeira parte da exibição da planilha.
A transcrição antes realizada para Oracle e MonetDB, agora foi estendida para incluir SQLite, PostgreSQL, MySQL e SQL Server. No entanto, nem todas as operações parciais podem ser transcritas, pois dependem das funcionalidades específicas que cada banco de dados oferece (detalhes de cada banco de dados são fornecidos abaixo). Caso alguma operação parcial não possa ser transcrita, ela continuará sendo provida pelo Weknow.
Nos campos parciais de data/hora foi adicionada a opção Transcrever para SQL quando possível. Isso permite ao usuário desativar a transcrição se for conveniente.
Por padrão, esse campo está marcado.
Parciais de milissegundo: não há suporte;
Semana do mês: não há suporte;
Demais parciais: podem ser transcritas;
Parciais de milissegundo: não há suporte;
Semana do mês: não há suporte;
Demais parciais: podem ser transcritas;
PostgreSQL
Semana do mês: não há suporte;
Demais parciais: podem ser transcritas;
MySQL
Parciais de milissegundo: não há suporte;
Semana do mês: não há suporte;
Demais parciais: podem ser transcritas;
SQL Server
Parciais de milissegundo: não há suporte;
Semana do mês: não há suporte;
Demais parciais: podem ser transcritas;
Parciais de milissegundo: não há suporte;
Dia da semana e outras parciais que dependem desta (hora da semana, minuto da semana, etc): há suporte apenas a partir de versões mais recentes.
Semana do ano: há suporte apenas a partir de versões mais recentes.
Semana do mês: não há suporte;
Demais parciais: podem ser transcritas;
Nada será transcrito.
A partir da versão 4.4, foi adicionada a integração com a plataforma Twilio para o uso do WhatsApp. Para configurar, acesse Configurações > WhatsApp > Twilio.
Ao clicar será aberta a tela de configuração:
Nesta tela é possível realizar todas as configurações do provedor, incluindo o sistema de armazenamento em nuvem, Amazon S3. Para mais detalhes, consulte o manual abaixo.
Na versão 4.4, foi introduzido um novo Driver: o TasyCloud.
Para cadastrar uma conexão para o sistema Tasy Cloud, deve preencher os seguintes parâmetros na tela:
Framework WK;
Driver Tasy Cloud;
URL do endpoint;
Usuário e senha de acesso;
Forma de detecção do tipo de dados das colunas/campos, com as seguintes opções:
Testar os dados existentes: o usuário deve informar a quantidade máxima de linhas a serem testadas; Basear-se na primeira linha: utilizar o tipo do campo JSON da primeira linha;
Não aplicar detecção: todos os campos serão definidos como string.
Após criar a nova conexão, acesse o editor de metadados e selecione a conexão criada. Em seguida, você poderá adicionar o modelo/tabela criado no Tasy. Após informar o nome e clicar em “OK”, todas as informações do modelo/tabela serão transferidas para o metadado.
Nome da Tabela: Informe o nome do módulo criado no Tasy.
Filtro: Caso o modelo retorne mais de 500 registros, informe um filtro no formato campo:valor
, separando múltiplos filtros por vírgula. Exemplo: CD_CONVENIO:36,CD_SETOR:12
.
Implementamos melhorias significativas na forma como os totais parciais são calculados em planilhas que utilizam filtros locais. Com essa atualização, os totais refletirão de maneira mais precisa as alterações provocadas pelos filtros aplicados, garantindo uma visualização mais clara e consistente dos dados. Confira a seguir as principais mudanças e regras para o cálculo dos totais quando os filtros locais estiverem em uso.
Total Parcial com Filtros Locais: Em planilhas que permitem filtros locais, o total parcial será exibido sempre que um filtro estiver aplicado.
Ícone de Alerta: Nas colunas onde não é possível apresentar o total com filtros locais aplicados, um ícone de alerta aparecerá na célula de total (anteriormente, era exibido “N/A”). Ao posicionar o cursor sobre esse ícone, a seguinte mensagem será exibida: “Existem filtros aplicados que são processados localmente e, devido às configurações desta coluna e/ou planilha, não é possível calcular e exibir o valor total no rodapé.”
Regras para Cálculo do Total com Filtros Locais: Quando os filtros locais estiverem em uso, o total será calculado conforme as regras abaixo:
Sem Função de Agregação (FA): Se nenhuma coluna possuir função de agregação, será exibido o total normalmente.
Coluna Agregada: Se a coluna for agregada (campo calculado por SQL, fórmula ou Python), será exibido um alerta.
FA Incompatível: Se a função de agregação do rodapé for diferente da função de agregação da coluna, será exibido um alerta.
Função “Contar”: O total será calculado somando os valores da coluna.
Função “Listar”: O total será apresentado concatenando os valores da coluna, utilizando a vírgula (",") como separador.
Funções “Somar”, “Máximo” ou “Mínimo”: O total será exibido normalmente.
Função “Listar Distinto”: O total será calculado dividindo os valores da coluna pelo separador “,” e, em seguida, concatenando apenas os valores distintos utilizando o mesmo separador.
Outras Funções (MÉDIA, MÉDIA DISTINTA, CONTAR DISTINTO, SOMAR DISTINTO): Nessas situações, será exibido um alerta.
Foi implementada uma política de segurança na exportação e importação de dados. Agora, só será possível exportar dados para os quais o usuário tenha permissão, sendo exibidos apenas os dados autorizados para exportação.
Nas versões anteriores em alguns casos as opções de edição eram exibidas sobre colunas ou outras informações do componente. Para resolver esse problema, implementamos uma nova forma de apresentar as opções de edição.
Agora, o menu do componente pode ser exibido em três posições:
Interna (comportamento padrão anterior): quando o título do componente é maior que o próprio menu, quando não há espaço suficiente acima nem abaixo da área da aba ou quando o componente está maximizado;
Acima do componente: quando não é possível exibir o menu internamente e há espaço disponível na parte superior da aba;
Abaixo do componente: quando não é possível exibir o menu na posição superior e há espaço suficiente na parte inferior da aba.
Além disso, o componente será trazido para o primeiro plano (eixo z) ao ser clicado. Essa "seleção" poderá ser desfeita clicando no dashboard ou pressionando a tecla ESC.
Agora é possível criar variável de contexto em sub menus.
Agora ao copiar um dashboard, você poderá escolher se deseja adicionar o sufixo '(Cópia)' no nome de cada componente.
Agora será possível alternar entre os modos de seleção ('rótulo e série', 'rótulo' ou 'série') clicando com o botão direito do mouse sobre um ponto, coluna ou parte do gráfico.
O padrão de seleção foi alterado para que, ao selecionar um ponto no gráfico, apenas o rótulo seja selecionado, em vez de 'rótulo e série' como anteriormente. Essa mudança se aplica apenas a dashboards com vínculos automáticos ativados.
O novo formato de seleção será aplicado exclusivamente em dashboards com vínculos automáticos ativados e somente se houver séries configuradas no gráfico.
Não será possível usar dois modos de seleção simultaneamente. Por exemplo, se uma série estiver selecionada e o usuário mudar para selecionar um rótulo, a seleção da série será desfeita para permitir a nova seleção do rótulo.
Agora na versão 4.4 será possível salvar a ordenação do menu de detalhes do componente e do explorador de dados. Ao acessar o menu, será exibido um botão para salvar as modificações que ficará habilitado apenas após realizar alguma edição. Vale ressaltar que as edições feitas diretamente na tela de detalhes serão salvas apenas para o usuário.
A página de login foi reformulada e agora conta com uma área dedicada a notícias.
Foram realizadas várias melhorias nos tamanhos das janelas do sistema Weknow.
Agora ao ocultar uma série pela legenda, o eixo correspondente também será ocultado, desde que não esteja em uso por nenhuma outra série visível no gráfico. Além disso, ao carregar um gráfico com a configuração de seleção única na legenda, os eixos das séries que não estão visíveis não serão exibidos.
A instalação do Python foi integrada ao instalador do servidor Weknow.
Na versão 4.4 implementamos uma atualização significativa para o Angular 2+ com o objetivo primordial de aprimorar o desempenho do sistema.
ou envie-nos um e-mail para atendimento@weknowhealthtech.com.br