簡體   English   中英

是否可以在SSRS報表設計器中使用XML數據集

[英]Is it possible to use XML dataset in SSRS report designer

是否可以在SSRS報表設計器中使用XML數據集? 我需要獲取一個大型數據集,例如

Master Row
  - Details1
  - Details2
  - ... DetailsN

我已經創建了查詢,該查詢使用FOR XML RAW返回了XML數據,但是添加新報表時,我無法在查詢設計器中使用它。

請注意,我沒有使用XML數據源,我只是想使用SELECT查詢來添加XML數據集。我沒有嘗試過存儲過程,但是不確定它是否也可以正常工作...

換句話說,是否可以將XML數據集(非數據源)添加到SSRS報告中

如果需要看起來像樹視圖的XML,則可以執行以下操作:

DECLARE @xml XML=
'<root>
  <level content="Level A">
    <detail content="Detail AA">
      <item content="item AAA" />
    </detail>
    <detail content="Detail AB">
      <item content="item ABA" />
      <item content="item ABB" />
      <item content="item ABC" />
    </detail>
    <detail content="Detail AC">
      <item content="item ACA" />
      <item content="item ACB" />
    </detail>
  </level>
  <level content="Level B">
    <detail content="Detail BA">
      <item content="item BAA" />
    </detail>
    <detail content="Detail BB">
      <item content="item BBA" />
      <item content="item BBB" />
      <item content="item BBC" />
    </detail>
    <detail content="Detail BC">
      <item content="item BCA" />
      <item content="item BCB" />
    </detail>
  </level>
</root>';


SELECT  CASE The.Node.value('fn:local-name(.)','varchar(max)')
        WHEN 'level' THEN ''
        WHEN 'detail' THEN REPLICATE(' ',4)
        WHEN 'item' THEN REPLICATE(' ',8)
        ELSE ''
        END + The.Node.value('@content','varchar(max)')
FROM @xml.nodes('root//*') AS The(Node)

結果

Level A
    Detail AA
        item AAA
    Detail AB
        item ABA
        item ABB
        item ABC
    Detail AC
        item ACA
        item ACB
Level B
    Detail BA
        item BAA
    Detail BB
        item BBA
        item BBB
        item BBC
    Detail BC
        item BCA
        item BCB

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM