Embodiment
Disclosed herein is the various examples that the virtual data for realizing in business intelligence (BI) report writes back.In various example, it is editable that the data field during BI Reporting Tools can make BI report becomes user, and can store user's Update Table and rerun BI report based on the input of user's Update Table, and do not change the raw data in lower data source.Generally speaking, BI Reporting Tools of the present disclosure can be modified to increase the querying attributes of the enhancing that virtual data can be kept to write back.The querying attributes strengthened can accept and keep user to the increase of the arbitrary data input comprised in BI report or correction.Then BI Reporting Tools of the present disclosure can make BI report from the querying attributes strengthened, the data that comprise are subject to these increases or revises, just as increase or the data revised be comprised in lower data source.
BI Reporting Tools of the present disclosure can provide such phenomenon: upgrade the data source in BI report, and do not need to bear location and the data changed in lower data source and the complicacy of data of then retrieving novel change from these data sources practically.BI Reporting Tools of the present disclosure can also realize the renewal of data in BI report, and do not need can extraction-conversion-loadings (ETL) of separation of application data source to process or the data of application user interface input via independent.BI Reporting Tools of the present disclosure can also realize the BI report of preserving and sharing renewal, keep the data upgraded enduringly, as having made the change of data to lower data source in the querying attributes layer that wherein said BI is reported in BI Reporting Tools.
Fig. 1 describes the example context that can use system of the present disclosure.Fig. 1 illustrates the block diagram with the exemplary enterprise 4 of computing environment 10, and in computing environment 10, multiple user 12A-12N (being collectively referred to as " user 12 ") can be mutual with enterprise B I system 14.In the system shown in Figure 1, business event intelligent system 14 is couple to multiple client computing devices 16A-16N (being collectively referred to as " client computing devices 16 " or " calculation element 16 ") communicatedly by enterprise network 18.User 12 visits business event intelligent system 14 alternately with their respective calculation element.In different examples, user 12, calculation element 16A-16N, enterprise network 18 and business event intelligent system 14 can all in individual facilities or be dispersed in two or more arbitrarily local in the world separation point positions widely.
In order to exemplary object, the various examples of technology of the present disclosure can be easily applied to various software systems, and described various software systems comprise business event intelligent system or other large-scale enterprise software systems.The example of enterprise software system comprises business finance or budget planning system, order management system, inventory management system, sales capacity management system, business intelligence instrument, enterprise reporting tools, project and resource management system and other enterprise software system.
In this example, enterprise B I system 14 comprises the server running BI instrument panel web application and can provide business diagnosis software.User 12 can use the BI door in client computing devices 16 to watch and operation information via their calculation element 16 separately, such as business intelligence report (" BI report ") and data other gather and visual.This can comprise the data from any one in extensively various source, comprise from the relational database in enterprise 4 and multidimensional data structure data and carry out the data of addressable various external source in comfortable common network 15.
User 12 can use various dissimilar calculation element 16 via enterprise network 18 and business event intelligent system 14 mutual and visit data visualization tool and other resource.Such as, enterprise customer 12 can use the laptop computer, desk-top computer etc. that can run web browser come mutual with business event intelligent system 14 and run business intelligence (BI) door (such as business intelligence instrument panel).Alternatively, enterprise customer can use smart phone, flat computer or similar device, is applying for the web browser mutual with business event intelligent system 14, special mobile or is running business intelligence instrument panel in other device.
Enterprise network 18 and common network 15 can represent random communication network, and can comprise packet-based digital network, such as private enterprise Intranet or the common network as internet.In this way, computing environment 10 can easily adjust with applicable large enterprises.Enterprise customer 12 can directly access business event intelligent system 14 via LAN (Local Area Network), or can carry out remote access business event intelligent system 14 via Virtual Private Network, remote dial or similar remote access communication mechanism.
Fig. 2 is the block diagram of each several part of the embodiment illustrating in greater detail business event intelligence (BI) system 14.In this exemplary realization, show single client computing devices 16A to illustrate, described single client computing devices 16A comprises BI door 24 and can use and handle one or more client-side enterprise software application 26 of multidimensional data (comprise and watch data visualization and analysis tool with BI door 24).Or BI door 24 can be provided in the application of general web browser, in the application or Mobile solution of this locality accommodation in other user interface.Can use the combination in any of application software and data to produce or provide BI door 24, described application software and data are in this locality of the calculation element producing BI door and/or are contained in one or more application server or other remote resource by long-range.
According to the various technology be described in greater detail below, BI door 24 can export data visualization for user's viewing and manipulation.Such as, the form of the chart that can be able to handle with user of BI door 24 or curve map presents data.BI door 24 can present the visual of data based on the data of the data in the source from such as (such as, with business event intelligent system 14 or other BI instrument panel produce) BI report and other type being derived from external resource by common network 15.BI door 24 can present the visual of data based on the data that can be derived from enterprise or outside enterprise.
Fig. 2 depicts the other details of business event intelligent system 14, and how by with for describe and the visual BI door 24 of business datum is provided visit it alternately.BI door 24 can provide the visual of data, the visual representative of described data, provide from or be linked to any one data in various types of resource, described various types of resource is such as file or the resource of BI report, software application, database, electrical form (spread sheet), data structure, flat file, extend markup language (" XML ") data, comma separated value (CSV) file, data stream, unstructured text or data or other type.Such as, BI door 24 can also be provided in having of achieving that the virtual data that operated by BI Reporting Tools 22 writes back can data in the BI report of editing data field visual.
As in the example described at Fig. 2, BI Reporting Tools 22 can be accommodated among enterprise's application 25, or it is local to be accommodated in other, in some instances, other place described is included on client computing devices 16A, or is distributed among the various computational resources in business event intelligent system 14.BI Reporting Tools 22 may be implemented as or take the form of stand-alone application, the part of larger application or the form of adapter (add-on), the form in the storehouse of application code, the form of set of multiple parts of multiple application and/or application or other form, and can be performed by the calculation element of any one or more server, client computing devices, processor or processing unit or other type.
As Fig. 2 describes, realize business event intelligent system 14:(1 according to three-tier architecture) provide the web with user interface function to apply one or more web server 14A of 23, described web application 23 comprises server side BI portal application 21; (2) one or more application server 14B of the operating environment of enterprise software application 25 and data access service 20 are provided for; And (3) provide one or more data source 38A, 38B ..., 38N (" data source 38 ") database server 14C.Enterprise software application 25 can comprise BI Reporting Tools 22 as in enterprise software application 25 or as the one or more part in enterprise software application 25 or many parts.Data source 38 can comprise 2-D data storehouse and/or multi-dimensional database or data cube.Various vendor platforms can be used to realize data source, and described data source can throughout distributing industrially.As an example, data source 38 can be the multi-dimensional database for on-line analytical processing (OLAP) configures.As another example, data source 38 can be the multi-dimensional database that the Multidimensional Expressions (MDX) being configured to receive and perform certain other complexity of arbitrary number of level is inquired about.As another example, data source 38 can be configured to receive and perform the two-dimentional relation database also with the SQL query of other complexity of arbitrary number of level.Data source 38 can also comprise one or more groups service data 36 (such as business datum or proprietary data) and one or more groups geodata 37 (such as, public geodata, custom service geodata).
Multidimensional data structure is " multidimensional ", because each multidimensional data element is by multiple different object type definitions, wherein each object associates with a different dimensions.Enterprise's application 26 on client computing devices 16A can send service inquiry to set up report to business event intelligent system 14.Business event intelligent system 14 comprises the data access service 20 of the logic interfacing being provided to data source 38.Client computing devices 16A can send inquiry request by enterprise network 18 to data access service 20.Data access service 20 can perform between the lower data source such as in enterprise software application 25 and database server 14C on the application server.Data access service 20 according to query specification from lower data source retrieval and inquisition results set.Data access service 20 can such as be tackled by the API being supplied to enterprise's application 26 or be received inquiry.Then this results set can be returned to enterprise's application 26 as BI report, other BI object and/or other source to the addressable data of BI door 24 on client computing devices 16A by data access service 20.These can comprise the BI comprised from the data in one or more lower data source produced by BI Reporting Tools 22 and report.It is editable that one or more fields that BI Reporting Tools 22 can make BI report become user, thus make BI Reporting Tools 22 write back at virtual data the Data Entry that user's amendment is preserved in position, and the raw data do not affected in lower data source, as described further below.
The virtual data that the exemplary embodiment of the present disclosure of the BI Reporting Tools 22 described in such as Fig. 2 can realize in BI report writes back.Described above and as described further below, BI Reporting Tools 22 can be implemented in one or more calculation element, and can comprise one or more application or other software module that can perform on the one or more processors.According to the example of the BI Reporting Tools 22 in various example described below, exemplary embodiment of the present disclosure can be described illustratively.It is editable that one or more fields that BI Reporting Tools 22 can make BI report become user, writes back at virtual data the data that layer preserves user's amendment, and in BI report, regenerate data visualization according to the data of user's amendment.
The various realizations of BI Reporting Tools 22 of the present disclosure can have exemplary advantage below.BI Reporting Tools 22 can be completely dynamic, thus unit in making the user of the BI Reporting Tools 22 in Design Mode can easily specify BI to report is as can data write back.The onboard data that BI Reporting Tools 22 can comprise robust writes back logic.Such as, these data write back logic and application developer can be made to avoid obtaining the knowledge in other field, such as data procedures programming, SDK (Software Development Kit) (SDK) exploitation or data-entry form exploitation.BI Reporting Tools 22 can make client avoid being necessary for the system of data input or change foundation separation.Write back amendment for the data in an example of BI report, BI Reporting Tools 22 can also realize the real-time update among other example of the identical BI report shared among other users.
Such as, BI Reporting Tools 22 as one man can also realize virtual data and write back in the context of other platform features and character, and other platform features described and character comprise security context, built-in scalability feature and the support to extensively various BI reporting format.Such as, the security context for BI Reporting Tools 22 can comprise user authentication and access control.Such as, the built-in scalability feature for BI Reporting Tools 22 can comprise the failover and load balance with Distributed Services.Such as, the BI reporting format that BI Reporting Tools 22 are supported can comprise Portable Document format (PDF), HTML (Hypertext Markup Language) (HTML), comma separated value (CSV) and spreadsheet file format.For the purpose of this disclosure, the unit of BI report can be known as " data can be write ", because the virtual data that BI Reporting Tools 22 achieve in this element writes back function.Such unit also can be described as " data are renewable ", " data are editable " and " can data write back " similarly.
BI Reporting Tools 22 can for design BI report Design Mode and for consume BI report operation time pattern in work.The example of the BI Reporting Tools 22 worked in pattern when respectively depict at Design Mode in Fig. 3 and Fig. 4 and run.
Fig. 3 is the screenshot capture of the BI reporting user interface (UI) 44 of BI Reporting Tools 22 worked in Design Mode according to an example.As shown in Figure 3, the Design Mode UI of BI Reporting Tools 22 can comprise the layout of BI reporting obligations.In various example, BI Reporting Tools 22 can provide Design Mode UI in browser application or in special report tool application.The UI 44 of BI Reporting Tools 22 can comprise data and write back table 46,48 editable to specify particular data field to become user with regulation unique key, and the input receiving user's amendment writes back position to be stored in virtual data.In Design Mode, report that the user of author can specify in reporting obligations that realizing data to specific data item writes back required context as BI.According to an example, report provide serviced component can read described specification and in report output generation event (such as by use JavaScript).Further exemplary realization can be described according to using the BI Reporting Tools 22 of JavaScript event, but be appreciated that and can in other example, use other technology to realize similar functions.
When user makes amendment in BI reporting design pattern UI, BI Reporting Tools 22 can use JavaScript event to follow the tracks of user's amendment of client-side, and store described amendment in local storage block.In some instances, when user inputs hold-over command (such as, clicking save button), user's amendment can send to and be responsible for user to revise the Data Update service be submitted in database or other data source by BI Reporting Tools 22.As shown in Figure 3, BI Reporting Tools 22 can the layout of reporting obligations in Design Mode UI comprise for one or more can the character of compose data items.In this instance, BI Reporting Tools 22 comprise character " unique key " and " writing back query term ".The editable data of unique key identification, therefore define data uniquely and how should be write back database.Write back query term identification which writes back to call destination.Fig. 3 also show other and helps character, such as transaction types, input type and background color.If it is drop-down list, the inquiry of separation will be provided with " displayed value " and " use value ".
Fig. 4 is the screenshot capture of the BI reporting user interface (UI) of the BI Reporting Tools 22 worked in the operationally pattern according to an example.When data item be defined as can data write back time, in HTML, mark it with " can edit ".As shown in Figure 4, user can select data or change data from the data field 52 of the form of drop-down list.Drop-down list 52 is that user can an example of editing data field.In other example, the data field of any type in BI report can also be that the editable data field of user realized by BI Reporting Tools 22 is revised with the user receiving data.BI Reporting Tools 22 can use be attached to these can the change made to follow the tracks of user of the JavaScript event of edit field.When user inputs hold-over command (such as, clicking save button 54), the change of collection can send to Data Update service to carry out database submission by BI Reporting Tools 22.
Fig. 5 depicts the concept map of the contextual BI metadata schema 60 that can work as BI Reporting Tools 22 according to an example.BI metadata schema has three layers of level of abstraction, and operation layer 62 is served by lower floor's conversion layer 64, and conversion layer 64 is served by lower floor's Physical layer 66.BI metadata schema also has the reporting obligations 68 of reference service layer 62.
Physical layer 66 can representation database physical layout, such as database table name and row name.Conversion layer 64 can convert physics table and row to data warehouse form, such as tolerance and dimension.Operation layer 62 can be hidden physics table and row name and present more human-readable name to report author.Reporting obligations 68 can have the information of such as layout, prompting and inquiry etc.Each in these assemblies of reporting obligations 68 can have quoting the object in operation layer 62, and does not have directly quoting Physical layer.
Fig. 6 depicts the concept map of the operating environment 70 performing BI report according to the BI Reporting Tools 22 of an example.When user is from browser 72 operational report, BI Reporting Tools client-side interface 74 can send request to load balance divider 76, and the report that described request is routed to BI Reporting Tools 22 by described load balance divider 76 provides service 78.The report of BI Reporting Tools 22 provides service 78 that relevant Metadata Service 80 and report data source 38 (as shown in Figure 2) can be used to produce report output and report output is sent it back browser 72.
As in example below, BI Reporting Tools 22 can write back treatment scheme by usage data.Operation can the BI report that writes back of data with run traditional read-only BI and report can have similar process in some mode, but report and provide service can also write back feature to strengthen by data.As shown in Figure 7, based on reporting obligations, the change to data field that the report output that data write back report to be provided service to produce to have JavaScript and built-in event inputs to follow the tracks of user.
Fig. 7 depicts the concept map of the operating environment 120 performing BI report according to the BI Reporting Tools 22 of an example.When BI Reporting Tools 22 receive " preservation " instruction 122 from browser 72, request can be redirected to data and write back service 126 by load balancer 76.Data write back service 126 can utilize Metadata Service 128 analyze based on operation layer inquiry change context produce SQL query.Data write back service 126 and can then send to MDAC 124 (such as, data access application programming interface (API)) to submit change to SQL renewal.Once data are write back, data write back service 126 can report BI that operation request 74 sends to report to provide service 78.Report provides service 78 according to the new data in report queries item expression formula data source 38 or can produce output from the new data in alternate data source, and output is sent it back browser 72.BI Reporting Tools 22 of the present disclosure thus data can be comprised write back reporting obligations, the report output that writes back of data and data can write back service.
Further describe the example that data of the present disclosure write back reporting obligations as follows.As mentioned above, BI Reporting Tools 22 of the present disclosure can comprise unique key and target data row at reporting obligations.These two character in data item can help identification data to change, and are write back in data source by data change wherein.Unique key can be used as can the instruction of report that writes back of data.There is provided service reception to when having the operational report request of unique key when reporting, report provides service to produce can the report output that writes back of data.Further describe the content of report output below.Unique key has the attribute comprising source major key and target major key.Described key is used for the row uniquely in identification database.Source key text obtains key assignments wherein.Because target major key associates with arranging with database table, so target major key hint stores data wherein.Target data row define the data rows that will write back.
When source and target key is identical, hint data will be written back to by the identical table of source key definition.When source and target key is different, may be used for upgrading the row in the table associated with target major key from the key assignments of source row.Target data item can be identical with current data item, or can be undefined.Then data can be written back to the tabular associated with current data item.When target data item is different from current data item, data can be written back to diverse location, and target data item can associate with this diverse location, keeps virtual and writes back.Data modeling device can be selected for the virtual position write back, but different virtual write back position can to report author apparent.
In example below, Major key from source major key, such as [Query1]. [Order (order) ID] and [Query1]. [Order Item (order items) ID].These values are used as the major key that data write back.For these key assignments, BI Reporting Tools 22 can use unique expression come resolution data data source (such as database column, data cube, as service reservoir etc.) in position.In database examples, BI Reporting Tools 22 can from query term [Query1]. [Aux Order (auxiliary order) ID], [Query1]. and resolution data storehouse row [Aux OrderItem (auxiliary order items) ID].In dimensional model, BI Reporting Tools 22 can use member's unique name (MUN) to come resolution data source position.User can write and [Query1] the amendment can editing reporting field by BI Reporting Tools 22. the database column that [AUX Order Method Code (auxiliary order method code)] associates.Source is implied to be [Query1]. and [Order Method Code (order method code)] is data item as it.
Table 1
Because definition is based on inquiry, it can associate uniquely with physical database field, or derives from expression formula.This can be applicable to source data and target data.Describe other use example as follows.Describe the exemplary use-case that virtual data writes back below in table 2.
Table 2
In this example, data write back source from [Query1]. and [Order Method Code], it is based on expression formula and can come from two positions.Writing back target is [Query1]. [AUXOrder Method Code].When user first operational report time, [AUX Order MethodCode] is empty, and reads data from [Order Method Code].Change is made and after preserving described change, BI Reporting Tools 22 write data [AUX Order Method Code] to reporting field can be edited user.When user again operational report time, source is now from [AUX Order Method Code], instead of [Order Method Code].After this, will always change for [AUX Order Method Code] instead of [Order Method Code].In this process, [Order Method Code] is only for reading.BI Reporting Tools 22 of the present disclosure thus data can be provided to write back, and data are not write back practically original source, or in other words, provide virtual data and write back.In some instances, expression formula can be built in metadata schema by metadata modeling device, makes report author perform virtual data when not needing to understand query expression thus and writes back.
Describe another exemplary use-case that virtual data writes back below in table 3.This use-case comprises write different target list structure, and this can be called as virtual architecture and write back.In this instance, BI Reporting Tools 22 do not require that data are write object table and had the structure the same with source data table.Target data row can as below in table 3 define:
Table 3
In this instance, object table only has a key, and described key is the series connection of two keys from source.In various example, object table key can be from first or raw data source or from the series connection of key of any amount of multiple data sources comprising the first data source.
Describe another exemplary use-case that virtual data writes back below in table 4.In this instance, writing back target can be diverse location based on department or geographic location code.This use-case can be called as distributed data and write back.Table 4 shows the object definition of this example:
Table 4
The date expression that target data item is made up of two query terms.Each query term can represent a diverse location in the database be separated.
Describe another exemplary use-case that virtual data writes back below in table 5.The data that this example comprises business event driven write back.In some instances, BI Reporting Tools 22 can not limit source and target logic.On the contrary, BI Reporting Tools 22 can make source and target logic can become business-driven, and have one group of business rule, such as, realized by function (function " Foo " such as, in this example).In this instance, BI Reporting Tools therefore make user to edit or Update Table field to comprise realization or the function of execution algorithm or instruction set, instead of make user Update Table field to be the modification item inputting static data.Described function can implementation algorithm or other executable instruction set, and can comprise one or more data item, can be worked by algorithm or instruction to it.Although be discussed herein the example of function, described function can adopt the executable instruction of arbitrarily other form, and (such as process, method, subroutine, (in functional programming) can perform the instruction of data or other type arbitrarily, in order to object of the present disclosure, wherein any one can be generally referred to herein as " function ") form, or to be substituted by the executable instruction of any other form.Such as, described function can comprise instruction to process based on the primitive data item in raw data source at least in part according to the business rule of one or more definition or to produce output.
Table 5
In some instances, BI Reporting Tools 22 can also export with HTML and realize data and write back.Exemplary HTML fragment from the report output of html format can be following fragment:
BI Reporting Tools 22 can also use application programming interface (API) to help to realize virtual data in BI report and write back.Illustrate in table 6 that name is called the exemplary API specification write back for the virtual data in supporting BI to report of the API of " AddChange ".
Table 6
In this instance, AddChange API can follow the tracks of the change of user's input, and local cache (such as local JavaScript buffer memory) is put in user's change.When user inputs hold-over command (such as, clicking save button), buffer memory can send to server as POST list HTTP variable by BI Reporting Tools 22.In this instance, if user leaves the current page (and if automatically preserve feature be not movable) of BI report when not inputting hold-over command, then BI Reporting Tools 22 can remove buffer memory, effectively the user of input are arbitrarily changed to performing cancellation.Equally, if input command is to rerun report when first not preserving the value of change arbitrarily for user, then BI Reporting Tools 22 can remove local cache.
BI Reporting Tools 22 can use currency to follow the tracks of user after data are retrieved whether to have input change.If currency has been modified in a database, then can performing database rollback.This technology can ensure the safety of data transactions.
Fig. 8 depicts the data structure diagram 110 of the service that writes back for data of the present disclosure according to an example.Described above is and how to identify that unique key group and data rows are to write back to change in database.But these expression formulas from reporting obligations, and can be switched to Physical layer to produce local data library inquiry (such as with SQL).These operation layer terms can be converted to physical database table name and row name by BI Reporting Tools 22.BI Reporting Tools 22 can use and can come data query source from the API request of report expression formula return data storehouse expression formula.BI Reporting Tools 22 can such as use the API of soap message (that is, meeting the message of World Wide Web Consortium soap protocol) form to ask, as in example below:
This soap message can return expression formula below:
#'[gosales].[ORDER_METHOD].[ORDER_METHOD_'+$Language_lookup{$runLocale}+']'#
This expression formula can pass on information below:
[ORDER_METHOD] table name
[ORDER_METHOD_'+ $ Language_lookup{ $ runLocale}+'] arranges name
Utilizing this information, in this instance, the physics tabular as illustrated in table 7 and query term relation can being produced below:
Table 7
Utilize suitable database lock, BI Reporting Tools 22 can send data base querying (such as with SQL) below, to check whether the value wanting potential change is changed by previous user.
SELECT COUNT(*)FROM ORDER_DETAIL
WHERE ORDER_ID='2110'and ORDER_ITEM='999'
And ORDER_METHOD_ID=3 (3 is original values)
If count is returned as 0, this means that data are changed.Then BI Reporting Tools 22 and can notify user to respond by rollback update request.If be returned as 1, this shows that order method changes not yet, and to carry out upgrading be safe.Then BI Reporting Tools 22 can send database input (such as with SQL) below:
UPDATE ORDER_DETAIL
SET ORDER_METHOD_CD=this.value (this is the new value of our just change)
WHERE ORDER_ID='2110'and ORDER_ITEM='999'
When needed, BI Reporting Tools 22 can discharge database lock.BI Reporting Tools 22 can comprise make BI report author can realize based in the server-side components that writes back of virtual data of inquiry and client-side/UI assembly or both.This can be included in the BI reporting obligations that BI Reporting Tools 22 use, and the existing inquiry that defines increases the BI Reporting Tools 22 that data write back attribute.Source information can comprise one or more sources unique key expression formula and source data expression formula, and destination information can comprise one or more unique key expression formula and target source date expression.Described expression formula can be based on metadata schema on inquiry, inquiry independent of physical database, and can based on expression formula described in information evaluation during operation.
Therefore BI Reporting Tools 22 can realize writing back to the data in different pieces of information source according to condition.That is, BI Reporting Tools 22 can run BI report first when BI report data source is read-only, and in operation subsequently, BI Reporting Tools 22 can usage data expression formula make BI report data source become can to write.The option that BI Reporting Tools 22 can also be selected when making BI reporting obligations and appointment realizes the field write back in BI reporting obligations based on user realizes different pieces of information and writes back destination.
Therefore BI Reporting Tools 22 when BI report data source is read-only or can realize virtual data when not allowing user to change source data and write back experience.If needed, the virtual data that BI Reporting Tools 22 can perform to multiple location database server writes back, and such as this can based on geographic code.This virtual data writes back ability and BI can be made to report become interactively, and makes user can the result of data in analysis modify BI report, or the result of the plan explored the data in BI report or hypothesis change.
BI Reporting Tools 22 can make user can make BI be reported in read-only and realize data write back between alternately.BI Reporting Tools 22 can also provide one group of key to identify data change item in BI report uniquely, write back difference between modification to strengthen the read-only form reported and the data of report.BI Reporting Tools 22 also achieve data source and the virtual separation write back between target (the alternate data storage vault as raw data source), make data item can be written to virtual data write back target and when not changing lower data source as have modified BI report in data.In different examples, BI Reporting Tools 22 can also one-one relationship between usage data storage vault or many-to-many relationship, and when designing or operationally dynamically determine data source and virtual data target location.
Fig. 9 depicts the process flow diagram of the exemplary overall process 200 that the BI Reporting Tools 22 performed on one or more calculation element (such as server, computing machine, processor etc.) in one example in which can perform.For illustrative purposes, the description of Fig. 9 relates to element-specific and figure, and is not limited to any one specific examples.BI Reporting Tools 22 can the initial version reported of outgoing traffic intelligence (BI), wherein BI report comprises the first field and a BI report element, make the first field display from the first data item of the first data source, and a BI report element is at least in part based on the first data item (such as, the BI of Fig. 4 reports the data field 52 in UI50) (202).BI Reporting Tools 22 can receive the input of the modification of instruction first data item (such as, the user of data field 52 is inputted, or to the input that the computing machine of such as applying from other or serving of data field 52 produces) (204).BI Reporting Tools 22 can produce the correction form (206) of a BI report element at least in part based on the modification of the first data item.BI Reporting Tools 22 can export the invulnerable release of BI report, and the invulnerable release of described BI report comprises the modification of the first data item in the first field and the correction form (208) of a BI report element.
Figure 10 is the block diagram that may be used for the exemplary computing devices 80 performing BI Reporting Tools 22 according to illustrative example.Calculation element 80 can be the server of in the web server 14A or application server 14B described in such as Fig. 2.In various example, calculation element 80 can also be any server for providing business event intelligent use, comprises the virtual server of the calculation element running or merge any amount from the calculation element of any amount.Calculation element can running as true or virtual server in whole or in part, and can be or comprise other programmable data processing device of workstation, server, host computer, notebook or laptop computer, desk-top computer, flat board, smart phone, functional telephone or any kind.Other realization of calculation element 80 can comprise and has except equipment described herein or exceed the ability of equipment described herein or the computing machine of form.
In the illustrative example of Figure 10, calculation element 80 comprises communication structure 82, and described communication structure 82 provides the communication between processor unit 84, storer 86, permanent data storage 88, communication unit 90 and I/O (I/O) unit 92.Communication structure 82 can comprise dedicated system bus, universal system bus, the bus of the multiple bus hierarchically arranged, arbitrarily other type, bus network, switching fabric or other interconnection technique.Communication structure 82 supports the transmission of data between each subsystem of calculation element 80, order and out of Memory.
Processor unit 84 can be programming instruction for storing in execute store 86 and the CPU (central processing unit) able to programme (CPU) that configures.In another illustrative example, primary processor and second processor can be used to be provided one or more heterogeneous processor systems on a single chip to realize processor unit 84.In another illustrative example, processor unit 84 can be the symmetric multiprocessor system of the multiple processors comprising identical type.Processor unit 84 can be reduced instruction set computer (RISC) microprocessor (such as from
company
processor), x86 compatible processor (such as from
company
processor), from advanced micro devices (Advanced Micro
) company
processor or arbitrarily other suitable processor.In various example, such as, processor unit 84 can comprise polycaryon processor (such as double-core or four core processors).Such as, processor unit 84 can be included in the multiple processor chips on an encapsulation or a suprabasil nude film and/or multiple nude film.Such as, processor unit 84 can also comprise one or more levels integrated cache of memory storer.In various example, processor unit 84 can comprise the one or more CPU crossing over one or more position distribution.
Data-carrier store 96 comprises the storer 86 and permanent data storage 88 that are communicated with processor unit 84 by communication structure 82.Storer 86 can comprise for store for the treatment of the random-access semiconductor memory (RAM) of application data (that is, computer program data).Although storer 86 is depicted as single monolithic entities conceptually, but in various example, storer 86 can be disposed in the level of buffer memory and in other storage arrangements, in single physical position or cross over various forms of multiple physical system distribution.Physically be separated with the processor unit 84 of calculation element 80 and other element although storer 86 is depicted as, but storer 86 can refer to comparably at any centre of any position throughout calculation element 80 or buffer memory, comprise close to processor unit 84 or with processor unit 84 the independent core of integrated buffer memory or processor unit 84.
Permanent data storage 88 can comprise the combination in any of one or more hard disk drive, solid-state drive, flash drive, CD-RW driver, tape drive or these or other data storage medium.Permanent data storage 88 can store the data for the computer readable program code of operating system or computer executable instructions, application file (comprising program code, data structure or data file) and other type arbitrarily.These computer executable instructions can be loaded into storer 86 from permanent data storage 88 and read for processor unit 84 or other processor and perform.Data-carrier store 96 can also comprise other hardware element any of the information that can store provisionally and/or for good and all (such as, such as and be not limited to data, the program code of functional form and/or other suitable information).
Permanent data storage 88 and storer 86 are examples of physics, tangible, non-Transient calculation machine readable data memory storage.Data-carrier store 96 can comprise requirement by any one newly to keep in the various forms of volatile memory of data in memory of periodically brush, but those skilled in the art will recognize that this also constitutes the example of physics, tangible non-Transient calculation machine readable data memory storage.When program code be loaded on non-transient state physical medium or device, store, relaying, buffering or buffer memory time (if comprising just in order to only short time interval or only with volatile storage form), executable instruction can be stored on non-state medium.
Processor unit 84 can also be suitably programmed as reading, the computer executable instructions loading and perform for BI Reporting Tools 22 or computer readable program code, as described in more detail above.This program code can be stored in storer 86 in calculation element 80, permanent data storage 88 or other is local.This program code can also adopt the form of the program code 104 stored on the computer-readable medium 102 be included in computer program 100, and can be transmitted or be transferred to calculation element 80 by any one in various Local or Remote device from computer program 100, can be performed by processor unit 84, as will be described as further below.
Operating system can provide the function of the management of such as device interface, memory management and multiple task management.Operating system can be based on Unix operating system (such as from
company
operating system), based on non-Unix operating system (such as from
the operating system of company
family), network operating system (such as from
company
) or other suitable operating system arbitrarily.Processor unit 84 can be suitably programmed as reading, loading and the instruction of executive operating system.
In this instance, communication unit 90 provides and to calculate with other or the communication of communication system or device.Communication unit 90 can provide communication by using physics and/or wireless communication link.Communication unit 90 can comprise network interface unit for docking with LAN 16, Ethernet Adaptation Unit, token-ring adapter, communication interface for the modulator-demodular unit or other type arbitrarily that are connected to the transmission system of such as telephone wire.Communication unit 90 may be used for very eurypalynous peripheral computing devices (such as printer, bus adapter and other computing machine) to be operatively coupled to calculation element 80.Such as, communication unit 90 may be implemented as expansion card or is built in mainboard.
I/O unit 92 can support to be suitable for the device with the input and output of the data of other device that can be connected to calculation element 80, such as keyboard, mouse or other indicator, touch screen interface, for printer or the interface of other peripheral unit, removable magnetic or CD drive (comprising CD-ROM, DVD-ROM or blue light (Blu-Ray)), USB (universal serial bus) (USB) socket or the input of other type and/or output unit arbitrarily arbitrarily.In various example, I/O unit 92 can also comprise the interface for the video frequency output of video frequency output agreement of any type and any type of the monitor of any type or other video display technology.To understand, some in these examples can overlap each other, or overlapping with the example components of communication unit 90 or data-carrier store 96.I/O unit 92 can also comprise the suitable device drive software of the external device (ED) for any type, or device drive software so when appropriate may reside in other place on calculation element 80.
In this illustrative example, calculation element 80 also comprises display adapter 94, and described display adapter 94 is provided for one or more connections of one or more display device (such as can comprise any one the display device 98 in various types of display device).To understand, some in these examples can be overlapping with the example components of communication unit 90 or I/O unit 92.I/O unit 92 can also comprise the suitable device drive software of the external device (ED) for any type, or device drive software so when appropriate may reside in other place on calculation element 80.In various example, display adapter 94 can comprise one or more video card, one or more Graphics Processing Unit (GPU), one or more support video connectivity port or can the data connector of other type any of transmitting video data.In various example, display device 98 can be the video display devices of any kind, such as monitor, televisor or projector.
I/O unit 92 can comprise for the driver of receiving computer program product 100, socket (socket) or extension line (outlet), and described computer program 100 comprises the computer-readable medium 102 storing computer program code 104.Such as, computer program 100 can be CD-ROM, DVD-ROM, Blu-ray disc, disk, USB rod, flash drive or external fixed disk drive (as illustrative example) or other suitable data storage technology arbitrarily.
Computer-readable medium 102 can comprise the light medium of any type, magnetic medium or other physical medium, described medium physically encoded program code 104 as the binary sequence of the different physical states in each unit of storer, when described binary sequence is read by calculation element 80, induce the physical signalling corresponding to the physical state of the master data storage element of storage medium 102 read by processor 84, and induce the change of the correspondence of the physical state of processor unit 84.This physical procedures code signal can at various abstraction hierarchy (such as high-level programming language, assembly language or machine language) in any one place be modeled or be conceptualized as computer-readable instruction, but final formation series of physical is electric and/or magnetic interaction, the change of the physical state of described interaction physics ground induction processor unit 84, to cause calculation element 80 physically to suppose, the physics that the mode of new ability physically causes or configuration processor unit 84 produces corresponding to computer executable instructions exports thus, described new ability is until pass through to load the new ability just had when the executable instruction be included in program code 104 changes its physical state.
In some illustrative example, program code 104 can be downloaded to data-carrier store 96 to use in calculation element 80 from other device or computer system by network.The program code 104 comprising computer executable instructions from computer-readable medium 102 by the wireless communication link of communication unit 90 or rigid line, and/or by the connection to I/O unit 92, can be transmitted or be sent to calculation element 80.The computer-readable medium 102 comprising program code 104 can be positioned in the position or remote location that are separated with calculation element 80, and any place (being included in any long-range geographic position local arbitrarily in the world) can be positioned in, and on one or more communication links of any type (such as internet and/or other packet data network), program code 104 can be relayed to calculation element 80.Such as, program code 104 can in wireless internet connection or in the direct wireless connections of short distance (such as WLAN, bluetooth
tM, WiFi
tMor infrared connection) upper transmission.Other wireless or telecommunication protocol arbitrarily can also be used in other realizes.
In various illustrative example, communication link and/or connection can comprise wired and/or wireless connections, and program code 104 can be transmitted from source machine computer-readable recording medium 102 by invisible medium (such as comprising communication link or the wireless transmission of program code 104).Program code 104 can by more or on the so not of short duration or tangible physical computer readable device of centre that is stored in any amount enduringly and medium, the physical buffers of any amount of server, gateway, network node, Mobility Management Entity or other networked asset such as in the way from its original source medium to calculation element 80, buffer memory, primary memory or data storage component.
As being readily appreciated by one skilled in the art, such as, each side of the present disclosure may be implemented as method, device, system or computer program.Therefore, each side of the present disclosure can take the form of the form of complete hardware embodiment, the completely form (comprising firmware, resident software, microcode etc.) of software implementation or the embodiment of integration software and hardware aspect, can be collectively referred to as " circuit ", " module " or " system " at this.In addition, each side of the present disclosure can take the form of the computer program implemented in one or more mechanized data memory storage or mechanized data memory module (comprising the computer-readable medium it implementing computer readable program code).Such as, mechanized data memory storage may be implemented as the physical device and controller that can comprise tangible data storage medium (can be non-transient state in some instances), described controller is configured to receive instruction from the such as resource of CPU (central processing unit) (CPU) with the information at the one or more particular address places of retrieve stored in tangible, non-transient data storage medium, and described controller be configured to retrieve and provide be stored in data storage medium these specific one or the information at multiple address place.
Such as, data storage device can the information of both memory encoding instruction and datas, and such as, can the information of retrieve encoded instruction and/or data, and by the information transmission of coded order and/or data other resource to such as CPU.Such as, in various embodiments, data storage device can take the form of primary memory assembly (such as hard disk drive or flash drive).In various embodiments, data storage device can also take the form of other memory assembly (any one the local cache in such as various forms or RAM integrated circuit or impact damper).As various illustrative example, this can comprise the buffer memory integrated with controller, the buffer memory integrated with Graphics Processing Unit (GPU), the buffer memory integrated with system bus, the buffer memory integrated with multi-chip nude film, be integrated in the buffer memory in CPU or the processor register in CPU.In various embodiments, data storage device or data-storage system can also take distributed form, such as redundant array of independent disks (RAID) system or the data storage service based on cloud, and be still considered to as a part for the embodiment of system of the present disclosure or the data storage component of assembly or data-storage system.
The combination in any of one or more computer-readable medium can be used.Computer-readable medium can be computer-readable signal media or computer-readable recording medium.Computer-readable recording medium can be, such as but not limited to, for storing the system of data, equipment or device, but do not comprise computer-readable signal media.Such system, equipment or device can be such types: include but not limited to electricity, magnetic, optical, electrical magnetic, infrared, electric light, thermally assisted magnetic or semiconductor system, equipment or device, or the combination of above-mentioned any appropriate.The non-exhaustive listing of the other object lesson of computer-readable recording medium comprises: the combination with the electrical connection of one or more wire, portable computer diskette, hard disk, random access memory (RAM), ROM (read-only memory) (ROM), Erasable Programmable Read Only Memory EPROM (EPROM or flash memories), optical fiber, Portable, compact dish ROM (read-only memory) (CD-ROM), light storage device, magnetic memory apparatus or above-mentioned any appropriate.In the context of this document, computer-readable recording medium can be can comprise or stored program any tangible medium, and described program is used by instruction execution system, equipment or device or is combined with it.
The medium of any appropriate (include but not limited to radio frequency (RF) or other wireless, Wireline, optical cable etc., or the combination of above-mentioned any appropriate) can be used to transmit the program code implemented on a computer-readable medium.Among various illustrative example, can write the computer program code of the operation for performing each side of the present disclosure by the combination in any of one or more programming languages, described programming language comprises OO programming language (such as Java, Smalltack, C++ etc.) or other imperative programming language (such as C) or functional language (such as Common Lisp, Haskell or Clojure) or multi paradigm (such as C#, Phython or Ruby).Among various example, one or more groups can perform by application code partially or entirely in the desk-top of user or laptop computer, smart phone, flat board or other calculation element; Perform as unit software package, partly partly perform on remote computing device on the calculation element of user; Or all perform on one or more remote server or other calculation element.In the later case, remote computing device can be connected to (comprising LAN (Local Area Network) (LAN) or wide area network (WAN)) calculation element of user by the network of any type, or outer computer can be connected to (such as, the common network utilizing ISP to pass through such as internet connects), Virtual Private Network (VPN) can also be used alternatively for described network.
In various illustrative embodiment, various computer program can be performed explicitly with the one or more user interfaces performed in client computing devices, software application, module or other software element, described one or more user interface can be applied alternately with one or more web server, described one or more web server application can run on one or more server or other calculation element be separated, and can perform or access other computer program, software application, module, database, data store or other software element or data structure.Such as, graphical user interface can perform in client computing devices, and can access the application of applying from one or more web server.The combination in any of any released version of HTML, CSS, JavaScript and other language various or technology can be used, provide or perform the various contents in browser or proprietary application graphical user interface explicitly in the web browser or with web browser.In various illustrative embodiment, can perform and computer program, software application, module or other element write with any programming language by one or more web server, and/or provide other content by using or accessing any computer program, software element, data structure or technology.
Computer-readable signal media can comprise the propagation data signal wherein implementing computer readable program code, such as, in a base band or as the part of carrier wave.Such transmitting signal can take in various forms any one, include but not limited to the combination of electromagnetism, light or their any appropriate.Computer-readable signal media can be any computer-readable medium, described computer-readable medium is not computer-readable recording medium and can transmits, propagates or convey program, and described program is used by instruction execution system, equipment or device or is combined with it.
Each side of the present disclosure is described at this process flow diagram with reference to the method according to embodiment of the present disclosure, equipment, system and computer program and/or block diagram.To understand, each square frame of block diagram and/or process flow diagram, and the combination of square frame in block diagram and/or process flow diagram, can be realized by computer program instructions.These computer program instructions can be provided to the processor of multi-purpose computer, special purpose computer or other programmable data processing device, to produce a machine, the device of the function/action specified in the one or more square frames making the instruction performed by computing machine or other programmable data processing device can create for realizing in process flow diagram and/or block diagram.
These computer program instructions that computing machine, other programmable data processing device or other device can be instructed to run in a specific way can also be stored in computer-readable medium, make the instruction be stored in computer-readable medium produce the manufacture (articleof manufacture) of the instruction of the function/effect specified in the one or more square frames comprising and realizing in process flow diagram and/or block diagram.Computer program instructions can also be loaded on computing machine, other programmable data processing device or other device, on computing machine, other programmable device or other device, sequence of operations step is performed to cause, realize process to produce computing machine, the instruction that computing machine or other programmable device perform is provided or implements the process of function or the action specified in the one or more square frames for realizing in process flow diagram and/or block diagram.
Process flow diagram in accompanying drawing and block diagram describe framework according to the device of various embodiment of the present disclosure, the possible realization of method and computer program product, function and operation.About this point, each square frame in block diagram or process flow diagram can the part of representative code, module or fragment, and it comprises the one or more executable instructions for realizing regulation logic function.It should be noted that in some implementations, the function recorded in square frame can not with occurring in sequence of recording in accompanying drawing.Such as, according to involved function, in fact two square frames illustrated continuously can perform substantially concomitantly, or described square frame can perform with different order, or the function in different square frame can process in different but parallel processing threads.The combination of the square frame in each square frame in process flow diagram and/or block diagram and process flow diagram and/or block diagram can by special hardware based system, special software and general procedure hardware implementing, the combination of the function that described special hardware based system puts rules into practice or action or executable instruction.
In order to the purpose of illustration and description has provided description of the present disclosure, and description of the present disclosure is not regarded as exhaustive or disclosing of being limited to disclosed form.Based on concept disclosed herein, a lot of amendment and change will be understood by those of ordinary skill in the art.In order to explain exemplary practical application and principle of the present disclosure, and in order to make other those of ordinary skill of this area can understand disclosing for the various embodiments with various amendment (being suitable for the specific use considered), selecting and disclosing described specific examples.In the scope of various example described herein and other embodiment claim below.