Archive

Posts Tagged ‘Dashboard Designer’

Usando Named Sets no Analysis Services para entregar “Ranges” de datas pré-definidos para o usuário final

October 29, 2010 4 comments

Autor:

Thiago Silva

Publicação:

29/Out/10

Overview

Desenvolvendo soluções de BI, usando o SQL Server Analysis Services (SSAS), damos para o usuário final a possibilidade de navegar nos dados usando uma dimensão de tempo. Mas, quando o usuário começa a utilizar, ele sempre quer mais, por exemplo: Como faço para filtrar somente os dados do último mês, ou dos últimos três até a data atual?”.

Por padrão, este filtro não existe. O usuário teria que selecionar os meses que ele gostaria de ver, por exemplo, o mês anterior ao que vigente em que ele estava montando os filtros. Mas, e quando virar o próximo mês? Não será automático, ou seja, ele precisará fazer um novo filtro ou seu filtro inicial irá trazer dois meses anteiores, agora que ele está no próximo mês ao que ele estava antes.

Podemos então ajudar o usuário dando a possibilidade para que ele insira cálculos pré-configurados que farão o que ele precisa, de forma automática. Para isso, usamos Calculated Members e/ou Named Sets.

Solução

Para essa solução vou trabalhar com os seguintes produtos e tecnologias:

· Windows 7 Enterprise

· Microsoft SharePoint 2010 Server Enterprise (PerformancePoint Services);

· SQL Server 2008 Enterprise;

· Business Intelligence Development Studio;

· PerformancePoint Dashboard Designer.

O foco deste artigo não é a criação de um projeto no Analysis Services. Para ajuda neste assunto, consulte: http://msdn.microsoft.com/en-us/library/ms166552.aspx – Designing and Implementing: Tutorials (Analysis Services – Multidimensional Data)

1. Criando os Named Sets.

a. No seu projeto do Analysis Services, clique duas vezes sobre o seu cubo (.cube) no Solution Explorer.

b. Clique na tab Calculations, clique em Script View, para ver o script inteiro como na imagem abaixo.

image

c. Logo abaixo de “CALCULATE;”, insira o seguinte script.

/*

Dimensão Data

*/

CREATE HIDDEN DYNAMIC SET CURRENTCUBE.[TodaySet]

AS filter([Data].[Calendar Date].[Date].Members,

[Data].[Calendar Date].CurrentMember.Properties(“Data As Int”)

= Format(Now(), “yyyyMMdd”)) ;

CREATE HIDDEN DYNAMIC SET CURRENTCUBE.[CalendarTodaySet]

AS exists([Data].[Calendar Date].[Date].Members, [TodaySet]).ITEM(0).ITEM(0) ;

CREATE DYNAMIC SET CURRENTCUBE.[Current Year To Date]

AS [CalendarTodaySet].ITEM(0).ITEM(0).Parent.Parent.FirstChild.FirstChild :

[CalendarTodaySet].ITEM(0).ITEM(0);

CREATE DYNAMIC SET CURRENTCUBE.[Last Month]

AS [CalendarTodaySet].ITEM(0).ITEM(0).Parent.Lag(1).FirstChild :

[CalendarTodaySet].ITEM(0).ITEM(0).Parent.Lag(1).LastChild;

CREATE DYNAMIC SET CURRENTCUBE.[Last Three Month]

AS [CalendarTodaySet].ITEM(0).ITEM(0).Parent.Lag(3).FirstChild :

[CalendarTodaySet].ITEM(0).ITEM(0).Parent.Lag(1).LastChild;

CREATE DYNAMIC SET CURRENTCUBE.[Last Three Month To Date]

AS [CalendarTodaySet].ITEM(0).ITEM(0).Parent.Lag(3).FirstChild :

[CalendarTodaySet].ITEM(0).ITEM(0);

/*

[Data] = Dimensão de Tempo

[Calendar Date] = Hierarquia com os seguintes atributos (Year → Month → Date)

[Date] = Atributo relacionado ao dia 

*/

