V9 - Novidades
Os campos de natureza geográfica podem ser georreferenciados para serem incluídos nos widgets de mapas. A georreferência tem um novo menu, com as seguintes particularidades:V9.5.0
Edição
Menu de georreferências (dataset)
Funcionamento do menu de georreferências
Reindexação de campos (dataset)
Os datasets do Vision incluem 64 índices, que podem ser distribuídos pelos campos do dataset. Por omissão, e de forma transparente para o utilizador, os primeiros 64 campos são indexados.
Esta prática, razoável em casos normais, pode ser inadequada em certos casos avançados:
- Quando um dataset tem mais de 64 campos, e alguns campos merecedores de indexação estão numa posição acima de 64.
- Quando um dataset tem muitos registos (+1M) e está a ocupar espaço na BD desnecessariamente, podendo também comprometer o desempenho no acesso aos dados.
Foi incluída uma funcionalidade que permite:
- Verificar que campos estão indexados num dataset;
- No caso de datasets cuja origem dos dados é uma ligação à BD, reindexar os campos à vontade. A reindexação, a priori, deve ser feita de acordo com as necessidades de utilização, ou seja, deve ser aplicado um índice aos campos que são utilizados em filtros, em blocos de combinação, etc. Este processo complexo também é fornecido ao utilizador: o menu de reindexação executa automaticamente um processo de pontuação ou scoring que sugere quais os campos que devem ser indexados e quais os que podem ser ignorados (percorre e avalia os diferentes dashboards que utilizam cada campo do dataset), se o utilizador concordar pode aceitar diretamente a sugestão (recomendado), mas também tem a opção de escolher quais os campos que quer indexar ou não. Se o utilizador aceitar a reindexação, esta não é feita imediatamente, mas no próximo carregamento de dados programado.
Reindexação de campos
V9.4.0
Apenas alterações na parte da administração.
V9.2.0
Vista
Gráfico de velocímetro (gauge)
O gráfico de velocímetro ou gauge é um novo tipo de gráfico que permite apresentar diferentes medidas na mesma escala, o que facilita a comparação visual.
A representação dos valores é feita de forma radial, e sempre relativa a um intervalo de valores mínimos e máximos: por omissão, o valor mínimo é 0 e o valor máximo é o da medida com o valor mais elevado. Contudo, na configuração do próprio gráfico, é possível alterar a escala relativa às medições, ou seja, é possível escolher uma delas como valor mínimo e/ou máximo, adaptando o gráfico a essa escala. Qualquer valor fora da escala fica “fora” do gráfico, quer por defeito, quer por excesso.
Além disso, também é possível representar as medições como uma percentagem (relativa à soma de todas as medições). Neste caso, a escala fica automaticamente definida entre 0 e 100.
Exemplo de um gráfico de velocímetro
Edição
Gráfico de velocímetro (gauge)
O gráfico do velocímetro (gauge) é construído apenas a partir de medições. A ordem pela qual os campos são personalizados determina a forma como os valores aparecem no gráfico, sendo a primeira medição a mais exterior e a última a mais interior.
Além disso, a escala do gráfico é definida automaticamente por omissão. No menu de configuração existe uma opção para variar a escala com base nas medições representadas, mas em certos casos os valores mínimo e máximo podem ser definidos como valores predefinidos. Isto é possível através da edição das anotações do gráfico, uma das opções de personalização do gráfico. Nas anotações, seleciona-se o tipo de anotação “mín.” ou “máx.” para o mínimo e o máximo da escala, e escolhe-se um valor fixo determinado pelo utilizador ou um valor dinâmico obtido a partir de uma subconsulta.
Personalização do gráfico de velocímetro
Grupos em filtros
Os widgets de filtro podem incluir tantos campos quantos os desejados e em qualquer ordem que o editor escolher. Geralmente, existem dimensões que estão sempre próximas umas das outras, uma vez que fazem sentido como um “grupo”. Por vezes, para distinguir esses grupos, são criados vários widgets de filtro, o que permite ter controlo sobre cada um deles para os diferenciar de outros grupos. No entanto, a adição de vários widgets pode sempre prejudicar o desempenho das consultas dos conjuntos de dados, pelo que foi adicionada uma funcionalidade para simular grupos de campos num único widget.
Quando o widget tiver todos os campos pretendidos incluídos, é possível adicionar, na personalização dos componentes, os cabeçalhos de grupo pretendidos: todos os campos abaixo de um cabeçalho pertencem ao mesmo grupo até chegar ao cabeçalho seguinte. Cada grupo tem um título e uma classe CSS associada: se pretender, é possível personalizar cada grupo para o tornar diferente dos restantes, tal como acontece com os diferentes widgets.
Desta forma, é possível utilizar sempre um único widget de filtro, que pode ser dividido em grupos, consoante as necessidades. A única exceção ocorre no caso de existirem hierarquias definidas: uma hierarquia estabelece uma ordem de dependência entre vários campos, pelo que, se o primeiro campo da hierarquia for filtrado, os restantes campos respondem à filtragem, e assim sucessivamente. Caso se pretenda que várias hierarquias funcionem independentemente umas das outras, é necessário criar diferentes widgets de filtro, cada um com a sua própria hierarquia.
Exemplo de grupos de campos em filtros
Bloco Transpor em consultas
Os conjuntos de dados no Vision têm uma estrutura fixa, com colunas que contêm dimensões e medidas e linhas com o registo de dados. Posteriormente, um utilizador editor pega nessa estrutura de dados e, em cada widget, elabora uma consulta que apresenta os dados conforme pretendido. Embora seja possível realizar consultas complexas e “inverter” os dados, é normal que essa estrutura de linhas e colunas seja mantida e, portanto, há certos limites para a exploração de um conjunto de dados.
Para ultrapassar em grande medida estas limitações, introduzimos o bloco “Transpor”: este bloco permite transpor a estrutura ou deslocar de linhas para colunas ou de colunas para linhas. O funcionamento de cada opção é o seguinte:
- Linhas para colunas
- Seleciona-se uma única dimensão (coluna de texto ou data) para transpor ou deslocar. O conjunto de dados resultante mantém a estrutura das outras dimensões;
- Seleciona-se os valores de dimensão que se pretende transpor (não têm de ser todos). Estes valores devem ser explicitamente indicados na caixa de texto dos valores transpostos e, logicamente, são os nomes das novas colunas;
- Seleciona-se a medida (coluna numérica) a transpor.

