




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄一. 前言2二. Reporting Manager安裝51.存儲(chǔ)過程和函數(shù)52.安裝過程6三. Reporting Manager配置9. Historian Reports部署管理92.數(shù)據(jù)庫(kù)存儲(chǔ)過程和函數(shù)21四.報(bào)表制作與發(fā)布28.報(bào)表開發(fā)28.報(bào)表發(fā)布51CitectHistorian報(bào)表制作一. 前言CitectHistorian具有二種數(shù)據(jù)存儲(chǔ)機(jī)制1. 逢變則存:當(dāng)數(shù)據(jù)變化超過設(shè)定的死區(qū)時(shí),將數(shù)據(jù)存入到Historian的數(shù)據(jù)庫(kù)中(默認(rèn))2. 定時(shí)上傳:按照用戶設(shè)定的時(shí)間,將數(shù)據(jù)存入到用戶自定義的數(shù)據(jù)庫(kù)中二種方式都有各自的優(yōu)缺點(diǎn)逢變則存方式可以節(jié)省用戶組態(tài)時(shí)間,數(shù)據(jù)結(jié)構(gòu)高效合理
2、,缺點(diǎn)就是沒有提供豐富的數(shù)據(jù)接口,方便用戶提取數(shù)據(jù)制作報(bào)表。如用戶想獲取一組變量,無論這些數(shù)據(jù)點(diǎn)是否發(fā)生了變化,或者變化了多少次,按照用戶設(shè)定的起始終止時(shí)間,時(shí)間間隔等輸入條件,返回指定的記錄集等。需要獨(dú)立安裝citect提供的報(bào)表工具,安裝和修改一些SQL函數(shù),才能完成定時(shí)上傳需要用戶根據(jù)報(bào)表的需求先預(yù)先定義好數(shù)據(jù)表的字段,設(shè)定定時(shí)時(shí)間,查詢簡(jiǎn)單,方便報(bào)表的制作。缺點(diǎn)是報(bào)表需要的數(shù)據(jù)點(diǎn)多時(shí),數(shù)據(jù)庫(kù)創(chuàng)建和組態(tài)配置,調(diào)試運(yùn)行麻煩。數(shù)據(jù)變化緩慢時(shí)浪費(fèi)硬盤空間。所以,這篇文檔最主要是側(cè)重于citectHistorian逢變則存方式下,按照設(shè)定的時(shí)間間隔在指定的時(shí)間范圍內(nèi)搜索數(shù)據(jù)。方便用戶制作最常見的
3、日,月,年等報(bào)表。以Citect安裝程序自帶的Example為例,將5個(gè)回路的SP,PV值共10個(gè)點(diǎn)為例,存入到Hisotiran的實(shí)時(shí)數(shù)據(jù)庫(kù)中,然后制作日?qǐng)?bào)表。如圖1.1,將回路運(yùn)行在自動(dòng)模式下,手動(dòng)修改SP值,則PV的值經(jīng)過一段時(shí)間后穩(wěn)定。圖1.1將5個(gè)回路的SP,PV變量值分別存入Historian的Loop_SP,loop_PV文件夾中,如圖1.2圖1.2通過Historian的屬性,可以獲知綁定的SQL數(shù)據(jù)庫(kù),如下圖1.3定義的為ExamleHisDB,圖1.3在以后的報(bào)表示例,關(guān)聯(lián)的數(shù)據(jù)則需要通過SLQ語句直接從上圖的ExampleHisDB數(shù)據(jù)庫(kù)中查詢。在Historian數(shù)據(jù)庫(kù)
4、中,如ExampleHisDB,最重要的3張數(shù)據(jù)表,如下圖紅色框Tags:用于存儲(chǔ)用戶選擇的變量信息,并且為每一個(gè)變量分配一個(gè)ID.NumericSamples:所有模擬量變量的變量ID,實(shí)時(shí)值,時(shí)間戳,質(zhì)量戳全部存儲(chǔ)在該表中DigitalSamples: 所有開關(guān)量變量的變量ID,實(shí)時(shí)值,時(shí)間戳,質(zhì)量戳全部存儲(chǔ)在該表中所有報(bào)表數(shù)據(jù)的查詢分析最本質(zhì)還是基于這些關(guān)系表,如圖1.4&1.5圖1.4圖1.5二. Reporting Manager安裝1.存儲(chǔ)過程和函數(shù) 打開開始菜單->程序->Microsoft SQLserver2008 R2->SQLserver Man
5、agement Studio 連接后找到Historian所對(duì)應(yīng)的運(yùn)行數(shù)據(jù)庫(kù),如ExampleHisDB,Citect在創(chuàng)建該數(shù)據(jù)庫(kù)的同時(shí),也創(chuàng)建了citect為客戶提供的方便查詢和分析的存儲(chǔ)過程和函數(shù) 如上圖,最重要的函數(shù)為dbo.ToDate以及dbo.ToBigInt,由于Historian 存儲(chǔ)的時(shí)間戳是以納秒級(jí)為單位的時(shí)間值,用戶必須通過該函數(shù)的轉(zhuǎn)換才能獲取常規(guī)顯示的YYYY-MM-DD HH:SS:TT格式,但是這些函數(shù)對(duì)于報(bào)表的制作顯然還不夠簡(jiǎn)潔和友好,需要大量的代碼編程,所以需要安裝工具-Report Manager2.安裝過程打開Historian的安裝文件目錄,找到Extr
6、asReporting Manager,雙擊SetUp.exe 點(diǎn)擊Accept,選擇接受協(xié)議許可 等待安裝文件就緒,就緒后進(jìn)行下圖2.2.3安裝 點(diǎn)擊Next,默認(rèn)選擇程序安裝, 點(diǎn)擊Next,繼續(xù)安裝 點(diǎn)擊Next,繼續(xù)安裝點(diǎn)擊Close,完成了Report Manager工具的全部安裝三. Reporting Manager配置. Historian Reports部署管理打開配置工具,如下圖進(jìn)入Historian Reports 部署管理工具選擇Historian Database,,右鍵選擇功能菜單Register,如下圖彈出數(shù)據(jù)庫(kù)連接設(shè)置,手動(dòng)輸入需要部署的數(shù)據(jù)庫(kù)信息 如上圖3.1
7、.5:sqlserver:輸入ip地址實(shí)例名默認(rèn)采用集成的windows驗(yàn)證,也可以采用SQL的驗(yàn)證,那么則需要手動(dòng)輸入SQL里賬戶名和密碼Database:從下拉框中選擇需要部署的數(shù)據(jù)庫(kù),一次只能部署一個(gè),如果想要部署多個(gè)數(shù)據(jù)庫(kù),則需要重復(fù)register的步驟然后點(diǎn)擊OK按鈕,則顯示需要部署的數(shù)據(jù)庫(kù)列表清單,如下圖選擇部署的數(shù)據(jù)庫(kù),然后點(diǎn)擊右鍵,選擇功能菜單Install Pakage彈出Value pack intalllation 設(shè)置,左鍵選擇Histoiran standard Report pack 點(diǎn)擊 Install 按鈕,進(jìn)行value Pack的安裝安裝成功后,如上圖,會(huì)
8、顯示 安裝成功的提示信息。點(diǎn)擊Close,關(guān)閉當(dāng)前窗口,回到配置窗口選擇 Report Packs->Historian Standard Report Pack,右鍵選擇功能菜單 Deploy Reports,如下圖彈出報(bào)表配置畫面,如下圖Report server:SQLserver報(bào)表服務(wù)配置里的機(jī)器名或者IP地址Reporting services URL:SQLserver報(bào)表服務(wù)配置里設(shè)置的web 服務(wù)器虛擬目錄Data Source:需要部署發(fā)布的Historian數(shù)據(jù)庫(kù)Reports Folder:該數(shù)據(jù)庫(kù)部署在web服務(wù)器虛擬目錄下的子目錄名稱(沒有則自動(dòng)創(chuàng)建)填寫發(fā)布
9、部署信息,先參考SQLserver 數(shù)據(jù)庫(kù)的報(bào)表服務(wù)配置,如下圖彈出reporting service配置連接,服務(wù)器名稱默認(rèn)為本計(jì)算機(jī)名,點(diǎn)擊連接連接成功后,彈出reporting service配置管理器選擇web服務(wù)器URL,配置虛擬目錄名稱為CitHisReport,默認(rèn)虛擬目錄名稱為:reportserver_實(shí)例名如Reportserver_VijeoHistorian(名字太長(zhǎng),不利于用戶記憶)修改后,如紅色部分,URL:http:/計(jì)算機(jī)名:端口號(hào)/web服務(wù)器虛擬目錄點(diǎn)擊應(yīng)用,成功后則自動(dòng)在SQL報(bào)表服務(wù)器中生成web網(wǎng)址選擇數(shù)據(jù)庫(kù),配置SQL報(bào)表服務(wù)器存儲(chǔ)的數(shù)據(jù)庫(kù)點(diǎn)擊更改數(shù)
10、據(jù),彈出報(bào)表服務(wù)器數(shù)據(jù)庫(kù)配置向?qū)нx擇創(chuàng)建新的報(bào)表服務(wù)器數(shù)據(jù)庫(kù),點(diǎn)擊下一步點(diǎn)擊下一步點(diǎn)擊下一步點(diǎn)擊”下一步”點(diǎn)擊”下一步”點(diǎn)擊”完成”,然后退出SQLserver報(bào)表服務(wù)配置,回到Historian reports 部署工具Data Source 下拉框中選擇New,彈出的對(duì)話框在Database Connection 下拉框中選擇需要部署的Historian數(shù)據(jù)庫(kù)ExampleHisDB然后點(diǎn)擊Create,創(chuàng)建數(shù)據(jù)庫(kù)部署的名稱,回到Depoly report,點(diǎn)擊按鈕”Deploy”如上圖3.1.36,信息提示部署成功,點(diǎn)擊Close按鈕,關(guān)閉部署工具然后關(guān)閉Reporting Manage
11、r,至此則完成了Reporting Manager的部署配置2.數(shù)據(jù)庫(kù)存儲(chǔ)過程和函數(shù)打開SQLserver 管理器,進(jìn)入數(shù)據(jù)庫(kù)配置 進(jìn)入數(shù)據(jù)庫(kù)后,打開Historian的數(shù)據(jù)庫(kù),如例:ExampleHisDB依次查看數(shù)據(jù)庫(kù)->可編程性->存儲(chǔ)過程 或者 函數(shù),可以發(fā)現(xiàn)相對(duì)于圖1.4&1.5安裝reporting manager工具之前,數(shù)據(jù)庫(kù)增加了很多存儲(chǔ)過程以及函數(shù),而這些都是通過reporting manager的安裝,在該數(shù)據(jù)中增加了易于用戶數(shù)據(jù)分析和查詢的函數(shù)和存儲(chǔ)過程,其中4個(gè)函數(shù)尤為重要。N1:函數(shù)->標(biāo)量函數(shù)->ToDate將類型為bigint的時(shí)
12、間戳值轉(zhuǎn)換為對(duì)應(yīng)的可讀時(shí)間Historian的NumericSamples圖3.2.1則執(zhí)行以下SQL語句,則可以獲得采樣值的采用時(shí)間SELECT TagID,dbo.ToDate(SampleDateTime)as SampleTime,SampleValue ,QualityID FROM NumericSamplesN2:函數(shù)->標(biāo)量函數(shù)-> ToBigInt將用戶指定的時(shí)間轉(zhuǎn)換為bigint類型的時(shí)間戳,如用于查詢某一段時(shí)間的值,需要將數(shù)據(jù)庫(kù)的數(shù)據(jù)與指定的時(shí)間區(qū)域值進(jìn)行比較,由于用戶輸入的時(shí)間一般都是字符串值,如果將數(shù)據(jù)庫(kù)的時(shí)間戳轉(zhuǎn)換為時(shí)間的字符串比較,則效率非常低下。而應(yīng)
13、該是將用戶輸入的時(shí)間字符串轉(zhuǎn)換為bigint類型后與數(shù)據(jù)庫(kù)的時(shí)間戳字段比較,則提升效率。例如用戶查詢2013月2月24日這天的所有變量的值,則執(zhí)行如下腳本declare StartTime bigintdeclare EndTime bigintset StartTime=dbo.ToBigInt('2013-02-24 00:00:00')set EndTime=dbo.ToBigInt('2013-02-24 23:59:59')SELECT TagID,dbo.ToDate(SampleDateTime)as SampleTime,SampleValue
14、,QualityIDFROM NumericSampleswhere SampleDateTime>StartTime and StartTime<EndTimeN3:函數(shù)->標(biāo)量函數(shù)-> ConvertTagnamesToTagIDs將指定的一組變量標(biāo)簽名轉(zhuǎn)換為變量ID選擇該函數(shù),右鍵,選擇功能菜單”修改”打開后,將里面的逗號(hào) , 全部轉(zhuǎn)換為分號(hào) ;,然后執(zhí)行SQL修改語句,點(diǎn)擊菜單上!執(zhí)行,如圖3.2.6紅色框部分執(zhí)行成功后,關(guān)閉SQL編輯窗口,彈出的對(duì)話框中選擇不保存如圖3.2.6,函數(shù)包含了2個(gè)參數(shù):TagNames: 為用戶導(dǎo)入的變量標(biāo)簽名稱,包含集群名,如圖
15、1.2中的變量名,Cluster1.LOOP_1_SPDataSourceName:變量對(duì)應(yīng)的數(shù)據(jù)源名稱,如圖1.2中的datasource名稱為L(zhǎng)ocalExample則如果一次性查詢多個(gè)變量的ID,如LOOP_1_SP;LOOP_1_PV(分號(hào)分隔)則需要執(zhí)行以下SQL語句declare Tagids varchar(MAX )set Tagids= dbo.ConvertTagnamesToTagIDs('Cluster1.LOOP_1_SP;Cluster1.LOOP_1_PV','LocalExample')print Tagids,返回了2個(gè)變量的I
16、D值,以分號(hào) ; 分隔N4:函數(shù)-表值函數(shù)-> ConvertTagnamesToTagIDs其包含5個(gè)參數(shù):Tagids:要查詢的一組變量ID(與ConvertTagnamesToTagIDs函數(shù)組合實(shí)現(xiàn)變量名稱查詢)Period_Start,查詢的起始時(shí)間(bigint類型的時(shí)間,組合ToBigint函數(shù)使用,實(shí)現(xiàn)用戶時(shí)間輸入)Period_End,查詢的結(jié)束時(shí)間(bigint類型的時(shí)間,組合ToBigint函數(shù)使用,實(shí)現(xiàn)用戶時(shí)間輸入)add_lagging_samples,標(biāo)志位0或1(0:在每一個(gè)時(shí)間間隔中返回1條記錄 1:每個(gè)時(shí)間間隔返回2條記錄)interval,bigint
17、,時(shí)間間隔(組合標(biāo)量函數(shù)IntervalToBigInt使用)其參數(shù)intervalASString允許以下格式:'s' seconds /'m' minutes /'h' hours /'d' - days如2小時(shí),則為2h,7天為7d如用戶想查詢LOOP_1_SP;LOOP_1_PV在2013-02-22這天的日?qǐng)?bào)表,查詢時(shí)間間隔為1小時(shí)則執(zhí)行一下SQL腳本use ExampleHisDBdeclare Tagids varchar(MAX )declare StartTime bigintDeclare EndTime bi
18、gintDeclare TimeInterval bigintset Tagids= dbo.ConvertTagnamesToTagIDs('Cluster1.LOOP_1_SP;Cluster1.LOOP_1_PV','LocalExample')Set StartTime=dbo.ToBigInt('2013-02-22 00:00:00')Set EndTime=dbo.ToBigInt('2013-02-22 23:00:00')set TimeInterval=dbo.IntervalToBigInt('1h&
19、#39;)select TagID,dbo.ToDate(SampleDateTime)as SampleTime, SampleValue from dbo.fn_get_samples_matrix_byinterval(Tagids,StartTime,EndTime,0,TimeInterval)四.報(bào)表制作與發(fā)布前面的步驟是說明怎樣在Hisotiran數(shù)據(jù)庫(kù)中增加函數(shù)和存儲(chǔ)過程后面的步驟是說明怎樣在SQL提供的報(bào)表服務(wù)中利用這些函數(shù)和存儲(chǔ)過程.報(bào)表開發(fā)SQLsever2008提供了商業(yè)智能項(xiàng)目開發(fā)平臺(tái),可以借助該平臺(tái)開發(fā)用戶自己的報(bào)表, 如圖4.1.1,打開SQL Serve Bus
20、iness Intelligence Development Studio圖4.1.1 圖4.1.2點(diǎn)擊紅色框中的創(chuàng)建項(xiàng)目,或者通過菜單“文件-新建->項(xiàng)目”選擇已安裝的模版->報(bào)表服務(wù)器項(xiàng)目,如上圖,命名項(xiàng)目為citDemoReport,并選擇項(xiàng)目文件夾創(chuàng)建位置,然后點(diǎn)擊確定,進(jìn)入項(xiàng)目開發(fā)平臺(tái),如下圖4.1.4所示.如上圖紅色框,選擇”共享數(shù)據(jù)源”->右鍵菜單,選擇”添加新數(shù)據(jù)源”圖4.1.5如上圖紅色框,為共享數(shù)據(jù)源命名,如ExampleHisDB(可以為制作報(bào)表的數(shù)據(jù)庫(kù)名稱)然后點(diǎn)擊”編輯“,進(jìn)入SQL數(shù)據(jù)庫(kù)連接設(shè)置如上圖紅色部分,服務(wù)器名輸入SQL服務(wù)器IP實(shí)例名選擇
21、需要報(bào)表發(fā)布的數(shù)據(jù)庫(kù),如ExampleHisDB,然后點(diǎn)擊“確定”如上圖,點(diǎn)擊”確定”按鈕,完成了共享數(shù)據(jù)庫(kù)的設(shè)置。 圖4.1.8則可以看到共享數(shù)據(jù)源中增加了一個(gè)對(duì)象ExampeHisDB.rds訪問該對(duì)象即本質(zhì)就是訪問了其關(guān)聯(lián)的真實(shí)數(shù)據(jù)庫(kù)ExampleHisDB從數(shù)據(jù)庫(kù)中查詢的返回結(jié)果為數(shù)據(jù)集,每個(gè)報(bào)表的數(shù)據(jù)必須要關(guān)聯(lián)數(shù)據(jù)集所以,每個(gè)報(bào)表可以擁有各自定義的數(shù)據(jù)集,該數(shù)據(jù)集是私有的,只能在該報(bào)表中使用,不能被其它報(bào)表引用。如果該數(shù)據(jù)集需要能其它報(bào)表共有,必須將其定義為共享數(shù)據(jù)集如我們多個(gè)報(bào)表中需要列出所有變量供用戶選擇查詢,那么就可以新建一個(gè)共享數(shù)據(jù)集右鍵點(diǎn)擊“共享數(shù)據(jù)集”,選擇菜單->
22、“添加新數(shù)據(jù)集”,彈出如圖4.1.9對(duì)話框如上圖紫色框,輸入共享數(shù)據(jù)集的名稱,如TagsName_ID,選擇查詢的數(shù)據(jù)源,在紅色框中輸入SQL查詢腳本,點(diǎn)擊藍(lán)色框按鈕”查詢?cè)O(shè)計(jì)器”點(diǎn)擊紅色框的”!”,可以在查詢?cè)O(shè)計(jì)器下端看到數(shù)據(jù)集返回的結(jié)果,點(diǎn)擊“確定”關(guān)閉查詢?cè)O(shè)計(jì)界,再點(diǎn)擊圖4.1.9的確定按鈕,關(guān)閉共享數(shù)據(jù)集,可以看到共享數(shù)據(jù)集中添加了一個(gè)對(duì)象接下來,就是需要定義用戶報(bào)表,設(shè)計(jì)報(bào)表的查詢界面如圖4.1.12,設(shè)置如下生成LOOP_PV的日?qǐng)?bào)表,則最基本的必須提供用戶時(shí)間選擇或者能夠手動(dòng)輸入日期,然后自動(dòng)計(jì)算查詢起始時(shí)間為該日期的零點(diǎn),結(jié)束時(shí)間為開始時(shí)間加24小時(shí),時(shí)間間隔可以設(shè)定為1小時(shí),
23、靈活的話也可以讓用戶選擇(10分鐘,30分鐘,60分鐘,120分鐘等等諸多選項(xiàng)或者用戶手動(dòng)輸入),另查詢的LOOP_PV的變量可以是全部的,也可以讓用戶選擇其中一些Loop_PV變量,以日?qǐng)?bào)表為例,年月報(bào)表可以類似選擇報(bào)表,點(diǎn)擊右鍵,選擇功能菜單->”添加新報(bào)表”,彈出”歡迎使用報(bào)表向?qū)А?,點(diǎn)擊”下一步”默認(rèn)選擇共享數(shù)據(jù)源,點(diǎn)擊下一步,進(jìn)入報(bào)表查詢?cè)O(shè)計(jì)器(進(jìn)入SQL查詢語句編輯器,將查詢的結(jié)果返回的數(shù)據(jù)集做成報(bào)表),如圖所示,我們?cè)趫?bào)表查詢時(shí),需要用戶輸入3個(gè)條件:查詢?nèi)掌?查詢?nèi)掌?,選擇查詢的PV變量(PVNames)以及查詢的時(shí)間間隔(時(shí)間間隔),故我們需要在SQL查詢代碼中無需聲
24、明(Declare)變量,直接引用,則在報(bào)表查詢時(shí)會(huì)自動(dòng)生產(chǎn)這些變量讓用戶輸入或選擇。declare TagNames varchar(Max)declare TagIDs varchar(500)declare StartTime datetimedeclare EndTime datetimedeclare TimeStart bigintDeclare TimeEnd bigintdeclare TimeInterval bigintset TagNames=PVNames -等待可以選擇PV變量set TagIDs=dbo.ConvertTagnamesToTagIDs(TagName
25、s,'LocalExample') -將變量名轉(zhuǎn)換為IDset StartTime=查詢?nèi)掌?-等待用戶選擇查詢?nèi)掌趕et EndTime =DATEADD(HOUR,23,StartTime) -查詢的結(jié)束時(shí)間為查詢?nèi)掌?23小時(shí)set TimeStart=dbo.ToBigInt(StartTime) -將查詢起始時(shí)間轉(zhuǎn)換為bigintset TimeEnd=dbo.ToBigInt(EndTime) -將查詢結(jié)束時(shí)間轉(zhuǎn)換為bigintset TimeInterval=dbo.IntervalToBigInt(時(shí)間間隔) -等待用戶輸入查詢時(shí)間間隔并轉(zhuǎn)換為bigintSEL
26、ECT Tags.TagName ,dbo.ToDate(SampleDateTime) as SampleTime,SampleValue FROM dbo.fn_get_samples_matrix_byinterval(TagIDs,TimeStart,TimeEnd,0,TimeInterval) tinner join Tags on t.TagID=Tags.ID-將用戶輸入的條件從數(shù)據(jù)庫(kù)中查詢結(jié)果返回,并將相應(yīng)的字段轉(zhuǎn)換,如將TagID轉(zhuǎn)換為用戶能夠識(shí)別的TagName, bigint的時(shí)間轉(zhuǎn)換為能識(shí)別的日期時(shí)間然后點(diǎn)擊下一步,彈出定義查詢參數(shù)對(duì)話框,等待用戶輸入變量的值,由于制
27、作的是日?qǐng)?bào)表,不是直接按照字段將數(shù)據(jù)集的數(shù)據(jù)顯示出來,而是需要我們按照同時(shí)間排序和歸納,將同一時(shí)間的不同變量值為一行顯示,即縱向顯示時(shí)間日期,橫向選擇的變量,以時(shí)間*變量的矩陣。故如上圖選擇矩陣表,點(diǎn)擊”下一步”可用字段中顯示了查詢結(jié)果數(shù)據(jù)集中所有的字段,然后我們需要將字段進(jìn)行分配SampleTime:時(shí)間字段,為報(bào)表的行字段TagName:變量標(biāo)簽名,用于標(biāo)識(shí)報(bào)表列圖4.1.17點(diǎn)擊下一步,選擇報(bào)表樣式,可以選擇不同的樣式,如圖4.1.18選擇默認(rèn)的石板樣式點(diǎn)擊紅色框部分”預(yù)覽”手動(dòng)輸入?yún)?shù)PVNames,查詢?nèi)掌冢瑫r(shí)間間隔,然后點(diǎn)擊”查看報(bào)表”按鈕,得到如上圖的結(jié)果則在該界面中,需要進(jìn)行一
28、些微調(diào),如可以讓用戶彈出日歷控件,進(jìn)行日期選擇而無需手動(dòng)輸入,同理,PV變量的能夠選擇,選擇項(xiàng)中只有PV值有關(guān)的變量,并且能夠多項(xiàng)選擇查詢的時(shí)間間隔可以讓用戶選擇5分鐘,10分鐘,30分鐘等等多樣選擇項(xiàng)但是只能單選所以需要對(duì)這些參數(shù)的屬性進(jìn)行修改和定義,點(diǎn)擊”在報(bào)表左側(cè)參數(shù)中,可以看到數(shù)據(jù)集中定義的參數(shù),依次進(jìn)行修改。名稱為用戶定義的參數(shù)名稱,提示即在畫面上讓用戶輸入?yún)?shù)時(shí),在文本框前面顯示的信息提示用戶輸入和選擇數(shù)據(jù)類型:日期/時(shí)間(該類型的變量預(yù)覽界面會(huì)自動(dòng)彈出日期時(shí)間控件)設(shè)置該參數(shù)為文本值,但是允許多個(gè)值,點(diǎn)擊”可用值”標(biāo)簽為用戶在下拉選擇框中看到的選擇項(xiàng),值為用戶選擇該選擇項(xiàng)是自動(dòng)將
29、該參數(shù)賦值為選擇項(xiàng)對(duì)應(yīng)的值,如用戶選擇1小時(shí),則時(shí)間間隔=1h點(diǎn)擊”默認(rèn)值”在上圖中,時(shí)間間隔的默認(rèn)為1小時(shí),點(diǎn)擊確定,設(shè)定參數(shù)時(shí)間間隔的屬性。最后,對(duì)PV變量標(biāo)簽進(jìn)行設(shè)定,由于變量標(biāo)簽需要從數(shù)據(jù)庫(kù)中搜索,并且過濾含PV關(guān)鍵字的變量,并且能夠讓用戶進(jìn)行多項(xiàng)選擇,更重要的事,需要將用戶選擇的多個(gè)變量要合并為以分號(hào)(;)為分隔符的一個(gè)字符串,而多值變量返回的是數(shù)組,但是SQLserver查詢中不支持?jǐn)?shù)組。彈出如圖4.1.29對(duì)話框中,設(shè)置數(shù)據(jù)寄名稱為TagNameID,選擇”使用共享數(shù)據(jù)集”,然后選擇預(yù)先定義的共享數(shù)據(jù)集”TagsNameID”(由于該數(shù)據(jù)集返回了所有定義的變量名稱和ID,還需要對(duì)
30、其進(jìn)行過濾),故需要設(shè)置”篩選器”,即過濾變量名稱中包含LOOP和PV,則在篩選器中添加如下條件 :“TagName”點(diǎn)擊確定,增加新的數(shù)據(jù)集TagNameID第二:需要手動(dòng)添加一個(gè)參數(shù),如PV變量,用于提供用戶選擇變量并存儲(chǔ)用戶選擇的多個(gè)PV變量點(diǎn)擊參數(shù),右鍵->“添加參數(shù)”,如圖4.1.30,彈出圖4.1.31對(duì)話框圖4.1.30圖4.1.31設(shè)置變量名稱為PV變量,類型為文本,允許選擇多值。點(diǎn)擊”可用值”如上圖,設(shè)定PV變量多項(xiàng)選擇值為TagNameID數(shù)據(jù)集中的TagName字段的所有值第三:雙擊參數(shù)PVNames,該參數(shù)將用戶從PV變量多選擇的多項(xiàng)值合并為一個(gè)字符串,如用戶選擇了”Cluster.LOOP_1_PV“,”Cluster.LOOP_3_V“,”Cluster.LOOP_4_PV“則需合并為”Cluster.LOOP_1_PV;Cluster.LOOP_3_V;Cluster.LOOP_4_PV;“傳遞給SQL函數(shù)ConvertTagnamesToTagIDs(),如圖,由于該參數(shù)的值PV變量多選項(xiàng)中返回,無需再報(bào)表頁(yè)面上讓用戶再次輸入,故設(shè)定其可見性為隱藏,其值也應(yīng)該為指定值,點(diǎn)擊“點(diǎn)擊添加,然后點(diǎn)擊”fx“輸入表達(dá)式為:=Join(Parameters!PV變量.Value,&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 監(jiān)控全包合同范本
- 中班五大領(lǐng)域活動(dòng)課件
- 二零二五年度個(gè)人影視作品投資合同
- 二零二五年度夫妻婚內(nèi)行為規(guī)范與家庭和諧協(xié)議
- 二零二五年度公司籌備期股東投資風(fēng)險(xiǎn)評(píng)估協(xié)議
- 二零二五年度交通事故人傷私了協(xié)議(訴訟時(shí)效終止)
- 2025年中國(guó)硅膠助劑市場(chǎng)調(diào)查研究報(bào)告
- 2025年浙江體育職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案
- 小學(xué)生課程課件
- 二零二五年度研學(xué)旅行基地運(yùn)營(yíng)管理合同協(xié)議
- 《三角形》單元作業(yè)設(shè)計(jì)
- 高級(jí)英語I(下)-華東理工大學(xué)智慧樹知到答案章節(jié)測(cè)試2023年
- 會(huì)計(jì)科目分類明細(xì)表及借貸方法科目使用說明
- 透明度的測(cè)定SL87
- 論十大關(guān)系全文
- 涂裝工技能鑒定考試題庫(kù)匯總-下(多選、判斷題部分)
- 2021年山東能源集團(tuán)西北礦業(yè)有限公司招聘筆試試題及答案解析
- 印象主義、后印象主義課件
- 日常監(jiān)督檢查表
- 隊(duì)列訓(xùn)練教程ppt課件(PPT 86頁(yè))
- 第三章-農(nóng)村公共管理組織課件
評(píng)論
0/150
提交評(píng)論