d. Na Solution Explorer, vá até o DataSourceView que possui a sua tabela de Tempo. Clique duas vezes nela para criarmos um campo calculado que terá a data atual como “int”, no formato yyyymmdd.

e. Clique com o botão direito na sua tabela que contém as datas, e selecione Add New Named Calculation.

image

f. Em Column Name, dê o nome de Data As Int.

g. Em Expression, insira a seguinte expressão para transformar a data em um número inteiro.

i. convert(varchar(8), PK_Date, 112)

PK_Date = coluna que contém a data na tabela de datas.

h. Clique OK, e depois clique com o botão direito na tabela e selecione Explore Data para verificar se a expressão funcionou. Navegue com as barras, se necessário, até encontrar a coluna que acamos de criar.

image

image

i. Na Solution Explorer, clique duas vezes sobre a sua dimensão de Datas.

j. Em Data Source View, na tabela de Datas, localize a coluna que acabamos de criar, clique com o botão direito e selecione New Attribute from Column.

image

NOTA: Repare na hierarquia Calendar Date, é nela que o script é baseado.

k. Pronto. Agora é só fazer Deploy e Processar o cubo. Na dimensão de Data teremos nossos filtros!

image

l. E onde entra o SharePoint nisso tudo? Podemos gerar gráficos dinâmicos usando o PerformancePoint e/ou Excel Services acessando informações do cubo criado no SQL Server com Analysis Services.

m. E estes Named Sets podem ser utilizados no PerformancePoint Dashboard Designer para filtrar os dados!

image

Conclusão

Nesse artigo mostrei como podemos criar filtros/membros calculados para automatizar ações do usuário final. Assim, ele não precisa ficar atualizando o mesmo relatório sempre que alguma variável já conhecia mude, como é o caso de um relatório que traz informações do mês anterior.

Sem estes filtros/membros calculados, o usuário precisaria atualizar o relatório sempre que o mês mudasse, selecionando então, o anterior vigente.

The remote server returned an error: (401) Unauthorized – Dashboard Designer PerformancePoint 2010

October 8, 2010 1 comment

Olá! Smile

Overview:

Pra variar só um pouco, após desenvolver vários Dashboard’s em ambiente de desenvolvimento, chegou a hora de fazer o deploy das funcionalidades no servidor de homologação e dar a possibilidade para os Power Users criarem dashboards também.

Cenário:

Eis que ao disponibilizar o ambiente homologação para os usuários, o servidor de homologação fica em um domínio e as máquinas clientes (dos Power Users) ficam em outro domínio.

Ao clicar “Run Dashboard Designer” (imagem abaixo) deveria iniciar a instalação do Dashboard Designer e já abrir um Workspace na url atual para início da criação dos testes dos usuários. Mas, isso não aconteceu como esperado.

clip_image002

ERRO:

The remote server returned an error: (401) Unauthorized.

Ao clicar em “Run Dashboard Designer” o IE tenta encaminhar o usuário para o instalador do Dashboard Designer, que por padrão fica em “%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ppsma\1033\Designer.application”, mas tratado pelo browser temos: “http://seusite/_LAYOUTS/ppsma/1033/Designer.application”.

O problema acontece por que, mesmo setando um usuário válido do domínio do SharePoint, ao clicar no botão, o IE leva as credenciais do Windows, ou seja, credenciais do domínio que não é do domínio do SharePoint. Assim, tendo acesso negado para baixar e instalar o Dashboard Designer.

SOLUÇÃO:

Para resolver este problema, temos que forçar a credencial que deve ser utilizada. Para isso, vá até: Control Panel > User Accounts and Family Safety > Credential Manager.

Edite (ou adicione uma nova) credencial do site que você vai criar os dashboards.

clip_image004

clip_image006

Insira uma credencial que tenha direitos de acesso ao SharePoint e seus diretórios. Smile

Abraço!