2013-10-24 140 views
0

在預覽中運行報告時出現以下錯誤報告的定義無效,Tablix的「Tablix11」包含無效的TablixMember。如果省略了Group,則不允許排序表達式元素。報告服務錯誤?

我從來沒有遇到過這個錯誤,並不能理解是什麼導致它。

回答

1

可以通過創建簡單的Tablix並查看基礎XML來複制該錯誤。

當您創建Tablix的一組中,襯底RDL XML將包括這樣的事情:

 <TablixRowHierarchy> 
      <TablixMembers> 
      <TablixMember /> 
      <TablixMember> 
       <Group Name="Group1"> 
       <GroupExpressions> 
        <GroupExpression>=Fields!val.Value</GroupExpression> 
       </GroupExpressions> 
       </Group> 
       <SortExpressions> 
       <SortExpression> 
        <Value>=Fields!val.Value</Value> 
       </SortExpression> 
       </SortExpressions> 
       <TablixMembers> 
       <TablixMember> 
        <Group Name="Details3" /> 
       </TablixMember> 
       </TablixMembers> 
      </TablixMember> 
      </TablixMembers> 
     </TablixRowHierarchy> 

如果您刪除整個Group元素,這會給你看到了同樣的錯誤:

enter image description here

如果您還刪除了SortExpressions元素,這將允許報表呈現沒有錯誤。

但是 - 我不可能說出你的RDL文件是如何在這個狀態下得到的。鑑於黑客利用XML來讓事情運行很少是一個好主意,我的建議是從頭開始tablix,而不是將事情篡改爲工作狀態 - 您可能會引入更多問題。

但至少希望現在你可以看到爲什麼錯誤可能發生。

0

我發現Tablix頭有一個包含交互式排序的文本框屬性。該文本框位於標題中,而不是詳細信息的一部分。當我從tablix的詳細信息中刪除該字段時,交互式排序仍保留在標題中的文本框中。

右鍵單擊tablix的標題文本框,然後選擇文本框屬性,然後選擇「交互式排序」,然後將「排序依據」值更正爲正確的字段名稱,從而更改標題。