Usuário com melhor resposta
URGENTE - Como definir um parâmetro do tipo calendário - Reporting Services

Pergunta
-
Bom dia,
Eu tenho um projecto SSAS, com vários cubos. O meu sistema Operacional est em Ingls - O Report Builder em PT - BIDS SSRS em Inglês!
Eu agora quero criar relatórios sobre os mesmos. Um requisito fundamental é criar parâmetros, entre os quais Calendários com a data.
O meu sistema têm uma Dimensão TEMPO, com vários campos como ANO-SEMESTRE-TRIMESTRE-MES-DIA-DATA. A DATA é do tipo DATATIME.
Exemplo da Data: (2004-01-04 00:00:00.000) O resto dos campos: 2004 - 1 Semestre - 1 Trimestre - 01-Janeiro 1 - 04
A relação entre a Dimensão Tempo e as Tabelas de Facto é com base num Identity.
Agora eu quero criar analises, mas pretendo colocar o calendário, com base na data da dimensão, mas sem resultados práticos, Dá sempre erro. Não sei como fazer...
Não sei se é do tipo de dados, nao faço ideia.
Alguem me pode ajudar.
Respostas
-
Você precisa converter a sua data para o formato DateTime que o ssrs reconhece no parametro. No dataset que você traz do SSAS os dados, você pode criar um calculated field para fazer a conversão. Use esse campo calculado para alimentar o parâmetro do relatorio. Veja como fazer o parse aqui: http://msdn.microsoft.com/en-us/library/1k1skd40.aspx
Note que ele permite a você especificar um format provider para ajudar a fazer conversão quando o formato de origem eh diferente do formato de destino.
dateValue = DateTime.Parse(dateString, new CultureInfo("fr-FR", false));
Da mesma forma, antes de alimentar o parâmetro para o seu dataset, você precisa fazer a conversão inversa, convertendo para o formato esperado pelo seu banco de dados.
Att
Boreki
Boreki[MSFT] - SQL Server Reporting Services
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 18 de julho de 2012 14:18
- Marcado como Resposta Richard Juhasz quarta-feira, 23 de janeiro de 2013 16:03
Todas as Respostas
-
Meu caro, talvez você esteja querendo definir o campo do parâmetro para o tipo DATETIME.
Se for isto, simplesmente defina o campo como DATETIME [ou DATE, não me recordo]. Assim você terá uma caixinha ao lado do campo para selecionar uma data.
At. Guilherme Alves Rodrigues
-
-
Você precisa converter a sua data para o formato DateTime que o ssrs reconhece no parametro. No dataset que você traz do SSAS os dados, você pode criar um calculated field para fazer a conversão. Use esse campo calculado para alimentar o parâmetro do relatorio. Veja como fazer o parse aqui: http://msdn.microsoft.com/en-us/library/1k1skd40.aspx
Note que ele permite a você especificar um format provider para ajudar a fazer conversão quando o formato de origem eh diferente do formato de destino.
dateValue = DateTime.Parse(dateString, new CultureInfo("fr-FR", false));
Da mesma forma, antes de alimentar o parâmetro para o seu dataset, você precisa fazer a conversão inversa, convertendo para o formato esperado pelo seu banco de dados.
Att
Boreki
Boreki[MSFT] - SQL Server Reporting Services
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 18 de julho de 2012 14:18
- Marcado como Resposta Richard Juhasz quarta-feira, 23 de janeiro de 2013 16:03