Exemplo simples de transposição de linhas para colunas
- Colunas para linhas
- Todos as medidas que cheguem ao bloco são incluídas na transposição.
- Seleciona-se um nome para a nova dimensão;
- Todas as dimensões anteriores à transposição permanecem intactas. Cada linha original é dividida em tantas linhas quanto o número de medidas selecionadas para transposição;
- Os valores da dimensão são os nomes ou etiquetas das medidas (a internacionalização é preservada no caso de as medidas serem multilingues).
Seleciona-se um nome para a nova medida.

Exemplo simples de transposição de colunas para linhas
Nota: este bloco só pode ser utilizado como último bloco numa consulta
Exemplo de transposição em consultas
V9.1.0
Vista
Classificação e número de linha na configuração de tabelas simples
Em tabelas simples, é possível adicionar uma coluna de número de linha e também uma coluna de classificação com base no valor de uma medida. Na versão anterior, esta opção encontrava-se na personalização de um widget, na edição do dashboard. Agora, a funcionalidade foi transferida para o menu de configuração de uma tabela, tornando-se assim uma opção das tabelas simples acessível ao utilizador final.
Classificação e número da linha no menu de configuração
Edição
Alteração dinâmica da escala para medidas
Por vezes, quando existem medidas de natureza monetária cujo intervalo de valores é muito amplo, o utilizador pode considerar que o valor apresentado no ecrã é muito “longo” e, por vezes, pode até não ser interessante mostrar o valor exato. Cada medida pode ser ajustada em função do seu valor, quer na personalização da medida no conjunto de dados, quer diretamente no widget. No entanto, o ajuste de escala é individual para cada medida e é efetuado automaticamente, sem que o utilizador possa intervir.
Esta versão incorpora uma nova funcionalidade que permite ajustar a escala de uma ou várias medidas, todas em simultâneo, e selecionar dinamicamente a escala pretendida pelo utilizador final. Para o efeito, é possível adicionar um menu “de moeda” a um painel para gerir a escala. Este menu, por si só, não efectua qualquer alteração: para que tenha efeito, é necessário indicar quais as medidas que estão assinaladas com o tipo “moeda”, o que é feito na personalização da medida no conjunto de dados ou em cada widget de um painel. De salientar que a personalização de cada medida é respeitada em função da escala: a precisão, a unidade, etc., são as da medida original.
Como ativar e utilizar o menu de moeda num painel
Ocultar partes de um gráfico
Os gráficos, por omissão, têm uma grande variedade de opções, tanto em termos de configuração como de personalização. No entanto, por vezes, pode-se pretender aligeirar o gráfico para lhe dar um estilo diferente. Para isso, na personalização, é possível ocultar/mostrar elementos como o título, as linhas de eixo, a malha interna do gráfico e as linhas que marcam os valores nos eixos, para cada eixo.
Se toda a configuração for também removida, o gráfico torna-se numa imagem estática.
Exemplo de como ocultar partes de um gráfico
Opções para recolher a configuração de tabelas dinâmicas
As tabelas dinâmicas têm um menu de configuração muito completo: permite definir dimensões em colunas, linhas ou desativá-las e permite também adicionar e remover medidas da área de dados. Quando o número de campos adicionados à tabela dinâmica é elevado, o menu de configuração torna-se “pequeno”. Para tornar a utilização da configuração mais prática, as secções podem ser recolhidas, deixando mais espaço para os restantes blocos. Isto pode ser feito diretamente na vista, mas para tornar a alteração permanente, é possível aceder à personalização da tabela dinâmica e ativar a opção de bloco recolhido por defeito.
Além disso, a configuração tem um segundo separador de opções, que permite a adição de variações, percentagens e totais. Por vezes, esses cálculos não fazem sentido, pelo que o menu pode ser confuso se estiver visível, por isso, foi adicionada uma nova opção na personalização para remover esse separador e deixar visível apenas o menu de apresentação dos campos.
Opção para recolher blocos na configuração de tabelas dinâmicas
Ordem nos gráficos de barras
Os gráficos de barras, por omissão, colocam as barras no eixo X do gráfico de acordo com a ordem dos valores da dimensão. A personalização inclui uma opção que permite que os valores no eixo X sejam ordenados de acordo com o valor da medida, originando assim um gráfico de valores decrescentes.
Exemplo de como alterar a ordem nos gráficos de barras
V9.0.0
Vista
Gráfico de coordenadas paralelas
Está disponível um novo tipo de gráfico: coordenadas paralelas, que funciona com uma dimensão, séries e várias medidas que formam uma estrutura de vários eixos paralelos, cada um com a sua escala e unidade e que compõem um gráfico para cada série.
Exemplo de um gráfico de coordenadas paralelas
Chips de valores selecionados
Todas as seleções de valores nos filtros são refletidas num “chip” na parte superior de cada separador. Isto facilita a visualização sem ser necessário ter os filtros visíveis, especialmente quando os filtros estão recolhidos. Cada chip tem um botão “fechar”, que elimina a seleção efetuada, sem necessidade de clicar explicitamente nos filtros.
Cada dimensão ou medida filtrada tem o seu próprio chip, que mostra os valores selecionados. No caso de haver muitos valores, mostram-se os primeiros e, se o utilizador quiser ver todos, pode clicar no próprio chip para o expandir.
Exemplos de chips diferentes consoante o campo filtrado
Edição
Atualização dos conjuntos de dados
O planeamento da atualização do conjunto de dados permite definir tantos tipos de atualização quantos o utilizador desejar, ao contrário da versão anterior, em que só era possível definir um tipo de atualização. Para facilitar a implementação, são fornecidos vários planeamentos predefinidos. O utilizador pode adicionar qualquer um deles, tomá-lo como modelo e alterá-lo de acordo com as suas necessidades. Também é possível começar a partir de um planeamento vazio, bem como clonar e eliminar planeamentos.
O novo painel de configuração é muito semelhante aos planeadores de reuniões ou aos organizadores de eventos, com várias opções para definir as opções de atualização:
- Frequência de atualização de acordo com os intervalos de tempo mais comuns (minutos, horas, dias, semanas, etc.);
- Hora a que a atualização é planeada e seletor de fuso horário associado à mesma. Por omissão, a hora está definida em UTC; se assim não for, o utilizador deve selecionar o fuso horário pretendido (as opções UTC e o fuso horário do utilizador que está a editar o planeamento estão destacadas). Além disso, quando não se indica a hora, considera-se a hora atual como referência (no momento do clique em “OK”),
- Dias da semana. Esta opção específica é muito utilizada e permite indicar se é necessário atualizar apenas em dias específicos da semana;
- Meses do ano. Equivalente ao ponto anterior, permite ativar meses específicos do ano.
- Posição no conjunto. Esta lista de números inteiros separados por vírgulas permite restringir os planeamentos ativados a um subconjunto específico com base na ordem temporal. Por exemplo, se se selecionar uma frequência mensal em que apenas as segundas-feiras estão ativadas, o conjunto de planeamentos será todas as segundas-feiras do mês. Nesse caso, o valor "1" ativa a primeira segunda-feira de cada mês, o valor "2,3" ativa a segunda e terceira segundas-feiras de cada mês e o valor "-1" ativa a última segunda-feira de cada mês;
- Dias do ano. Permite indicar dias específicos do ano, a partir de uma lista de números inteiros positivos separados por vírgulas. Por exemplo, o valor “1,32” ativa a atualização nos dias 1 de janeiro e 1 de fevereiro, que tem a posição 32 na lista dos 365/366 dias do ano;
- Dias do mês. Equivalente ao ponto anterior, esta opção permite indicar dias específicos de cada mês. Por exemplo, o valor “1,15” permite a atualização nos dias 1 e 15 de cada mês;
- Opção de carregamento completo. Esta opção permite indicar que a atualização é completa, ou seja, elimina todos os dados do conjunto de dados e carrega-os novamente. É indicada para os casos em que o tipo de atualização é incremental, mas em que se pretende introduzir uma atualização completa com uma determinada frequência.
Nota: é de salientar que nem todas as opções são compatíveis entre si, ou seja, nem todas as opções podem ser configuradas ao mesmo tempo.
A parte del configurador, en la parte inferior de cada panel se presenta una ventana con una lista corta de las próximas planificaciones, lo cual permite al usuario verificar si la configuración es realmente la deseada. Para que sea universal para todos los usuarios la hora mostrada es siempre relativa a la zona GMT+00:00.
Para além do configurador, na parte inferior de cada painel existe uma janela com uma pequena lista com os próximos planeamentos, que permite ao utilizador verificar se a configuração é realmente a pretendida. Para ser universal para todos os utilizadores, a hora apresentada é sempre relativa à zona GMT+00:00.
Exemplos de diferentes planeamentos de atualização
Disposição dos filtros
Os filtros são widgets específicos de cada separador. Nesta versão, estão ativadas 3 opções para organizar os filtros na tela:
- Painel horizontal extensível
É a opção predefinida ao criar um painel ou um novo separador: os filtros encontram-se num painel específico na parte superior do separador. Este painel está sempre recolhido e é apresentado quando se clica no botão “Editar Filtros”, o que significa que o conteúdo do separador se desloca para baixo para dar lugar aos filtros. Uma vez efetuada a seleção, pode-se deixar o painel expandido ou recolhido. Também é possível adicionar e reorganizar tantos widgets de filtro quantos se desejar no painel. - Painel vertical extensível
Os filtros encontram-se num painel específico no lado esquerdo do separador. Esse painel está sempre recolhido e é apresentado ao clicar no botão “Editar Filtros”. Ao ativar a visualização vertical dos filtros, a secção sobrepõe-se ao conteúdo do separador, mas também é possível definir a secção como sempre visível, o que desloca o conteúdo do separador para a direita e o redimensiona de acordo com a nova largura disponível. Uma vez efetuada a seleção, é possível deixar o painel expandido ou recolhido. Para além disso, é possível adicionar e reorganizar tantos widgets de filtro quantos se desejar no painel.. - Filtros visíveis como widget
Esta opção permite adicionar um widget de filtro com o seu conteúdo, colocá-lo em qualquer lugar da tela como outro widget e personalizá-lo ao seu gosto.
Diferentes opções para apresentar os filtros em cada separador
Tipos de seleção nos filtros
No filtro de combinação, é possível alterar o tipo de seleção permitido: para aceder às opções, clique no ícone no canto superior direito da combinação:
- Seleção múltipla: é a seleção predefinida, que permite ativar/desativar os valores desejados da lista clicando neles.
- Seleção simples: permite selecionar apenas um valor da lista de valores possíveis; ao clicar num valor, este é selecionado e o anterior é desmarcado. Através da personalização, também é possível ativar a opção selecionar todos, embora o clique seguinte inclua novamente apenas um valor.
- Seleção até/desde: esta opção permite, dada a ordem da lista de valores do filtro, selecionar desde o primeiro valor da lista até o valor em que se clicou, ou desde o valor até o final da lista, dependendo da opção selecionada.
Além disso, em qualquer uma das opções, é possível utilizar a caixa de texto de pesquisa para limitar a lista de valores aos que correspondem à cadeia escrita, o que facilita a navegação nas listas longas.
Diferentes tipos de seleção nos filtros
Hierarquias em filtros na edição de painéis
Nas versões anteriores, as hierarquias entre as dimensões eram definidas em cada dataset. Posteriormente, num painel, foi incluída uma hierarquia na consulta, caso se pretendesse.
Este comportamento muda na V9: as hierarquias desaparecem dos conjuntos de dados e, por conseguinte, já não estão incluídas na consulta de um widget de filtro. Para ter o comportamento hierárquico, basta aceder à personalização de um widget de filtro combinado e, na secção Hierarquia, indicar quais as dimensões que serão hierárquicas e quais as que não o serão. A ordem da hierarquia indica como o conteúdo de cada campo no widget é colocado em cascata, mas os campos são ordenados de acordo com a lista do separador Componentes da personalização.
Como adicionar uma hierarquia numa combinação
Calendário no filtro geral
O widget específico “filtro de calendário” já não está disponível e os calendários são geridos no widget geral “filtro”. A funcionalidade do calendário continua a ser a mesma das versões anteriores:
- O formato da data altera a profundidade do calendário.
- Menu com as opções predefinidas mais comuns, juntamente com a opção “repor” para anular qualquer filtragem pela data do calendário.
- Opção de desativar opções predefinidas.
- Opção de limitar o intervalo entre as datas “de” e “a” a um número máximo de dias.
Uma vez que os calendários fazem agora parte do filtro geral, são integrados como uma dimensão adicional do filtro:
- Não requerem uma consulta específica para serem incluídos como filtro.
- As datas do calendário são ordenadas como qualquer outro componente.
- Podem fazer parte das hierarquias entre dimensões.
Filtro de data como calendário num filtro geral
Nota: os painéis V8 que tenham widgets de calendário com várias datas são automaticamente transformados na versão 9 em widgets de filtro com várias datas com a opção de calendário, organizados pela ordem original.
Drill-through em painéis
Na versão anterior do Vision (V8), a filtragem de “drill-through” aparecia por omissão nos widgets. Esta funcionalidade foi alterada, passando o drill-through a ser uma opção que pode ser ativada pelo utilizador editor na personalização dos widgets.
Como ativar a filtragem de drill-through em widgets
Ligações especiais em tabelas
As tabelas permitem incluir 3 tipos de ligações especiais nas suas células:
- Ligação à filtragem de drill-through: filtrar os restantes widgets do separador pelos valores relacionados com o clique.
- Ligação ao detalhe ou navegação interna: ligação a outro separador, aplicando como filtro efémero os valores relacionados com o clique.
- Ligação à navegação cruzada: liga a um URL externo ao painel, permitindo utilizar os valores relacionados com o clique e os valores filtrados no separador como parâmetros ao construir o URL de destino..
Ao selecionar uma das opções, os campos de tipo de dimensão (texto e data) são apresentados em formato de ligação.
Caso se pretenda adicionar mais do que uma opção, e dado que o clique direto só pode corresponder a uma delas, é ativado um menu de “clique com o botão direito” onde são apresentadas as opções ativadas, sendo possível decidir a qual das opções corresponde o clique direto.
Como ativar ligações especiais em tabelas
Ocultar widgets
No desenvolvimento de um painel no Vision, é útil ter widgets criados, como teste ou como modelo, mas não se pretende que apareçam no modo de consumo. Por vezes, também se pretende ter um filtro fixo no painel, mas não se pretende que seja visível para o utilizador. Para este efeito, é ativada a funcionalidade “Widget oculto”, que permite ver os widgets no modo de edição, mas que os oculta no painel no modo de consumo.
Opção para ocultar widgets
Expandir/recolher cabeçalho e rodapé
Para que a tela ocupe mais espaço ao editar um painel, tanto o cabeçalho como o rodapé podem ser expandidos/recolhidos.
Como expandir e recolher o cabeçalho e o rodapé
Persistência de fórmulas em conjuntos de dados
Uma fórmula normal num conjunto de dados não leva a que os dados sejam armazenados no conjunto de dados. Além disso, quando a fórmula é invocada, não é efetivamente calculada até ser necessária, quer no final da consulta, quer se for necessária para agregar num bloco Agrupar ou invocada num bloco Filtrar ou Ordenar. Por vezes, isto faz com que o desempenho das consultas piore significativamente, uma vez que é necessário dar um passo extra para obter os valores da fórmula “ em tempo real”.
Foi introduzida uma nova funcionalidade que permite calcular os valores das fórmulas no próprio conjunto de dados: a fórmula é a referência para o cálculo, mas o campo “persistente” comporta-se sempre como um campo normal, ou seja, deixa de ser uma fórmula para efeitos da sua participação na consulta de um widget. Esta funcionalidade permite também transferir parte dos processos ETL para o conjunto de dados do Vision e, assim, gerar efetivamente novos campos num conjunto de dados sem que estes tenham de existir na fonte de dados do conjunto de dados.
Algumas características da funcionalidade são as seguintes:
- Uma fórmula pode ser persistente e não persistente. Se for persistente, comporta-se como um campo normal e, se não o for, comporta-se como uma fórmula.
- Um campo persistente aplica a fórmula associada para obter ou atualizar os valores do dataset, por exemplo, quando se executa uma consulta SQL ao atualizar um dataset ou ao carregar dados de um ficheiro.
- Se persistir uma fórmula multilingue, o idioma do painel é respeitado, ou seja, os valores especiais são armazenados e descodificados de acordo com o idioma pretendido.
- Quando uma fórmula persistente é incluída num conjunto de dados subordinado (um conjunto de dados com origem de dados noutro conjunto de dados), as propriedades do campo de origem são herdadas. Uma vez criado o conjunto de dados subordinado, cada campo é tratado separadamente, ou seja, é possível ter o mesmo campo persistente num conjunto de dados e não persistente noutro.
- Janelas e campos de fórmula persistentes: uma fórmula dependente da data utilizada como uma ordem num bloco de Janela não é tida em conta para a partição da janela. Se a fórmula for persistente, o campo comporta-se como um campo normal, pelo que, se for incluído na consulta, será incluído na partição.
Como persistir e desistir de uma fórmula num conjunto de dados
Adição de idiomas a painéis e conjuntos de dados
Ao criar ou editar os metadados de um painel ou de um conjunto de dados, é permitido adicionar mais idiomas do que os suportados pelo Vision. O idioma deve ser definido como um código de 2 letras (ISO 639-1) e, uma vez ativado, o utilizador editor pode ir completando as etiquetas nos menus de internacionalização correspondentes.
Se o idioma adicionado for um idioma suportado pelo Vision (atualmente disponível em es, pt e en), todos os textos próprios da ferramenta (menus, formatos, etc.) são apresentados no idioma indicado. Se, pelo contrário, o idioma não for suportado pelo Vision, os textos relativos à ferramenta aparecerão sempre em inglês.
Como gerir os idiomas num dashboard
Menu global para alteração do idioma e logout
Em ambientes multiutilizadores e multilingues, é por vezes desejável poder controlar explicitamente o idioma e/ou o utilizador que acede. Quando esta opção é ativada, é adicionado um novo menu no modo de vista, ou seja, acessível ao utilizador final, permitindo que o utilizador que utiliza o dashboard faça as alterações indicadas, se desejar.
Como ativar e utilizar o menu especial de idioma/logout