BusinessObjects

O blog do Consultor BO

Parâmetros via GET no Xcelsius – Flash Variables

Bom pessoal, vou apresentar um recurso muito interessante no Xcelsius: a possibilidade de passar parâmetros na URL via GET. Hum, você não sabe o que é passagem de parâmetros via GET? Então vou explicar rapidinho:

Você deve ter observado (se não observou, observe) que muitas vezes quando acessamos páginas na web, na URL contém um monte de código após o endereço base, assim:
https://www.google.com.br/search?q=BusinessObjects

Essa ultima parte da URL “search?q=BusinessObjects” é basicamente uma chamada do Google para a página de busca, e o “q” é o parâmetro recebe o texto “BusinessObjects”. Essa funcionalidade é muito explorada em todo tipo de conteúdo web, PHP, ASP.NET, JSP, HTML entre vários outros, e nesse “vários outros” esta o SWF, ou seja, o flash! Ou mais direto ainda: um painel Xcelsius exportado e compilado para ser publicado em qualquer lugar. Qual a vantagem disso? Inúmeras!

Vamos supor a seguinte situação: Você precisa desenvolver um painel que será consumido por várias unidades da empresa, porém uma unidade não quer (ou não pode) ver dados da outra unidade, e estamos falando de uma empresa que tem 20 unidades. Não seria interessante ou prudente desenvolver 20 painéis idênticos com a única diferença de parametrização da empresa cravado la dentro do Excel. É ai que entra o recurso GET, e você teria que desenvolver apenas 1 painel e parametrizar a unidade na URL de acesso ao arquivo SWF, assim:
http://MeuServer:8080/Portal/AnaliseUnidade.swf?unidade=1
http://MeuServer:8080/Portal/AnaliseUnidade.swf?unidade=2
http://MeuServer:8080/Portal/AnaliseUnidade.swf?unidade=3
http://MeuServer:8080/Portal/AnaliseUnidade.swf?unidade=10
http://MeuServer:8080/Portal/AnaliseUnidade.swf?unidade=15
http://MeuServer:8080/Portal/AnaliseUnidade.swf?unidade=20

Note que o delimitador da lista de parâmetros é o caractere “?”, que vem logo após o endereço do arquivo. Sim, podemos trabalhar com mais de um parâmetro! E o delimitador é o “&”:
http://MeuServer:8080/Portal/AnaliseUnidade.swf?unidade=1&ano=2014&mes=9

Vou usar um painel estático com um gráfico de faturamento. Nesse painel vou passar o número da unidade e ele vai carregar o gráfico somente daquela unidade.

Considere uma tabela de dados no Excel com os campos abaixo:
Flash Variables 01

Nessa tabela eu tenho dados de 3 unidades: São Paulo, Rio de Janeiro, Belo Horizonte. A coluna “Unidade + Mês” é a concatenação da coluna “unidade” e “mês” para criar uma chave.

Considere a seguinte tabela que irá ser fonte do gráfico:
Flash Variables 02

Na célula I1 é onde irei receber o parâmetro “unidade”
Na célula 2I eu faço um PROCV para carregar o nome da unidade conforme a tabela anterior
Nas células J5:J16 eu faço um PROCV para carregar os valores conforme a tabela anterior

Considere o seguinte gráfico ligado as células I5:J16 conforme a tabela anterior:
Flash Variables 03.1
Flash Variables 03.2

Agora é o momento de criar a “Flash Variable” unidade para receber o código via GET:
1 – Acesse o menu “Data > Connections”;
2 – No menu superior, clique em “Add” e selecione “Flash Variables”;
3 – No painel “Variable Data”, inclua um range clicando no “+” ao final da lista;
4 – No campo “Name” preencha com o texto “unidade”;
5 – No campo “Range”, que faz mapeamento de células do Excel, selecione a célula I1, que é a célula azul aonde vai o código da unidade;

Flash Variables 04

Feito isso, o painel esta pronto, agora é só exportar para SWF: Acesse o menu File > Export > Flash (SWF).

No meu exemplo eu salvei o arquivo com o nome de “AnaliseUnidade.swf” no diretório C:\temp. Para executa-lo é necessário digitar a URL conforme o exemplo:
Unidade de São Paulo:
file:///C:/Temp/AnaliseUnidade.swf?unidade=1
Unidade de Rio de Janeiro:
file:///C:/Temp/AnaliseUnidade.swf?unidade=2
Unidade de Belo Horizonte:
file:///C:/Temp/AnaliseUnidade.swf?unidade=3

ATENÇÃO!!!
Existe uma armadinha, se você der um duplo-clique no arquivo, ele provavelmente irá abrir no Internet Explorer com a seguinte URL no endereço do browser:
C:\Temp\AnaliseUnidade.swf

Se você incluir o parâmetro unidade=1 conforme o exemplo:
C:\Temp\AnaliseUnidade.swf?unidade=1

Ele não vai funcionar, vai apresentar a seguinte mensagem:
Flash Variables 05

Isso ocorre com o Internet Explorer, no caso do Google Chrome não, ele muda automaticamente para o file:///.

Clique aqui para fazer o download do projeto em Xcelsius.

, , , , , ,

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *