none
Subtrair data de MDX RRS feed

  • Pergunta

  • Olá!

     

    Será que alguém poderia me ajudar com uma dúvida: estou criando um relatório no RS onde terei um campo que trará um valor para o mês atual, ex: vendas por mês. Até aí tudo bem, mas preciso de um comando mdx que me traga, no campo ao lado, o valor para o mesmo mês do ano anterior.

    Grato

    quinta-feira, 30 de setembro de 2010 17:05

Respostas

  • LucasMCP,

    A mensagem esta informando a ocorrência de erro de conversão de um valor do tipo de dados data, verifique na sua expressão, que o Reporting Services esta tentando converter sua data em um valor inteiro.

    Qual é a formatação que esta configurada para este textbox?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    • Marcado como Resposta LucasMCP quinta-feira, 21 de outubro de 2010 17:48
    sábado, 2 de outubro de 2010 00:28

Todas as Respostas

  • Lucas,

    Mas porque utilizar um comando MDX para esse tipo de situação?

    Este valor do mês referente ao ano anterior seria calculado durante o processo de geração do relatório?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    quinta-feira, 30 de setembro de 2010 17:46
  • Olá Junior!!

    Sim, como não tenho esse valor no Cubo, terei que gerá-lo no relatório. Ficaria +/- assim:

    ID Produto             Valor Mês           Valor Mês Ano anterior

    1                            xxxx                     xxxxxx

     

    Isso ficará fixo no layout do relatório.

    Abs

    quinta-feira, 30 de setembro de 2010 18:24
  • LucasMCP,

    Então, mas no Reporting Services, existem diversas expression que podemos utilizar durante a execução relatório, acredito que você poderia realizar este cálculo através de um textbox personalizado por esta expression.

    Você tem todos os dados disponíveis para realizar o cálculo?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    quinta-feira, 30 de setembro de 2010 18:37
  • Júnior,

    Acredito que tenho todos os dados necessários sim, tem um exemplo desse tipo de expression para me passar?

    Obrigado

    quinta-feira, 30 de setembro de 2010 18:45
  • LucasMCP,

    Faça seguinte no seu relatório acrescente um textbox, clique com o botão da direita sobre este objeto selecione a opção Expression ou Propriates.

    As expressões estão organizadas por categorias!!!


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    quinta-feira, 30 de setembro de 2010 18:50
  • Junior,

     

    Seria algo assim??:

    =iif(

                 (datediff(

    "M",Fields!Dia.Value, today())) <= 12,

                              sum(Fields!Valor.Value),

     

                              "0"

          )

    Está me dizendo que a sintaxe está ok, mas está apresentado erro na apresentação do relatório

    quinta-feira, 30 de setembro de 2010 19:16
  • Lucas,

    Isso algo similar a este exemplo.

    Mas qual é a mensagem de erro que você esta recebendo. Seria alguma coisa relacionada a conversão de dados?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    quinta-feira, 30 de setembro de 2010 19:24
  • Junior,

     

    Exatamente isso:

    Warning 2 [rsRuntimeErrorInExpression] The Value expression for the textrun ‘Textbox134.Paragraphs[0].TextRuns[0]’ contains an error: Argument 'Date1' cannot be converted to type 'Date'. 

    quinta-feira, 30 de setembro de 2010 19:35
  • LucasMCP,

    A mensagem esta informando a ocorrência de erro de conversão de um valor do tipo de dados data, verifique na sua expressão, que o Reporting Services esta tentando converter sua data em um valor inteiro.

    Qual é a formatação que esta configurada para este textbox?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    • Marcado como Resposta LucasMCP quinta-feira, 21 de outubro de 2010 17:48
    sábado, 2 de outubro de 2010 00:28
  • Junior, Boa tarde!

    Uma pergunta: seria recomendável ao invés de fazer isso no reporting, deixar pronto no Cubo um calculated member com essa expressão. Para daí sim fazer com MDX?

     

    Abs

    sábado, 2 de outubro de 2010 20:27
  • LucasMCP,

    Por questões de facilidade e performance seria melhor fazer diretamente no Cubo ao invês de ficar processando no relatório.

    Poderia seu utilizar uma calcuted member para realizar o cálculo, e quem sabe, seria possível utilizar uma função ou expressão MDX.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    domingo, 3 de outubro de 2010 20:07
  • Junior,

    Mais uma vez obrigado, cara. Só uma dúvida, se puder me ajudar agradeço muito:

    Farei, como você me recomendou, os cálculos no Cubo. Para pegar um determinado valor, que será um outro calculated member, em um mês anterior, posso usar o comando MDX PrevMember certo? E para fazer o mesmo, só que 2 meses atrás, ou seja, quero traçar um histórico desse calculated member. Ficaria assim:

     

    Produto       Vendas Mês - 11        Vendas Mês - 10 ............................ Vendas Mês(MTD)

    Consigo fazer isso com o PrevMember tb?

    Obrigado

    domingo, 3 de outubro de 2010 23:34