SQL Server Data Tools 是一個報表創作環境,允許您在 Visual Studio 中創建或編輯 SQL Server Reporting Services 報表。 最終結果是一個報表定義 .rdl 檔,您可以將其發佈以查看報表。
您還可以使用通用文字編輯器創作報表。 要減少創建自定義報告的工作量,請修改提供大多數所需功能的現有 .rdl 檔案。 有關 .rdl 檔中 XML 元素格式的詳細資訊,請參閱 報表定義語言參考。 可以使用指定的 XML 架構來驗證修改後的報告 XML。 當您嘗試上載報表時,Reporting Services 還將驗證報表定義並拒絕報表(如果定義無效)。
備註
如果 .rdl 檔包含 FetchXML 查詢,則 RDL 中的查詢由 Microsoft Dynamics CRM 2016 報表創作擴展進行驗證,該擴展擴展在內部根據 FetchXML 架構對其進行驗證。
創建基於 Fetch 的自訂報表
要創建基於 Fetch 的自訂報表,請執行以下作:
確保您擁有受支援的 Visual Studio 版本、SQL Server Data Tools、Microsoft Dynamics CRM 2016 Report Authoring Extension 和必要的許可權。 詳細資訊: 使用 SQL Server Data Tools 的報表編寫環境
打開 Visual Studio,然後創建一個報表伺服器專案。
在「解決方案資源管理器」中,右鍵按兩下 「報表 」 資料夾,然後選擇「 添加新報表」。
選取 下一步。
在 Select the Data Source 頁面上,選擇 New Data Source,然後指定以下詳細資訊:
名稱:鍵入數據源的名稱。
類型:選擇 Microsoft Dynamics 365 Fetch。
連接字串:指定連接字串。 必須按以下格式指定連接字串:
伺服器 URL;組織名稱;HomeRealmURL
在此連接字串中,只有 ServerURL 是必需的。 如果未指定 OrganizationName ,則使用運行此查詢的用戶所屬的第一個組織。 HomeRealmURL 是貴組織使用的身份提供者的主領域 URL,當您的組織使用聯合進行身份管理時需要此 URL。 請與您的網路管理員聯繫以確定主領域 URL。
選擇 憑據 以指定連接到 Dynamics 365 for Customer Engagement 應用或 Dynamics 365 for Customer Engagement 應用的憑據,然後選擇 下一步。
在 Design the Query (設計查詢 ) 頁面上,在 Query (查詢 ) 框中鍵入 FetchXML 查詢。 要取得此查詢,您可以執行以下作之一:
從 Advanced Find 查詢中獲取 FetchXML。 為此,請打開 Customer Engagement (on-premises) 應用,選擇 高級查找,創建所需的查詢,然後在 高級查找 選項卡上,選擇 下載 Fetch XML。 將 FetchXML 複製到 Visual Studio 的 Dataset Properties 中的 Query 框。
手動輸入 FetchXML 查詢。 此示例說明如何創建顯示員工人數為5,000或更多的所有帳戶的報表。
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false"> <entity name="account"> <attribute name="name" /> <attribute name="numberofemployees" /> <attribute name="accountnumber" /> <order attribute="name" descending="false" /> <filter type="and"> <condition attribute="numberofemployees" operator="gt" value="5000" /> </filter> </entity> </fetch>
選取 下一步。
驗證將包含在報表中的欄位,然後選擇 下一步。
- Report Authoring Extension 會根據數據類型添加額外的欄位。 數位、日期、查找和選項集具有額外的 fieldName值 欄位。 例如,如果 FetchXML 包含 createdon 屬性,則有兩個字段可用: createdon 和 createdonValue。
- fieldName (示例: createdon)
- 此欄位是根據使用者的格式設置來格式化的字串。 它僅用於顯示。 將值轉換為其原始數據類型可能會導致錯誤。 例如,像
=CDate(Fields!createdon.Value)
這樣的表達式如果日期格式與報表伺服器上的區域設置不匹配,可能會失敗或提供不正確的日期。 - 對於選項組欄位,此值是選項組值的顯示文字。
- 對於查找欄位,該值是連結記錄的主名稱欄位。
- 此欄位是根據使用者的格式設置來格式化的字串。 它僅用於顯示。 將值轉換為其原始數據類型可能會導致錯誤。 例如,像
- fieldNameValue (範例:createdonValue)
- 此欄位是欄位根據資料類型的原始未格式化值。 可以使用 隱藏的 CRM_ 格式參數調整和格式化欄位,以便進行使用者特定的顯示。
- 對於 datetime 欄位,它是 UTC 值。
- 對於數位或貨幣欄位,它是未格式化的數值。
- 對於選項集欄位,它是選項編號值。
- 如果是查詢欄位,則為查詢欄位的 GUID。
- fieldName (示例: createdon)
- Report Authoring Extension 會根據數據類型添加額外的欄位。 數位、日期、查找和選項集具有額外的 fieldName值 欄位。 例如,如果 FetchXML 包含 createdon 屬性,則有兩個字段可用: createdon 和 createdonValue。
選擇要應用於報表的樣式,然後選擇 下一步。
確認將包括在報表中的欄位,並輸入報表的名稱,例如擁有 5,000 多名員工的客戶。 選取 完成。
如果您想查看報表在運行時的顯示方式,請選擇 Preview 選項卡。
這將生成具有指定報表名稱的 .rdl 檔。 您可以使用此檔案通過報表精靈在 Dynamics 365 for Customer Engagement 應用程式中發佈自訂報表。 詳細資訊: 發佈報表