none
Reporting Services + valor de um campo RRS feed

  • Pergunta

  • Bom dia a todos,

    Tenho o seguinte cenário.

    1 - Dataset

               select Consumo, SO, Cinza, Tipo from CombTrimestre where Tipo = '0' or Tipo = '1' and Ano = @Ano and Trimestre = @Trimestre order by ID, Ano, Mes

                     Os valores retornados são os seguintes:

                     Consumo  |  SO  |  Cinza  |  Tipo

                     101          |  4     |  11      |   0

                     201          |  5     |  21      |   1

    Criei uma tabela dinâmica que aumenta o número de colunas de acordo com os meses de um trimestre, pode ir de 2 colunas até 6 (2 tipos - 3 colunas para cada) e em cada coluna devem aparecer os valores conforme o resultado da query menos o campo Tipo.

    Gostaria de saber como posso criar uma expressão que fizesse um Iif de acordo com o tipo. Criei uma, mas funciona.

    =Iif(Fields!Tipo.Value = "0", Fields!Consumo.Value, nothing) ** No report existem outras Datasets e ao executar o report não me aparece nada, penso que seja

                                                                                           ** porque na expressão não está indicado o Dataset.

    Existe alguma maneira de indicar o dataset do campo sem obrigatoriamente utilizar o Sum, porque ao seleccionar o dataset e o campo sempre aparece assim

    =Sum(Fields!Consumo.Value, "Dataset")

     

    Muito obrigado pela atenção e pela ajuda.

     

    Pedro Ribeiro

     

     

     

     

    quarta-feira, 4 de agosto de 2010 10:18

Respostas

  • Pedro,

    O campo que sera usado na sua expressao é referente ao dataset usado por aquela tabela/matriz. Uma coisa que pode estar errada é caso o campo Tipo for um inteiro ao invez de string, a comparação teria que ser iif(Fields!Tipo.Value=0, Fields!Consumo.Value, Nothing).

    Voce só pode referenciar campos de outros datasets em uma expressão usando uma função de agregação como o exemplo do Sum que você passou, voce pode usar Sum, Avg, First, Last, etc. Mas não existe como fazer um Join entre os datasets. No SSRS2008 R2 existe a função de agregação 'Lookup' que pode funcionar como join em alguns casos.

    Att

    Boreki


    Boreki[MSFT] - SQL Server Reporting Services
    quarta-feira, 4 de agosto de 2010 15:21