Pergunta

Eu tenho um relatório no SSRS 2008 que está usando um serviço da Web como uma de suas fontes de dados. A aparência básica do XML retornada é

<table>
    <row>
        <column1>data</column1>
        <column2 xsi:nil="true" />
        <column3>data</column3>
    </row>
</table>

Quaisquer tags com o atributo "nil" estão aparecendo em branco no relatório. Eu gostaria de substituir os espaços em branco por um traço. Como é um campo numérico e zero tem significado no relatório, não posso simplesmente alterar o serviço da web para retornar zero ou uma string vazia. Eu tentei fazer vários tipos de comparação condicional para trocá -los, mas todos aparecem como "#error" no relatório:

=iff(Field!column2.Value Is Nothing, "-", Field!column2.Value)
=iff(IsNothing(Field!column2.Value), "-", Field!column2.Value)
=iff(Field!column2.Value = "", "-", Field!column2.Value)
=iff(CStr(Field!column2.Value) = "", "-", Field!column2.Value)

Alguma ideia?

Editar: Não era a verificação vazia que estava falhando, era um condicional aninhado dentro do primeiro IIF. Uma vez removido, pude fazê -lo funcionar.

Foi útil?

Solução

Eu não tive problemas para usar:

 =Iif(cstr(First(Fields!RegInceptionDate.Value, "spimRptPerfSummary")) = "", "-", First(Fields!RegInceptionDate.Value, "spimRptPerfSummary"))

É assim que meu conjunto de dados se parece:

<Query>
   <Method Namespace="http://www.abc.com/" Name="TWRPerformanceSummary"/>
   <SoapAction>http://www.abc.com/TWRPerformanceSummary </SoapAction>   
   <ElementPath IgnoreNamespaces="true">
        TWRPerformanceSummaryResponse/TWRPerformanceSummaryResult/diffgram/NewDataSet/table{PkRegistration, InceptionDate(date),RegInceptionDate(string)}
   </ElementPath>
</Query>

Minha expressão estava em uma caixa de texto, é por isso que a envolvi em um primeiro () no conjunto de dados. Eu lancei o ReginceptionDate no conjunto de dados como string (é realmente uma data, mas desde que volta a nulo não importava). Não tenho certeza se o cstr () na expressão é necessário, pois tenho o elenco no próprio conjunto de dados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top