WO2016080413A1 - データ検索装置、プログラム、及び記録媒体 - Google Patents

データ検索装置、プログラム、及び記録媒体 Download PDF

Info

Publication number
WO2016080413A1
WO2016080413A1 PCT/JP2015/082316 JP2015082316W WO2016080413A1 WO 2016080413 A1 WO2016080413 A1 WO 2016080413A1 JP 2015082316 W JP2015082316 W JP 2015082316W WO 2016080413 A1 WO2016080413 A1 WO 2016080413A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
data
database
search request
item
Prior art date
Application number
PCT/JP2015/082316
Other languages
English (en)
French (fr)
Inventor
譲二 佐伯
卓也 佐伯
慎也 佐伯
Original Assignee
株式会社インフォメックス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社インフォメックス filed Critical 株式会社インフォメックス
Priority to US15/506,095 priority Critical patent/US9922054B2/en
Priority to CN201580053020.8A priority patent/CN106716416B/zh
Priority to SG11201701066XA priority patent/SG11201701066XA/en
Priority to EP15862061.7A priority patent/EP3171282A4/en
Priority to JP2015558298A priority patent/JP5916974B1/ja
Publication of WO2016080413A1 publication Critical patent/WO2016080413A1/ja
Priority to US15/885,042 priority patent/US10853387B2/en
Priority to US17/077,368 priority patent/US11216486B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2445Data retrieval commands; View definitions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Definitions

  • the present invention relates to a data search apparatus that searches data from a plurality of databases in a general manner.
  • BI Business Intelligence
  • BI intends to use the data necessary for the user's own analysis from the enormous amount of data accumulated in the business system, etc., for business decisions such as management plans and corporate strategies. It is a technique to do.
  • the BI tool used for this purpose has an intuitive human interface that allows users to give interactive instructions so that even users without detailed knowledge of systems and programming can use it. You can search and analyze business terms, and report the results flexibly in various formats.
  • OLAP online analytical processing
  • the data to be operated is handled as a cube having a multidimensional data structure defined as a set of a plurality of data aggregation items (dimensions) and quantitative value items (measures) (CODD: multidimensional concept) View). Further, it is a precondition that the data is complete and consistent (CODD: generality of dimensions, arithmetic processing between dimensions without restrictions).
  • two-dimensional data is extracted from multi-dimensional analysis cubes and displayed in the form of tables, graphs, charts, etc., and data for slicing, dicing, and drill-down / roll-up.
  • the display is switched by the analysis operation, and the multidimensional aspect of the cube is analyzed by repeating this display.
  • -Slicing Cut out a specific member of multi-dimensional data in a certain section to make a two-dimensional table.
  • ⁇ Dicing Swap vertical and horizontal items to make a completely different surface of multidimensional data into a two-dimensional table.
  • Drill-down / Roll-up Drilling down from the tabulated results and displaying more detailed breakdown data is called drill-down, and the reverse operation is called roll-up.
  • DWH data warehouse
  • DM data marts
  • ETL extraction, conversion, loading
  • OLAP using BI tools provides a method for advanced data analysis on the premise of a single cube having a multidimensional data structure.
  • it is often difficult to obtain complete and consistent data, and it is very expensive to prepare the data, and important information is missing at the stage of data preparation and aggregation.
  • the BI tool builds a logically multidimensional analytical cube from a single piece of data, extracts the data from it, and basically displays it in the form of a two-dimensional table or graph. Slicing, dicing, and drilling down The display is switched by the analysis operation of, and the multidimensional aspect is analyzed.
  • it is necessary to comprehensively understand the contents related to a plurality of data, so that it is difficult to express it with only a simple two-dimensional table or graph.
  • a dashboard in which a plurality of data collected from various information sources are arranged as a graphical report on the same screen and information from various viewpoints is displayed at once is a very effective technique.
  • the extracted information could be displayed statically side by side, but slicing and drilling down are performed simultaneously on multiple cubes targeting different data.
  • the function could not be supported because item relationships between different data could not be defined, and analysis of the multidimensional aspects of the data, including inconsistencies, was very laborious.
  • transitioning from one report to a report that targets different related data not only is there no way to define the relationship between the data, but also a single cube such as slicing, dicing, and drilling down. There are many cases that do not apply to the simple analysis operation that is assumed, and it has been extremely difficult to realize report transition between different data using a conventional BI tool.
  • the present invention analyzes data including inconsistencies that are difficult to handle with a single cube, such as when collecting and analyzing related data distributed in a plurality of business systems in a company or the like.
  • the purpose is to provide a data search tool.
  • The function of the virtual database and the function of the BI tool are integrated as an integrated software. Control with a single data dictionary that can manage the data relevance between multiple searches, By ⁇ Create search results by integrating data obtained from multiple databases, ⁇ Create multiple reports from multiple search results according to usage and purpose, -Automatically associate multiple created reports and operate them.
  • a data search tool characterized by the above is provided.
  • a plurality of related related data is duplicated and stored in a data warehouse or the like, and a cube for analysis is cut out therefrom.
  • the cube to be analyzed differs depending on the situation and pattern, so that the types and amounts of data that need to be accumulated become enormous.
  • virtual databases also called EII (Enterprise Information Integration) or Federated database system
  • EII Enterprise Information Integration
  • Federated database system allow users to search multiple databases with a single query without moving or replicating distributed data. It can be carried out.
  • the virtual database is logical only having various definitions and rules, and actual data is created virtually and in real time based only on data required at the time of execution.
  • virtual databases are highly flexible because there is no need to duplicate unnecessary data, and it is easy to cope with an increase in the volume of business data and the number of databases, as well as across multiple data warehouses and data marts. Data integration or data integration with external data is also possible. Further, the cost of the server and database for storing the replicated data becomes unnecessary, and the operation / maintenance cost for data management, data quality maintenance, system modification / change can be reduced. In addition, the virtual database does not require data restructuring work like DWH, and there is no data generation time lag, so the most recent data can be obtained in real time, and reports that reflect the latest status of work can be created. There is an advantage that it becomes. By using the function of the virtual database, data from business systems etc. can be replicated and stored, and the data can be obtained as needed to provide pseudo multidimensional data model data without having to keep it constantly. Can be analyzed.
  • the data dictionary includes virtual data structure definition information, presentation structure definition information, and search request definition information.
  • Virtual data structure definition information is completely independent of physical data structure in addition to physical data structure definition information such as tables and items stored in each of multiple databases to be searched. It includes a definition for flexibly defining the data structure from the user's unique point of view, and integrating and editing the data with the physical data structure to convert it to the requested data structure.
  • the definition information of the presentation structure includes a definition for assisting the user in inputting and issuing a search request that matches the search requirements. Further, the search request definition information is for managing the relationship between different search requests.
  • the relationship between different search requests is defined, and the data item definition information that can be identified globally and the definition information of complex or hierarchical data items are issued based on the virtual data structure. It is possible to manage the commonality / relationship of data items and data hierarchies among a plurality of search results acquired by the search request and a plurality of reports created from the search results.
  • General BI tools have functions for handling a single report such as atypical search, regular search, and report reference, and are related to data analysis operations such as slicing, dicing, and drill-down within the scope of a single search result. It is possible to go to the report.
  • the relationship between a plurality of search requests can be managed by the data dictionary. Therefore, by combining the functions of the virtual database and the functions of the BI tool as a single piece of software, inconsistencies can be solved. It is possible to handle data that contains it. For this reason, the present invention has a function of a search link that can be associated with each other even for reports that target different search results. To move to a report.
  • the data search device of the present invention has the following configuration.
  • a first aspect of the present invention is a data search apparatus using two or more databases (1) that return search data in response to a search command as a data source.
  • This data retrieval device The presentation structure definition information for issuing a search request conforming to the search requirement by supporting the user terminal (2), and the physical information that can be processed by the database (1) by analyzing the search request.
  • a data dictionary (10) including definition information of a virtual data structure for converting into a search command to be executed, and definition information of a search request for managing a relationship between different search requests,
  • the user terminal (2) is input-supported based on the presentation structure defined in the data dictionary (10), issues a search request described based on the presentation structure, and the search request is transmitted to a virtual database.
  • the data dictionary (10) Physical data structure definition information for database (1) that returns search data in response to a search command; A search request conforming to the search requirements is described and converted into a search command represented by a physical data structure that can be processed by the database (1), and the search request is based on the search data acquired from the database (1).
  • the presentation structure definition information preferably has search request definition information for managing the relationship between different search requests.
  • the virtual database unit (20) and the business intelligence unit (30) perform control based on search request definition information included in the data dictionary (10) for managing relevance between different search requests. . Specifically, when the virtual database unit (20) creates a plurality of search results corresponding to different search requests associated in the search request definition information, the virtual database unit (20) automatically creates the plurality of search results. Associated with The business intelligence unit (30) preferably creates a plurality of reports from the plurality of search results associated with the virtual database unit (20), and automatically associates the created reports.
  • the business intelligence unit (30) Search request issuing means for supporting the user terminal (2) based on the presentation structure of the data dictionary (10) and issuing a search request based on the presentation structure to the virtual database unit (20). 31) and It is preferable to have a report output means (32) for creating a report based on the search result acquired from the virtual database section (20) and sending it to the user terminal (2).
  • the business intelligence unit (30) Multiple reports generated from multiple search results obtained by executing multiple search requests can be displayed sequentially or simultaneously, It is preferable that a plurality of reports can be operated in association with each other by search request definition information for managing the relationship between different search requests included in the data dictionary (10).
  • the business intelligence unit (30) Associating the second search request with the first search request as a related search;
  • the user terminal (2) executes a first search request to display a first search result, selects data included in the first search result, and instructs a link to the second search request.
  • the item and condition value of the extraction condition included in the first search request and the item and display value corresponding to the data selected from the first search result are taken over to the second search request,
  • the condition value of the related item is inherited from the first search request. It is preferable to execute the second search request and display the second search result instead of the condition value.
  • the business intelligence unit (30) You can configure a dashboard that places multiple reports output from multiple search results on the same screen, When the data included in the search results of one report in the dashboard is selected, the heading items and display values corresponding to the selected data are transferred to the other reports in the dashboard. If there is an item associated with the heading item that was inherited in the extraction condition of another report search request, replace the condition value of that extraction condition with the inherited display value, execute the search request, and It is preferable that a plurality of reports in the dashboard can be operated in conjunction with each other by displaying a simple search result.
  • the report output means (32) of the business intelligence unit (30) When the search request includes a plurality of header items (dimensions) that can be classified and one or more value items (major) that can be aggregated, the aggregation operation is integrated for combinations of header items having the same aggregation level. It is preferable to carry out.
  • the report output means (32) When a search result at a certain aggregation level is displayed on the user terminal (2), the header item is displayed only in the header item higher than the certain aggregation level, and the value item is displayed with the certain aggregation level.
  • the aggregated value is displayed only for the higher-level heading items,
  • the user terminal (2) has selected specific data of the search result of the certain aggregation level, one subordinate aggregation having the same heading item as the displayed heading item of the selected specific data It is preferable to display a level detail record on the user terminal (2).
  • the business intelligence unit (30) A library management means (33) for storing a search request once created by the user terminal (2), which can be read and reused; It is preferable that the search request can be shared according to the purpose of use by setting the user terminal (2) that can use the library management means (33) according to the authority of the user.
  • the business intelligence unit (30) Search history management means (34) capable of storing a search result corresponding to a search request for a certain period or a certain number of histories as specified by the user terminal (2), In the user terminal (2), when a search request is specified from the library, search results corresponding to the search request are displayed in a list, It is preferable that the search result can be directly referred to by designating the search result from among them.
  • the search request issuing means (31) Can handle set items that represent multiple related items in a single concept, When specifying the collective item as a search request extraction condition, the condition value can be set while referring to the values of the related items, It is preferable that the related items are automatically added to the search result display item by an input operation of the user terminal (2) for adding the set item to the search result display item.
  • the set item of the search request issuing means (31) is: It consists of one or more items that are in a hierarchical relationship with each other, On the screen of the user terminal (2), when one value is selected from the list of upper level item values, the lower level item values associated with the value are displayed in a list. And It is preferable that the user terminal (2) can designate a value as a search extraction condition from values displayed in a list of an arbitrary level.
  • the virtual database unit (20) A search request translating means (21) for analyzing a search request described based on the virtual data structure and generating one or more search commands for the database (1); Search command execution means (22) for executing search instructions generated by the search request translation means (21) for some of the databases (1) to obtain search data; It is preferable to have data integration processing means (23) for creating a search result corresponding to a data search request by integrating and processing one or more search data acquired by the search command execution means (22).
  • the search request translation means (21) Analyzing the search request based on the virtual data structure of the data dictionary (10), A search command executable on the database to be searched and one or more search commands executable by the data integration processing means (23); By generating a search command output to a certain data integration processing means (23) as a search command input to another data integration processing means (23), it is possible to generate a search command for performing data integration processing in multiple stages. It is preferable that it is possible.
  • the search request translation means (21) The extraction condition for the virtual database unit (20) indicated in the search request is converted into a search command for the database (1) and applied.
  • the classification aggregation requested by the search request is executed in advance in the database (1), The process of referring to the master that manages the target static attribute is not performed in the detailed data search stage, but is performed when the data is aggregated. Thereby, it is preferable to optimize the search command so that the amount of data transmitted from the database (1) is minimized.
  • the search command execution means (22) If the database supports the SQL language as a search interface, Means for executing a search instruction by SQL on the physical table of the database; Means for executing a search instruction using a stored procedure stored in the database, or means for executing a search instruction for searching again from a search result for a search result of a search directly defined in the SQL language of the database; Comprising one or more execution means If the database is a database that does not support the SQL language as a search interface, A search command execution means corresponding to the search interface of the database, If the database is a data file on a file system, It is preferable that a search command execution unit corresponding to the data file is provided.
  • the data integration processing means (23) The intermediate search data acquired by the search command execution means (22) or one or more of the result data output by other data integration processing means (23) are input to perform data integration and data processing. , The result data can be output as one table, Furthermore, it is preferable that the data integration processing over a plurality of stages can be performed by passing the result data as input to other data integration processing processing means (23).
  • the data integration processing means (23) A merge method in which intermediate data extracted and aggregated from each database is merged with a key after being merged, Alternatively, a selection method for automatically selecting and extracting / aggregating search targets from search target candidates in a plurality of databases according to the contents of the search request, Alternatively, for each record of intermediate data acquired from one database, reference data is acquired from another database based on predefined reference conditions, and items missing from the original intermediate data are supplemented from the reference data It is preferable that one or more data integration methods are provided, and an optimum method can be selected from them.
  • the reference method in the data integration method of the data integration processing means (23) is: Based on the intermediate data extracted and aggregated from one database, a sequential reference method that sequentially searches and integrates other databases for each record of the intermediate data according to the join conditions, Alternatively, intermediate data extracted and aggregated from other databases is transferred to a single database management system, and the transferred intermediate data or between the intermediate data and the data in the database management system is integrated by a database management system combination function. Batch join method, Alternatively, the data to be searched for the reference source and the data to be searched for the reference destination are obtained and rearranged in advance in the order of the condition values of the reference condition, and then one reference source record and one reference destination record are sequentially placed. It is preferable to have one or more data integration methods of sequential merging methods that compare the condition values of the reference conditions while reading them one by one and integrate those that satisfy the reference conditions, and it is possible to select the optimum method from among them. .
  • the data integration processing means (23) It has the functions of classification / aggregation processing for grouping by key items and aggregating attribute item values for each group, data editing processing for item values, data extraction processing by judgment conditions, sorting processing by output order specification, Moreover, it is preferable that it can respond to the calculation depending on the relationship and order between records.
  • the data integration processing means (23) The result data after data integration and data processing is transferred to the Business Intelligence Department (30), Other data integration processing means (23), or a database table, a data file stored in a file system, a data stream sent via a network, It is preferable that the data can be output to any external output destination.
  • the data integration processing means (23) Table data as a result of data integration processing or intermediate search data that is divided and created as a result of search command execution is created in advance and stored in an external storage area. It is preferable to provide a search data cache that references data stored in the external storage area.
  • the database (1) It preferably includes at least one of a relational database, an object-oriented database, an XML database, a file system, a URL directory management system, a data warehouse, and a data mart.
  • a second aspect of the present invention is a program that causes a computer to function as a data search device using two or more databases (1) that return search data in response to a search command as a data source.
  • This program The computer, The presentation structure definition information for issuing a search request conforming to the search requirement by supporting the user terminal (2), and the physical information that can be processed by the database (1) by analyzing the search request.
  • a data dictionary (10) including definition information of a virtual data structure for converting into a search command to be executed, and definition information of a search request for managing a relationship between different search requests,
  • the user terminal (2) is input-supported based on the presentation structure defined in the data dictionary (10), issues a search request described based on the presentation structure, and the search request is transmitted to a virtual database.
  • the third aspect of the present invention is a computer-readable recording medium storing the above program.
  • the present invention provides a data dictionary capable of managing relevance between a plurality of search requests, and fuses a virtual database and a BI tool as integrated software, thereby directly acquiring data from a plurality of databases.
  • the virtual data structure can be flexibly created in accordance with the purpose and use of the user. Detailed analysis with a high degree of freedom, such as directly analyzing each data of the business system, can be realized easily.
  • the present invention includes both the BI tool function and the virtual database function, and each function is driven by a common data dictionary.
  • the provision function of the virtual database naturally satisfies the search requirements of the BI tool.
  • the design process can be greatly simplified.
  • BI requirements analysis it is difficult to accurately grasp user needs in advance, and requirements are often added or changed even during construction or after completion.
  • data structure definitions of BI tools and virtual databases are used as data. Centralized management in the dictionary makes it possible to clarify the scope of the impact of adding and changing user requirements, and greatly improves the efficiency of the system maintenance process.
  • Analytical data can be used immediately by defining it in a dictionary, so it can be developed in a very short period of time and at a low cost.
  • FIG. 1 shows an example of a mismatch at a small granularity.
  • FIG. 2 shows an example of mismatch at large granularity.
  • FIG. 3 shows the overall configuration of the system.
  • FIG. 4 shows the concept of data analysis processing including inconsistencies.
  • FIG. 5 shows an outline of the data structure of the data dictionary.
  • FIG. 6 shows functional blocks of the business intelligence unit.
  • FIG. 7 shows an example of a search request issuance screen.
  • FIG. 8 shows an example of a library management screen.
  • FIG. 9 shows an example of the search link screen operation.
  • FIG. 10 shows the flow of the extraction condition and selection contents takeover process in the search link.
  • FIG. 11 shows an example of a setting screen for interlocking extraction conditions between multiple reports on the dashboard.
  • FIG. 11 shows an example of a setting screen for interlocking extraction conditions between multiple reports on the dashboard.
  • FIG. 12 shows an example of operation on the extraction condition setting screen in the class virtual item.
  • FIG. 13 shows functional blocks of the virtual database unit.
  • FIG. 14 shows a processing concept of a plurality of data integration methods.
  • FIG. 15A shows the processing concept of the sequential reference method and the batch combining method.
  • FIG. 15B shows the processing concept of the sequential matching method.
  • FIG. 16 shows the processing concept of the sequential merge method.
  • FIG. 18 shows the processing concept of the data cache.
  • FIG. 19 shows the processing concept of the data integration processing means over multiple stages.
  • FIG. 3 shows the overall configuration of a data search apparatus according to an embodiment of the present invention.
  • the data search device 100 is a data search device using two or more databases 1 that return search data in response to a search command as a data source.
  • the data search apparatus 100 is connected to two or more external databases 1, one or two or more external user terminals 2, and one or two or more external administrator terminals 3.
  • the data search device 100 includes a data dictionary 10, a virtual database unit 20, and a business intelligence unit 30.
  • the data search device 100 can also have a data dictionary editing unit 40 connected to the external administrator terminal 2.
  • the case where there are two or more databases connected as the database 1 is not only the case where the databases are physically divided into two or more, but also because a single database contains heterogeneous data. Including the case where it is logically divided into two or more units.
  • FIG. 4 is a processing image diagram when the data search apparatus 100 is used to analyze data including inconsistencies that cannot be easily handled by a single cube.
  • the search request 1 and the search request 2 are different in search target (database or the like). However, the search request 1 and the search request 2 are related to the contents to be searched. For this reason, the search request 1 and the search request 2 are associated as a related search by definition of the relationship between the search requests in the data dictionary 10 (definition information of the search request). Association between search requests can be arbitrarily performed by a user on a search request input screen or the like.
  • the search request 1 and the search request 2 in the data dictionary 10 it is generated from the report 1 created from the search result 1 that executes the search request 1 and the search result 2 that executes the search request 2.
  • the reports 2 can be associated with each other based on the relationship between the search requests. Therefore, it is possible to realize a search link function of moving to a related report while taking over the extraction conditions and selection contents of the current report. In this way, by associating multiple search results created from different search requests and easily moving between reports even between different search results, data containing inconsistencies that are difficult to handle with a single cube can be efficiently managed. Can be analyzed.
  • the user first sets the extraction conditions and the output method according to the purpose and purpose from the search request input screen of the business intelligence unit 30 and issues the search request 1 to the virtual database unit 20.
  • the virtual database unit 20 issues a search command to some of the plurality of databases 1 to execute a search, and integrates two or more search data acquired in each search Thus, search result 1 is created.
  • the business intelligence unit 30 constructs a multidimensional cube for analysis from the created search result 1 and displays one cross section of the cube as a report 1.
  • the displayed report 1 can be switched to another cross section of the cube of the search result 1 by instructing OLAP analysis operations of slicing, dicing, and drill-down.
  • the business intelligence unit 30 uses a search link function for calling the search request 2 from the report 1 created based on the search request 1 based on the definition of the relationship between the search request 1 and the search request 2 in the data dictionary 10.
  • I will provide a.
  • the search request 2 When calling the search request 2 from the report 1, the items and condition values of the extraction conditions included in the search request 1 and the items corresponding to the data selected by the user with the mouse or keyboard for the displayed report 1 And the display value is taken over by the search request 2.
  • the condition value of the related item is replaced with the condition value inherited from the search request 1, A search request 2 is issued.
  • the business intelligence unit 30 issues the search request 2 to the virtual database 20. Then, the virtual database unit 20 executes the search request 2 to create the search result 2 and passes it to the business intelligence unit 30.
  • the business intelligence unit 30 constructs a multidimensional cube for analysis from the search result 2 and displays one section of the cube as a report 2. As a result, the contents related to the user's selection in the report 1 can be automatically retrieved from different viewpoints by the search request 2 and displayed as the report 2.
  • the displayed report 2 can be switched to another cross-section of the cube of the search result 2 by instructing OLAP analysis operations of slicing, dicing, and drill-down in the same manner as the report 1 described above. it can.
  • the movement from the report 1 to the report 2 can be automatically performed without human intervention. Therefore, by defining the relationship between the search request 1 and the search request 2 using the data dictionary 10, the report 1 created from the search result 1 executed for the search request 1 and the search result 2 executed for the search request 2 are created.
  • the reports 2 can be associated with each other, and the reports can be easily moved between the different search results.
  • reports can be similarly linked based on the definition of the relationship between search requests. Based on the association between reports, an OLAP analysis operation can be realized in which a plurality of reports created from different data arranged in a dashboard are sliced, diced, and drilled down at once.
  • FIG. 5 is a class diagram showing an outline of the data structure of the data dictionary 10.
  • the data dictionary 10 is composed of three layers of definition information of a physical data structure, definition information of a virtual data structure, and definition information of a presentation structure.
  • the definition information of the physical data structure defines a physical data structure such as a table or an item necessary for performing a data search by connecting to each of the plurality of databases 1 to be searched.
  • the definition information of the virtual data structure is completely independent of the physical data structure, and the data structure is flexibly defined from the viewpoint of data use according to the usage and purpose, and the physical data is converted into the required data structure.
  • the presentation structure definition information defines a presentation structure for assisting the user in inputting and issuing a search request that matches the search requirements.
  • the definition information of the physical data structure is basically the same as the database definition or a transfer of a necessary part thereof.
  • the definition information of the virtual data structure is usually constructed by a system administrator having knowledge about the database according to the data usage needs.
  • the definition information of the presentation structure may be added / updated at any time according to the authority and role of the user.
  • the data dictionary 10 is connected to an external database to be searched from the virtual database unit 20 and defines information necessary for data search as a physical data structure.
  • the number of databases to be connected is preferably two or more.
  • the case where there are two or more databases includes not only a case where the databases are physically divided into two or more, but also a case where the databases are logically divided into two or more because of the inclusion of heterogeneous data.
  • the definition information of the physical data structure includes “physical database” that is the definition of the database to be searched, “physical table” included in the physical database, and “physical item” definition information included in the physical table.
  • the definition information of "Physical Database” is the definition information that defines database-specific information such as the procedure for connecting to the database, the types of data types that can be handled by the database, the types of functions provided in the database, etc.
  • database-specific information such as the procedure for connecting to the database, the types of data types that can be handled by the database, the types of functions provided in the database, etc.
  • a plurality of “physical databases” are defined.
  • the definition information of “physical table” is the same definition information as the definition of the table (table) stored in the database, or a transfer of a necessary part thereof.
  • the definition of “physical item” is the same definition information as the definition of the item (field) and its attribute included in the physical table in the database, or the transfer of the necessary part thereof.
  • the virtual data structure defines a data structure from the viewpoint of the user or business.
  • the definition information of the virtual data structure basically includes definition information of “virtual database” that is the entire virtual data structure, “virtual table” included in the virtual database, and “virtual item” included in the virtual table. .
  • definition information of a plurality of “virtual databases” may be defined.
  • the definition information of “virtual table” is a set of virtual items that can generate a logically complete and consistent multidimensional data model. A virtual item included in one virtual table can be arbitrarily combined to define a search, and a cube can be created from the acquired data.
  • attributes such as the characteristics and properties of entities (entities) that indicate items that can be specifically identified as business and system recognition targets are defined (for example, “customer”, “product” ”,“ Purchase Order ”,“ Sales ”, etc.).
  • the definition information of “virtual item” includes a definition for integrating a plurality of physical items having different item names as logically the same virtual item. That is, a plurality of physical items having different item names are treated as physically different items. However, even if a plurality of physical items have different item names, they may be logically the same item. Therefore, by defining the correspondence between a plurality of physical items having different item names in the definition information of “virtual item”, the plurality of physical items can be handled as the same virtual item.
  • the virtual data structure has definition information of “virtual table item” indicating a correspondence relationship of “virtual item” to “virtual table”.
  • the virtual items are not directly defined depending on the virtual table.
  • the virtual items are defined in the virtual database independently of the virtual tables, and the correspondence relationship of the virtual items to the virtual table is “virtual table item”. Associating as. As a result, even if different virtual tables are logically the same item, the same virtual item is assigned.
  • virtual table item By providing the definition information of “virtual table item” in this way, it is possible to determine whether or not the virtual item is the same between different virtual tables, and the same virtual item is guaranteed to have a common attribute. Therefore, by referring to the virtual table item, it is possible to take over the extraction condition and the selection condition even between search results created by searching different virtual tables.
  • the same item in different virtual tables in the same virtual database is discriminated by the restriction that the name of the virtual item is unique in the virtual database.
  • this can be dealt with by giving an alias for each virtual table to the virtual table item.
  • the same item between different virtual databases is identified by defining a virtual item for each virtual table, and the definition information indicating that the same virtual item is different between different virtual tables. This is done by adding items to each other.
  • the definition information of the “virtual table item” constituting the “virtual table” is divided into items handled as data total items (dimensions) in the cube and items handled as value items (measures) in the cube.
  • the definition information of “virtual table item” includes a set of related virtual items to represent an entity with multiple attributes in addition to simple data types such as normal character type, numeric type, and date type.
  • One virtual item (class virtual item) can be defined as follows. In particular, for a set of a plurality of virtual items that have a hierarchical relationship, a hierarchical class virtual item can be defined.
  • the virtual data structure definition information includes definitions necessary for converting data stored in multiple databases with physical data structures into virtual data with virtual data structures using the virtual database function.
  • the virtual data structure for this includes, for example, definition information of “calculation table”, “calculation item”, “physical table join definition”, and “calculation table application definition”.
  • the definition information of “calculation table” includes the definition information of “external calculation table” that directly searches the external database and the definition of “internal calculation table” that searches other calculation tables including the external calculation table. Consists of information.
  • the definition information of “calculation item” is defined at most for each virtual item for each calculation table. If no calculation item is defined for a virtual item in the calculation table, the virtual item is calculated in the calculation table. It shall not be possible.
  • the definition information of the “external calculation table” is definition information regarding a set of calculation items that can be calculated simultaneously from the database, and the external calculation table is associated with one database.
  • the definition information of the “external calculation table” is a search means using SQL for the physical table of the database, a search means using a stored procedure stored in the database, or a database Search means (internal view) for searching again a search result with a search result directly defined in the SQL language as a search target is provided.
  • the external calculation table includes search means corresponding to the search interface of the database.
  • the external calculation table can include a search command execution unit corresponding to the data file.
  • the definition information of the “external calculation table” allows a plurality of physical tables included in the database to be searched by defining mutual join conditions of a plurality of physical tables by “physical table join definition”.
  • the “physical table join definition” is expressed as a tree structure or network structure in which the physical table used as a default in the external calculation table is the top-level root and the physical table that is supplementarily joined and referenced is the lower child. The Specifically, this definition information automatically adds a necessary join condition between physical tables when a database search command is generated.
  • the calculation items of the external calculation table include physical items of the physical table that are defined to be combined and definition information such as calculation definition formulas and selection condition formulas that are described in a database-specific grammar.
  • the calculation item of the external calculation table is used to automatically add a calculation method for the calculation item when the database search command is generated.
  • Internal calculation table In the definition information of “internal calculation table”, it is possible to define a data integration process in which outputs of one or more other calculation tables including the external calculation table are input and integrated into one processing result. In addition, an instruction related to data processing such as item editing, classification / aggregation, and rearrangement can be defined in the calculation item of the internal calculation table.
  • the “calculation table application definition” is definition information of a relationship between calculation tables that can be applied to a specific virtual table at the time of retrieval.
  • one internal calculation table corresponding to the virtual table is represented by a tree structure having the highest root and one or more external calculation tables having a terminal leaf, or represented by a network structure. You can also.
  • one or more calculation tables can be arranged in the lower order, and the output of the lower calculation table becomes the input of the upper internal calculation table.
  • the calculation table application definition can include a method for integrating the outputs of the plurality of lower calculation tables with the upper internal calculation table. In this embodiment, the merge method, the selection method, the reference method, and any combination thereof are included. Can be specified.
  • the calculation table application definition has one upper internal calculation table and one lower external calculation table.
  • the internal calculation table integrates the outputs of one or more other calculation tables as inputs, and outputs one or more processing results according to the conditions.
  • the presentation structure may include a definition for assisting the user in inputting and issuing a search request that meets the search requirements, and a definition for outputting the search results to the user.
  • the definition information of “search request” indicates “search table” that specifies the virtual table to be searched, “extraction condition” that specifies the search range of data in the virtual table, and virtual items that acquire data as search results It includes definition information for “display items”.
  • search history such as search date / time, search performer, search status, report output status, etc. in the presentation structure and the “search” "Result" data is managed.
  • the definition information of “search request” includes definition information for managing the relationship between different search requests.
  • the definition information of “search request” includes a plurality of search requests that are related to each other even if the search target database and a plurality of search requests with different conditions for extracting data from the database are different. Is defined.
  • the definition information of “search request” can include the setting of “search link” for associating each other with reports targeting different search results.
  • search link the association between different search results is realized by assigning a common “virtual item” to “extraction conditions” or “display items” of different search results.
  • the presentation structure can include a “dashboard”.
  • the dashboard is a function to display one or more reports from various viewpoints required by the user in a single view.
  • the search request for each report and the report of the search result corresponding to the search request Includes definitions such as output method and layout.
  • the extraction conditions of a plurality of reports in the dashboard target a common “virtual item”, they can be collectively specified as “dashboard extraction conditions”.
  • a plurality of reports that refer to different search results in the dashboard can be collectively analyzed.
  • the presentation structure further includes a “library”.
  • the library stores templates or dashboards for report search requests created by the user. By restricting the user authority to view and edit the library, it is possible to share a report search template or dashboard among authorized users.
  • FIG. 6 shows a functional block diagram of the business intelligence unit 30 in the present embodiment.
  • the business intelligence unit 30 includes, for example, a search request issuing unit 31, a report output unit 32, a library management unit 33, a search history management unit 34, a search link unit 35, a dashboard display unit 36, and It is composed of dashboard interlocking means 37.
  • the operation of the business intelligence unit 30 can assume a plurality of usage patterns depending on the role and purpose of the user. For example, in a free search for power users and management staff, the search request issuing means 31 is used to issue a search request by arbitrarily setting an output item, an output format, a condition item, etc. Create reports freely.
  • a search template in which output items, output formats, condition items, etc. are fixedly set is called from the library management means 33 or the like, and a search request is made by changing only the condition values.
  • a search request is made by changing only the condition values.
  • a search result searched by the user or another user in the past from the search result list or the like is called from the search history management means 34 and browsed. In this case, it is not necessary to use the function of the search request issuing means 31 directly.
  • FIG. 7 shows a screen image when the search request issuing means 31 is functioning.
  • the search request issuing means 31 supports input of the user terminal 2 based on the presentation structure definition information registered in the data dictionary 10, and issues a search request that matches the search requirements input by the user terminal 2. Can be issued.
  • the search request issuing means 31 has, for example, a “search target selection function”, an “extraction condition setting function”, a “display item setting function”, and a “search request issue function”.
  • the search target selection function it is possible to select a virtual database and a virtual table, select an arbitrary virtual item from the displayed list of selectable virtual items, and add it to the extraction condition item or the display item.
  • the virtual item “product” is selected from the virtual table “shipping result” included in the virtual database “sales result” and added to the extraction condition item and the display item. It is shown.
  • various condition setting dialogs such as a numeric type, a character type, a date type, and a menu selection type assigned to each virtual item are displayed. Therefore, the user can easily set the extraction condition according to the screen instruction.
  • the display item setting function you can specify the display items to be displayed in the report of the search results, and for the display items, specify the row / column in the case of cross tabulation, the priority order of the display items in sorting, the alignment direction at the time of sorting, You can set the presence of subtotals.
  • the search request issuing function the subject of the report is set, and when all the settings are completed, the search execution is instructed. In this way, a search request is issued by the search request issuing means 31. Then, the search request issued by the search request issuing unit 31 is transmitted to the virtual database unit 20 and transmitted to the search history management unit 34 as shown in FIG.
  • the report output means 32 displays the search results acquired from the virtual database unit 20 on a user terminal as a report, basically one table or graph on one screen, as well as spreadsheet software, CSV file, or HTML file. Can be output externally.
  • the report output means 32 not only displays the search results directly, but also reorganizes the search results to create a multi-dimensional multi-hierarchy cube, groups the search results by specific items, and aggregates them. And a function for cross-tabulating by specifying column items, a function for sorting searched data by specific items, and a function for adding a value calculated based on the searched data.
  • Display items for search requests can identify and classify data, and can be a heading item (dimension) that becomes a label for rows and columns, and a value item (major measure) that defines attributes to be analyzed and aggregates values. ).
  • each value is displayed for the heading item specified in the search request, and the total value collected by the heading item is displayed for the value item, and the report is output.
  • an aggregation level can be set for the headline item of the search request. When there are a plurality of heading items having the same aggregation level, the aggregation operation such as grouping and total calculation is not performed for each individual heading item, but the combination of the heading items having the same aggregation level is performed as a unit.
  • the header item is displayed only in the header item higher than the certain aggregation level.
  • the aggregated value aggregated only by the heading items higher than the certain aggregation level is displayed and the report is output.
  • the user terminal (2) selects specific data of the report of the certain aggregation level, the detail record of the aggregation level one level lower than that is displayed on the user terminal (2).
  • Slicing can be realized by changing the specification of the extraction condition included in the search request, and dicing can be realized by changing the specification of the display item included in the search request.
  • the report output means 32 creates a table, a graph, and the like after the data analysis operation and provides the user terminal 2 again. As shown in FIG. 6, the report created by the report output unit 32 is transmitted to the search link unit 35 and the dashboard display unit 36.
  • the library management means 33 can be reused as a search template for a standard search by storing search requests created based on user search requirements and sharing them among authorized users according to the user's authority. Like that.
  • the library management unit 33 stores search results corresponding to search requirements that the user has searched in the past, and allows the user or other users to refer to the search results as a report. Thereby, it has a role which supports sharing of information and analysis know-how between users.
  • FIG. 8 shows a screen image when the library management means 33 is functioning.
  • the search request library is created in units of virtual databases or in groups of specific users, and registered search requests are displayed in a list.
  • the search request registered in the library can be referred to by a user who has reference authority even if it is not the registrant himself.
  • the library management means 33 has a function for periodically executing a search, and a general search result is periodically generated by executing a search based on a specified search requirement. Reports that users use on a daily basis can be created in advance without searching each time.
  • the search request created by the user is transmitted to the search request issuing means 31 and the dashboard display means 36 via the library management means 33.
  • the search history management means 34 stores the search results corresponding to the search request for a certain period or a certain number of histories based on the designation of the user terminal 2. Therefore, as shown in FIG. 6, the search history management unit 34 receives the search request issued by the search request issuing unit 31 and the search result acquired from the virtual database 20 in response to the search request. Is done.
  • the search request displayed from the search request library is selected with a mouse or the like, for the search request for which search history retention is specified, the date and time of the most recent search is displayed as a search history in the menu. If you select from among them, a report of the search results is displayed on the screen.
  • “New Search” is selected from the search history menu.
  • search history retention it is possible to specify to retain search results for a certain period of time such as year, month, week, day, or a certain number of times of history and register them in the search history management means 34.
  • users with various roles and skills can obtain standardized and stable quality reports immediately without searching each time, and share information among users. Becomes easy.
  • the dashboard display means 36 collects information from various viewpoints required by the user as one report and displays it on a display unit (display) of the user terminal 2 with a plurality of tables and Graphs can be placed. Since the individual tables and graphs in the dashboard are displayed using the search request instruction section and the report display section, they can basically operate independently.
  • the dashboard can be registered in the library in the same manner as the search request, and can be reused as a template or past search results can be referred to.
  • the present invention has a function capable of handling data including inconsistency in addition to a general function as business intelligence. Therefore, the present invention includes a search link means 35 and a collective operation function for a plurality of reports as functions for associating and manipulating a plurality of reports spanning a plurality of search results created from a plurality of search requests. In addition, the present invention has a function of defining a set of a plurality of related virtual items such as a master table as a class virtual item that can be commonly used in a plurality of search requests. It becomes easy to relate and process as an item.
  • the search link means 35 can associate each other with respect to reports targeting different search results.
  • the search link means 35 realizes movement to other related reports while taking over the extraction conditions and selection contents of the current report.
  • FIG. 9 shows a screen operation image of the search link means 35.
  • a report that can be linked by first selecting one data (record) of a table or graph displayed on the user terminal and performing an operation such as a mouse click or a button press.
  • a list of is displayed on the menu. For example, in the example of “search link from the table” shown in FIG. 9, by selecting the quantity P of the product P of the B industry: 120 from the data (record) included in the table of a certain report, A window appears, and within that window, you can see a menu of other reports that can be linked from this selected data, such as “Transition by Month of Sales”, “Details by Person in Charge”, and “Sales Profit Margin”.
  • the condition item and condition value of the extraction condition included in the search request for the currently displayed report, and the display item corresponding to the record selected in the search result And the display value is inherited.
  • the condition value is replaced with the inherited condition value, and then the link destination search request is executed to perform the search.
  • the result is acquired and the screen is switched.
  • the report displayed as a menu in the search link list is set by associating an arbitrary search registered in the library with the search request of the link source, and when the search request of the link source is saved in the library, the menu is displayed.
  • the displayed report information is also saved.
  • the association (link) between a plurality of reports as described above is based on search request definition information in the data dictionary 10. That is, in the data dictionary 10, the search request definition information includes a plurality of search requests that are related to each other even if the search target database and a plurality of search requests with different conditions for extracting data from the database are included. It is defined that it has sex. For this reason, first, the search link means 35 refers to the search request definition information in the data dictionary 10 and confirms whether or not a certain search request is associated with another search request in this definition information. Thereby, the search link means 35 can grasp the relevance between a report created based on a certain search request and a report created based on another search request. Then, when data of a certain report is designated, the search link means 35 refers to the definition information of relevance included in the search request of the data dictionary 10 and has data associated with the designated data. Other reports are displayed on the user terminal. This links between reports.
  • FIG. 10 shows a flow of processing for taking over the extraction conditions and selection contents that can be associated with each other in the search link means 35 even for reports targeting different search results.
  • the search link means 35 acquires one extraction condition from a search request for a report as a link source (S1).
  • the search link means 35 refers to the data dictionary 10 and acquires one extraction condition from a search request for a report to be linked (S2).
  • the search link means 35 refers to the data dictionary 10 to determine whether or not the virtual item of the link source extraction condition and the virtual item of the link destination extraction condition are associated with the same item. (S3).
  • the search link means 35 The condition value is replaced with the condition value of the link source extraction condition (S4).
  • the search link means 35 similarly investigates the extraction conditions for the next link destination (S5). If it is determined that all the link destination extraction conditions have been investigated, the process proceeds to the next link source extraction condition investigation (S6), and there is still an unprocessed extraction condition in the link destination search request. If it is determined, the process returns to step S2.
  • step S6 the extraction conditions for the next link source are similarly investigated (S6). If it is determined that all the link source extraction conditions have been investigated, the process proceeds to the next step S7. If it is determined that there are still unprocessed extraction conditions in the link source search request, the step is performed again. Return to S1.
  • the search link means 35 takes out the record selected with the mouse or the like on the screen from the search result of the report as the link source, and acquires one display item / display value pair of the selected record (S7). .
  • the search link means 35 acquires one extraction condition from the search request for the report to be linked (S8).
  • the search link means 35 refers to the data dictionary 10 to determine whether or not the display item of the link source selection record and the virtual item of the link destination extraction condition are associated with the same item. (S9).
  • the search link means 35 determines the link destination extraction condition.
  • the condition value is replaced with the display value of the display item of the link source selection record (S10).
  • the search link means 35 similarly investigates the extraction conditions for the next link destination (S11). If it is determined that all the extraction conditions for the link destination have been investigated, the selection record for the next link source is determined. If it is determined that there is still an unprocessed extraction condition in the link source search request, the process returns to step S8 again. Thereafter, in step S12, the display item of the next link source selection record is similarly investigated (S12). If it is determined that the display items of all the link source selection records have been investigated, the takeover process is terminated.
  • the search link means 35 issues a search request for a link destination report in which the extraction condition is replaced to the virtual database unit 20, and obtains a search result for the link destination in which the extraction condition and the selected content are taken over.
  • the search request for the link source report and the search request for the link destination report are to be searched for the same virtual database.
  • the definition of virtual items namely, item names
  • the search target of the link source search request and the link destination search request is a different virtual database, refer to the definition information added to the definition of the virtual item that it is the same virtual item between different virtual tables By doing so, the association can be determined.
  • the dashboard interlocking means 37 can perform a data analysis operation on a plurality of reports created from different search results collectively even in a dashboard in which a plurality of reports are arranged on the same screen.
  • FIG. 11 shows an image of a setting screen for interlocking extraction conditions between multiple reports in the dashboard.
  • the “Add Condition” button is instructed to open the “Add Dashboard Extraction Condition” screen (bottom of FIG. 11).
  • the extraction condition included in the search request for the report to which the extraction condition is to be linked is displayed. Therefore, an arbitrary extraction condition is selected from the extraction conditions displayed on this screen and added to the dashboard extraction condition.
  • the added dashboard extraction condition is displayed in “Dashboard extraction condition list” (left side of FIG. 11).
  • an extraction condition such as “product number” included in a report search request such as “sales list by product” is to be linked with the extraction conditions of other reports.
  • an extraction condition item such as “product number” included in the report search request such as “sales list by product” is added to the dashboard extraction condition.
  • a plurality of extraction condition items having the same semantic content but different names can be linked to each other.
  • extraction condition items other than the extraction condition (product number) selected in the dashboard list can be selected. Is displayed. Therefore, the extraction condition item to be linked with the extraction condition (product number) selected in the dashboard list is selected from the extraction condition items displayed here. As a result, the extraction condition (product number) selected in the dashboard list can be linked to another extraction condition item.
  • the dashboard extraction conditions for which extraction condition links are set in this way are no longer displayed in the list of extraction search conditions at the time of use, and at the time of search execution, the value of the link source dashboard extraction condition is changed to the link destination. It is used as it is as the value of the dashboard extraction condition.
  • a dashboard extraction condition item “product identification code” is already defined in this dashboard.
  • the extraction condition item “product identification code” has the same meaning as the extraction condition item “product number”, but the name is different, it is a different extraction condition item in the processing by the computer. Likely to be treated. Therefore, these “product identification code” and “product number” are linked to each other in the “link with other extraction conditions” portion on the operation screen, so that they differ based on the input operation from the user terminal. Link operations between reports can be performed more accurately.
  • Information regarding the extraction condition item for which the interlocking relationship is specified in this way is registered in the presentation structure of the data dictionary 10.
  • the contents of the data dictionary 10 (particularly the interlocking relationship between the extraction condition items) are updated based on an input operation from the user terminal.
  • the accuracy of the information in the data dictionary 10 can be improved by actually using the system of the present invention.
  • by using a function for linking extraction conditions between a plurality of reports it is possible to link not only when setting extraction conditions but also drill-down of a report on a dashboard. In the initial state, if a dashboard extraction condition item is created with an empty condition value, and drilldown is specified for one of the reports on the dashboard, the item to be drilled down is the dashboard extraction condition item. If so, you can drill down multiple reports on the dashboard by replacing the extraction condition values of multiple reports that can be linked to the extraction conditions with the values specified in the drill down. It becomes possible.
  • Class virtual item Master tables such as “customer”, “product”, and “employee” are mainly used to manage target attributes, and their structures are defined independently of other data. It has the characteristic that it is common to operate items as a whole.
  • the present invention has a class virtual item function that defines a set of a plurality of related virtual items as one virtual item independently of the virtual table. For example, when a class virtual item is selected as a display item by the search target selection of the search request issuing means 31 in the master table holding attributes such as code and name, a plurality of virtual items (for example, , Code and name) can be automatically added to the display items of the search request.
  • a hierarchical class virtual item can be defined for a set of a plurality of virtual items having a hierarchical relationship.
  • the hierarchical class virtual item for example, in the extraction condition setting of the search request instruction section, when one of the upper level item values is selected from the menu display, the lower level item associated with the value is selected. The user can specify a value as a search extraction condition from the values displayed on the menu at an arbitrary level.
  • FIG. 12 shows an operation image of the extraction condition setting screen using class virtual items and hierarchical class virtual items.
  • FIG. 13 shows a functional block diagram of the virtual database unit 20 in the present embodiment.
  • the virtual database 20 includes a search request translation unit 21, a search command execution unit 22, and a data integration processing unit 23.
  • the virtual database unit 20 can receive the search request created by the business intelligence unit 30 and return the data searched in the virtual database unit 20 to the business intelligence unit 30 as a search result.
  • the virtual database unit 20 can be configured to accept a search request created outside the business intelligence unit 30 and can be configured to return the search result to an external output destination other than the business intelligence unit 30. .
  • the description format of the search request received by the virtual database unit 20 is a table to be searched, a list of items to be searched, an extraction condition specification, a grouping specification, a sort order specification, a search result output destination, and a search result
  • the standard SQL syntax can be extended and used, or a dedicated syntax may be used.
  • the search request input to the virtual database unit 20 is first delivered to the search request translating means 21.
  • the search request translating means 21 includes a search request analysis function and a search command generation function.
  • search request analysis function In the search request analysis function, all items appearing in the item list, extraction condition, grouping designation and sort order designation in the inputted search request are converted into virtual items based on the definition information of the virtual data structure in the data dictionary 10. Convert. Further, duplicate virtual items are eliminated and a unique set of virtual items to be included as search targets is created.
  • the search request translating means 21 checks the calculation table based on the calculation table application definition for the extracted virtual item set, and detects one or more suitable calculation tables (hereinafter referred to as the “adaptation calculation table”).
  • the calculation table application definition is represented by a tree structure having one or more calculation tables below one upper calculation table.
  • the terminal node of the calculation table application definition is composed of an external calculation table whose database is a search target, and the other upper nodes are composed of internal calculation tables.
  • the case where the internal calculation table is defined above the lower internal calculation table means that the output of the data integration processing means 23 corresponding to the lower internal calculation table is the data integration processing means 23 corresponding to the upper internal calculation table. This means that the data integration processing means 23 is implemented in multiple stages.
  • the calculation table application definition is traced to detect the optimum match calculation table, and therefore, different match calculation tables may be detected depending on the virtual item.
  • each data acquired by the different search command execution means or different data integration processing means is finally integrated into one search. Provide as a result.
  • the relationship between the upper calculation table and the lower calculation table in the calculation table application definition can be selected from a merge relationship, a selection relationship, and a reference relationship.
  • the method is determined.
  • the procedure for tracing the calculation table application definition and detecting the optimum conformity calculation table is specifically as follows.
  • virtual items used in grouping designation or extraction conditions are referred to as key items, and other virtual items are described as attribute items.
  • the calculation table Is a conformity calculation table.
  • the suitability conditions such as determination by the condition value of the extraction condition are individually specified in the calculation table
  • the suitability calculation table is used only when the search request satisfies the suitability conditions.
  • the items of the lower calculation table are also considered to be computable by the upper calculation table, and the items of the lower calculation table are included in the virtual item set. If there is, the lower calculation table together with the upper calculation table is used as the conformity calculation table. (5) The above procedure is checked in order from the highest level calculation table to the lower level calculation table, and if the calculation table matches, the lower level calculation table is checked in turn and this is repeated. The process ends when there are no attribute items in the virtual item set for inspecting the subsequent calculation tables, or when all the calculation tables have been inspected.
  • search command generation function One or more matching calculation tables corresponding to the search request obtained by the search request translating means 21 are delivered to the search command generation function.
  • the search command generation function generates a search command that can be executed on the search target database 3 and delivers it to the search command execution means 22 when the match calculation table is an external reference table corresponding to the match calculation table. . If the adaptation calculation table is an internal reference table, one or more search commands that can be executed by the data integration processing unit 23 are generated and delivered to the data integration processing unit 23.
  • calculation items that match the key item and attribute item of the virtual item set are set as the calculation item set of each search unit for each of the matching calculation tables.
  • the formula is expanded based on the calculation definition formula.
  • the search command generation function generates one search command from one match calculation table, but generates a plurality of search commands from one match calculation table, or multiple match calculation tables. It is also possible to generate one search command from
  • the search command execution unit 22 executes one or a plurality of search commands created by the search command generation function of the search request translation unit 21 on the database 1, acquires search data as a response to each search command, and temporarily The data is stored in the storage area and sent to the data integration processing function of the data integration processing means 23.
  • a search command execution unit using SQL for a physical table of the database 1 a search command execution unit using a stored procedure stored in the database 1, or the database 1 Any one or more execution means for executing a search command for searching again from the search result with the search result directly defined in the SQL language as a search target may be provided.
  • a search command execution unit corresponding to the search interface of the database 1, and when the database 1 is a data file on the file system, it corresponds to the data file. What is necessary is just to comprise the execution means of a search command.
  • the temporary storage area of the search data may be configured using, for example, a temporary table on the database 1, a temporary table on a specific work database, a temporary file on a magnetic storage medium, a storage area on a memory, and the like.
  • the data integration processing unit 23 executes data integration and data processing based on the search command corresponding to the internal calculation table generated by the search request translation unit 21. Result data obtained by performing data integration and data processing is sent to the output destination other than the business intelligence unit 30 or the business intelligence unit 30 as a search result corresponding to the search request.
  • result data can be output to a database table.
  • the result data can be output to a data file stored in a file system, a data stream sent via a network, or the like.
  • a CSV Common Delimited Variable Length Data
  • HTML format HyperText Markup Language
  • XML format a spreadsheet sheet format, or the like
  • the data integration processing unit 23 performs data integration and data processing by inputting one or more of a plurality of intermediate search data divided and created in the process in the search command execution unit 22. And output the result data as one table.
  • the result data output from one data integration processing unit 23 can be delivered as an input to another data integration processing unit 23.
  • the result data output from the data integration processing unit 23 in the previous stage is output to the data integration processing unit 23 in the subsequent stage according to the order specified in the search command.
  • the processing of the data integration processing means 23 can be sequentially repeated, and the processing of the data integration processing means 23 can be executed in multiple stages.
  • the function of the data integration processing means 23 includes a data integration processing function and a data processing function for processing the integrated data.
  • the data integration processing function In the data integration processing function, one table data is created by performing data integration based on one or more intermediate data.
  • the data integration processing function includes a data integration method such as a merge method, a selection method, and a reference method, and an optimal method can be selected or used in combination. How to use the data integration method for the virtual table specified in the search request is described in the calculation table application definition corresponding to the virtual table in the data dictionary 10.
  • FIG. 14 shows a processing conceptual diagram of these plural data integration methods.
  • the merge method (UNION) generates a plurality of search commands from a plurality of calculation tables applicable to the search request, and merges all of the plurality of search data extracted by executing the plurality of search commands in parallel. First, it makes one table data.
  • the search data of the plurality of calculation tables all include a common key item, but the attribute item is included only in a part of the search data. For this reason, this table data is grouped by all the key items included, and the values of the attribute items are aggregated for each group, thereby eliminating redundant portions (non-normality) where all the key items overlap.
  • the total calculation is performed for numeric type data, and the maximum value calculation for selecting valid values is performed for non-numeric data for null values and valid values. Good.
  • the merge method can retrieve the search data from each database with one search command and can execute multiple search commands in parallel, so the processing performance is high, but the key items required for aggregation are It is a requirement that all of the acquired search data is included.
  • the selection method examines a plurality of calculation tables applicable to a search request in accordance with the priority order, and includes each attribute item on condition that all requested key items are included.
  • the calculation table with the highest priority is selected to generate a search command and executed to acquire search data.
  • a plurality of search commands are generated for a plurality of attribute items
  • a plurality of search data extracted by executing them are grouped and aggregated in the same manner as the merge method to remove redundant portions. .
  • search results have “customer” and “product” as key items, but search data 1 has only “customer” as a key item. Because it is not, do not search.
  • the search data 2 includes “customer” and “product” as key items, the attribute items “unit price” and “quantity” are also acquired from this. Since all attribute items can be acquired in this way, the determination ends here. If a part of the attribute items cannot be acquired, the same determination is further continued.
  • the selection method satisfies the request contents of a given search request when one or more levels of aggregated data are also created and stored in the database for the detailed data stored in a certain database, Further, by automatically selecting a calculation table for which data having the highest aggregation level is to be searched, it is possible to improve the search processing efficiency for the database.
  • one or more related calculation tables are associated with one calculation table. For each record of search data obtained by generating and executing a search command corresponding to the original calculation table, search is performed based on the reference condition defined in the calculation table application definition for each calculation table to be referenced. The result data is calculated using a plurality of search data by transferring the values from the corresponding items of the reference data for the items that are missing from the original search data. In the example shown in the reference method of FIG. 14, “customer”, “product”, and “quantity” are obtained in the first search data 1, but the item “unit price” is missing.
  • the search data 2 is obtained using the product value “product 1” obtained from the search data 1 as a condition.
  • the obtained unit price value “unit price 1” is transferred to the unit price value of the search result.
  • the reference data is obtained by performing a search based on the defined reference condition.
  • the reference condition includes the item of the reference source as a variable of the conditional expression, the reference source and the reference destination If the databases are different, the search cannot be performed directly on the referenced database. For this reason, the reference processing method between different databases requires a mechanism different from the join processing (JOIN) in a normal database.
  • three processing methods are provided as a reference processing method: a sequential reference method, a batch combining method, and a sequential merging method.
  • FIG. 15A and FIG. 15B are process conceptual diagrams of these multiple reference processing methods.
  • the sequential reference method acquires one record at a time from search data acquired by generating and executing one search command.
  • the reference source item included as a variable in the conditional expression of the reference condition is replaced with the item value of the record.
  • the reference condition obtained in this way is added to the search command to acquire reference destination search data, and both records are connected to calculate result data.
  • the above procedure is sequentially repeated for all of the acquired search data. Since the number of reference retrieval commands required is, in principle, the number of reference source retrieval data, processing time tends to increase particularly when a large amount of data is referenced. However, it is possible to incorporate a plurality of records of reference source search data into a single search command combining condition instead of one record of reference source search data. The number is (number of reference source search data / number of records per reference).
  • the batch join method is a search instruction that temporarily stores all data to be searched for a reference source and data to be searched for a reference destination in one work database, and performs a join (JOIN) process on the work database. To calculate the result data at once.
  • a sufficient work area is required in the work database, and the processing procedure is generally complicated.
  • the processing efficiency of the batch joining method the joining process in the work database is usually quite fast, and therefore greatly depends on the transfer efficiency of the data to be joined to the work database, particularly the writing efficiency.
  • any of the databases to be searched may be used as the work database, so if either the reference source or the reference destination data is large and the opposite side is small, the database that stores the large amount of data By transferring the data on the small amount side, it is possible to process at high speed without transferring a large amount of data.
  • data that has a low frequency of data update and that can be stored statically is transferred to the work database in advance, thereby improving the processing efficiency of the reference search.
  • the data to be searched for the reference source and the data to be searched for the reference destination are rearranged in advance in the order of the condition values of the reference condition, and then the reference source record and the reference destination record are read sequentially.
  • the condition values of the reference conditions are compared, and result data is calculated for those that match the condition values.
  • FIG. 16 illustrates the processing concept of the sequential merge method.
  • the reference source data includes “shipping destination code”, “product code”, and “quantity”.
  • the reference destination data 1 includes “shipping destination code” and “shipping destination name”.
  • the reference source data is rearranged by the shipping destination code
  • the reference destination data 1 is rearranged by the shipping destination code.
  • the reference source data and the reference destination data 1 are sequentially read.
  • the shipping destination name is transferred to the reference destination data 1
  • the other items are transferred from the reference source data
  • the intermediate data is transferred. create.
  • the intermediate data and the reference destination data 2 are similarly sorted by the product code.
  • the intermediate data and the reference data 2 are sequentially read, and for the records with the same product code, the product name and unit price are transferred to the reference data 2 and the other items are transferred from the intermediate data to create result data. . If there are a plurality of records having the same condition value in the reference source data or the reference destination data, a plurality of result data are output to generate result data for each record.
  • FIG. 17 shows a specific processing flow of the sequential merge method.
  • the reference source data is sorted by all the reference source items included in the reference condition
  • the reference destination data is sorted by all the reference destination items included in the reference condition.
  • the rearrangement order is such that the condition values of the reference conditions are in ascending order. (In descending order, the following magnitude relationship may be read in reverse.)
  • one record is read from the reference source. Records are also read from the reference destination, but if there are multiple records with the same condition value, all the records with the same condition value are read to form a record set.
  • a size comparison is performed between the condition value of the reference condition based on the field value of the reference source record and the condition value of the reference condition based on the field value of the reference destination record.
  • condition value of the reference source record is small, the next reference source record is read and the condition values are compared again. If the condition value of the reference record set is small, the next reference record set is read and the condition values are compared again. If both condition values are equal, that is, the reference condition is satisfied, one item is taken out from the reference destination record set as a reference destination record, and the missing items of the reference source record are transferred from the reference destination record. , Output the result data. This process is repeated for all the records in the reference record set. As a result, when the condition value of one record of the reference source and the n record of the reference destination correspond, the result data is output n records.
  • the next reference source record is read, and the condition values are compared again in magnitude.
  • the reference destination record set remains as it is after the record is output, if the condition value of the reference source m record corresponds to the condition value of the record set including the reference destination n record, the result data is m ⁇ n records are output. This is the same result as the process of combining records including SQL key duplication. Thereafter, this procedure is repeated until all reference source records or all reference destination records are processed.
  • the sequential merging method it is necessary to rearrange the data to be searched in advance, but since the reference process is completed by sequentially reading all the records once, the processing time is extremely stable. However, if only some of the records are required, it is not very suitable because all records need to be read. In addition, since all the processes including the rearrangement process and the reference condition comparison process can be configured by sequential processes, the memory consumption is extremely small, which is suitable for processing a large amount of data. In particular, when a plurality of large amounts of data must be combined, the sequential merging method has a great effect.
  • the optimum integration method can be selected from a plurality of methods, or a combination of a plurality of integration methods can be used.
  • An optimum reference processing method can be selected from the methods, or a plurality of reference processing methods can be used in combination, so that optimum integrated processing efficiency can be realized in various situations.
  • Data processing function In the data processing function, the following processing is performed on one table data obtained by the data integration processing function, and the result data is output as result data matching the instruction content in the search instruction.
  • (1) Grouping by key item and aggregation of attribute item values for each group Data editing processing such as code conversion (3) When data extraction conditions are specified, data extraction processing by specifying specific value range conditions, character string pattern matching, etc. (4) Output order specified in search command If so, sort
  • the data processing function can be provided with a function for performing an operation that depends on the relationship / order between records, which is difficult to process by a scalar operation in a record. Examples of such functions are given below.
  • Cumulative processing such as 1st total, 1st and 2nd total, 1st, 2nd and 3rd total (2) 1st total, 1st and 2nd total, 2nd and 3 Moving total processing such as 3rd sum, 3rd and 4th sum (3) 1st value, 2nd and 1st difference, 3rd and 2nd difference, etc.
  • Processing by record order such as immediately preceding record, immediately following record, etc.
  • Statistical processing such as variance, correlation, estimation, and testing
  • Such processing can be realized even by using an SQL analysis function.
  • the SQL analysis function is a process on a memory, so that the amount of data that can be processed is limited. Yes, not suitable for processing large amounts of data . Since the data processing function of this embodiment is premised on stream processing, there is an advantage that the amount of memory consumption is extremely small and suitable for processing a large amount of data.
  • the data integration processing means 23 performs data integration processing and data processing processing. For this reason, in the search command generation function of the search request translating means 21, it is important to generate a search command so as to minimize the number of records of result data from the database to be processed. Thereby, the communication overhead due to the transfer of the result data can be reduced and the processing efficiency in the data integration processing means 23 can be improved. For this reason, the search command generation function takes the following measures.
  • FIG. 18 shows a conceptual diagram of processing of the search data cache.
  • the search data cache creates table data as a result of data integration processing, or intermediate search data that is created in the course of processing in the database search execution function, and creates it in the external storage area for the search data cache. This is realized by referring to the data stored in the external storage area for the search data cache instead of the database when executing the search.
  • the timing for pre-storing in the external storage area for the search data cache can be set arbitrarily, such as a fixed date and time specified by the administrator, the first search by the user, or activation by an external event such as data update.
  • the expiration date of the search data cache can be set by the administrator's specification, and the search data cache can be recreated when the expiration date is exceeded.
  • the search data cache should be created for each virtual table or calculation table, including all items that can be selected by the user, and all extraction values that can be specified by the user including all values. Can be. As a result, the search data cache becomes effective for all searches for the virtual table or the calculation table, and the search processing efficiency is increased.
  • the present invention has a function capable of executing the processing of the data integration processing means 23 in multiple stages.
  • the necessity of such multi-stage data integration processing includes the case of obtaining the number of specific objects, the case of obtaining the overall composition ratio, the case of obtaining the appearance frequency, or the case of outputting only the upper / lower n cases. In particular, it often occurs at the stage of statistical processing such as indexing of search results.
  • the present invention by defining multi-stage data integration processing together with virtual items to be applied in the calculation table application definition of the data dictionary, it is automatically performed for each virtual item in response to a search request from the user. It is possible to determine the necessary number of stages of data integration processing, and to execute an appropriate number of stages of data integration processing.
  • the database stores a plurality of shipping data (physical tables: T1 and T2) divided for each store, and each includes items corresponding to products, shipping destinations, and shipping quantities.
  • T1 and T2 have different parts indicated by “...” That are not used in the search, and the names of the registered items are different (“Dealer name”, “Dealer”, “Product name”). And “Product” etc.), the data format is different.
  • the final result data R corresponding to the search request can be obtained by collecting the data of the first result data (V1) and the second result data (V3).
  • the number of steps of data integration processing necessary for obtaining the search result is automatically determined based on the data dictionary, so that the user does not need to be aware at all.
  • a user simply issues a search request for a report including complicated or advanced statistical processing that has been difficult to obtain directly from a database. This makes it easy to obtain data and eliminates the need for manual data processing in advance or after the fact. That is, it has a feature that it can flexibly cope with more complicated or advanced search requirements as compared with a conventional virtual database.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【解決課題】単一のキューブでは対応が困難な不整合を含むデータを分析するためのデータ検索ツールを提供する。 【解決手段】データ検索ツールであって、仮想データベース部の機能とビジネスインテリジェンス部の機能を一体のソフトウェアとして融合し、異なる検索要求間の関連性を管理することのできる単一のデータ辞書で制御することにより、異なる検索要求に基づいて複数のデータベースからそれぞれ取得したデータを統合して複数の検索結果を作成し、複数の検索結果から得られる複数のレポートを自動的に関連付けて操作することを特徴とする。

Description

データ検索装置、プログラム、及び記録媒体
 本発明は、複数のデータベースから汎用的にデータを検索するデータ検索装置に関する。
<BIツール>
 BI(Business Intelligence)は、業務システムなどから蓄積される企業内の膨大なデータから、ユーザが必要なデータを自分で自在に分析して経営計画や企業戦略などの企業の意思決定に活用しようとする手法である。このために使われるBIツールは、システムやプログラミングの詳しい知識がない利用者でも利用できるよう、ユーザが対話的に指示を与えることができる直観的なヒューマン・インターフェイスを備えており、普段利用しているビジネス用語で検索や分析を行うことができ、その結果を多様な形式で柔軟にレポーティングできるようになっている。
<OLAP>
 BIツールのデータ分析は、OLAP(online analytical processing)と呼ばれる多次元分析の手法を用いて行われる。
 OLAPでは、操作の対象となるデータを、複数のデータ集計項目(ディメンション)と定量的な値項目(メジャー)のセットとして定義される多次元データ構造をもつキューブとして扱う(CODD:多次元的概念ビュー)。
 また、データは、完全で一貫性があることが前提条件である(CODD:次元の一般性、制約のない次元間の演算処理)。
 OLAPにおいては、論理的には多次元の分析用キューブから、一般的には2次元のデータを取り出して表、グラフ、チャートなどの形式で表示し、スライシング、ダイシング、ドリルダウン/ロールアップのデータ分析操作により表示を切り替え、これを繰り返すことによりキューブの多次元的な側面の分析を行う。
・スライシング・・・多次元データの特定のメンバだけをある断面で切り取って、2次元の表にする。
・ダイシング・・・縦横の項目を入れ変えて、多次元データの全く違う面を2次元の表にする。
・ドリルダウン/ロールアップ・・・集計された結果から掘り下げて、さらに詳細な内訳データを表示する操作をドリルダウン、逆の操作をロールアップという。
<DWH、DM、ETL>
 一般に、企業などの組織では複数の業務システムが稼動しており、様々なソースにデータが分散しているため、データ分析するには、これらのデータを一旦整理統合する必要がある。
 複数の業務システムから収集したデータを時系列に蓄積し、大量のデータを分析して意志決定に役立てる手法として、データウェアハウス(DWH)がある。また、データマート(DM)は、通常データウェアハウスより小規模で、特定の題目または部門に必要なデータを集め、経営幹部がビジネスについての戦略的な決定をするのを支援する。データウェアハウス、データマートなどに蓄積されたデータから検索した検索結果を再編成し、多次元多階層のキューブとしてOLAP分析に用いる。
 業務システムで発生したデータをデータベースに収納してデータウェアハウスやデータマートを構築するために、ETL(抽出、変換、ロード)作業が必要となる。最近では、データベースへのロード工程に必要な機能をあらかじめ備えたETLツールが使用されることが多いが、複数の異なる情報源から非同期にデータを供給されるため、一般に非常に複雑な作業となる。
特許第3213585号
 BIツールによるOLAPは、多次元データ構造をもつ単一のキューブを前提として、高度なデータ分析のため手法を提供している。
 しかし、現実の世界では、完全かつ一貫性のあるデータを入手することは困難な場合も多く、またそのためのデータ整備に多大なコストがかかったり、データ整備や集計の段階で重要な情報が欠落したりしてしまう場合がある。
<小粒度における不整合(明細データに共通キー項目が含まれない)の例>
 図1を参照して説明する。例えば、商品別・得意先別に「売上高」が定義され、商品別・仕入先別に「仕入高」が定義されているものとする。商品については「粗利益額」を[商品別に集計した売上高-商品別に集計した仕入高]として算出することができる。さらに商品別レコードを集計することによって、全社レベル(全社レベル)の「売上高」、「仕入高」、「粗利益」をレポートする(ロールアップ)こともできる。
 しかし、商品別レコードから得意先別の明細を見たいと思うと、得意先別の「仕入額」と「粗利益額」は明細レベルでは定義されていないため、同一のキューブをドリルダウンして見ることはできない。
 一方で、単独の「売上高」については、得意先別・商品別を集計して全社レベルの売上高レポートすることができ、そこからは得意先別、さらに得意先別・商品別とドリルダウンすることができる。「仕入高」についても同様である。
 この例の場合、「粗利益額」という値項目(メジャー)は「得意先」および「仕入先」をデータ集計項目(ディメンション)に含まない上位の粒度(階層レベル)においてのみ定義されており、「売上高」は「仕入先」を含まない全階層、「仕入高」は「得意先」を含まない全階層で定義されている。
 したがって、これらの「売上高」、「仕入高」、および「粗利益額」のデータをすべて参照しようとすると、1個の分析用キューブでは不可能であり、3個のキューブを用意しておく必要がある。
<大粒度における不整合(集約データへの統合処理の制約・限界)の例>
 図2を参照して説明する。例えば、多国籍企業では、それぞれの国で異なる通貨で会計処理を行っているため、複数国の企業の連結を行うには、基準通貨への換算を行ってから合算をする必要がある。通貨間の為替レートは刻々と変動しているために、ある時点のレートで換算して連結ベースでの報告書作成や評価は可能である。しかし、基準通貨で合算する際には、換算前の金額や通貨などの項目は集約できないため、切り捨てられてしまう。
 また、法制度やルール、システムなども、複数国の企業間で決して同じではないため、データ統合により全体をマクロに把握することはできても、集約した結果見えなくなるデータはきわめて多い。そのため、具体的なアクションをとるための分析では、連結ベースでの集約データではなく、個別の原データを見る必要がある場合が多い。
 現実の世界では不整合を含むデータが随所に存在しているが、このような不整合を含むデータを分析するためのアプローチは、以下のような理由から実現できていなかった。
(従来のデータ統合手法(単一キューブ)の限界)
 完全で一貫性のある単一のキューブであれば、上位階層のデータは下位階層のデータを集約することにより生成できるため、比較的少ない種類のデータを業務システムから収集してデータベースに保持すれば済む。このため従来は、企業の中核的なデータに範囲を限定して、業務システムから収集したデータを整形(クレンジング)して、一旦データウェアハウスやデータマートに蓄積し、ここからキューブを切り出すことにより、できる限り完全で一貫性がある多次元データモデルとして分析に提供してきた。
 しかし、不整合を含むデータを分析するには、不整合のある部分を回避して、それぞれをモデル化が可能な部分に分けて、複数のキューブを構築する必要がある。このために必要なキューブの個数は、不整合を含むデータの種類や項目数により級数的に増加し、あらゆる場合に対応しようとすると理論的には膨大な個数となってしまうため、このようなケースへの対応は困難とされてきた。
 企業活動の複雑化・多様化、管理の高度化などの要因から、マネジメントの関心は特定の問題領域から企業活動全般へと拡大しており、これに伴い企業内外のあらゆるデータが分析対象となる可能性を持ってきている。
 しかし、企業内のあらゆる業務システムのデータを複製して分析データとして提供することの費用対効果は、企業が保有するデータの種類や量から見ても明らかに非現実的である。
 また、業務データは日々刻々と変化しているにもかかわらず、データウェアハウス更新のためのデータ複製に要するバッチ処理の時間を考えると、最新データの分析データとして提供は困難である。
 さらに、そもそも独立して動作している複数の業務システムのデータを統合するには、相当なエンジニアリング作業が必要であり、統合するシステムの数が増えれば増えるほど、その労力は飛躍的に増加する。しかし、本当に統合・集約が必要とされているデータはその中の一部であり、むしろサマリーせずに業務システムデータを直接分析する方が有効な局面も多々ある。
 したがって、データを一括で複製して再構築し、不整合を含まないキューブとして提供する従来のデータ統合手法は、コスト、時間、情報ロスといった面で、より高度で広範な分析を要求する企業ニーズに合わなくなってきている。全体では共通化可能な範囲で関連付けを行ってデータ統合を行い、詳細については業務システムの原データを生かして、それぞれのデータを直接分析するような、ユーザの分析ニーズの実態を踏まえた柔軟なアプローチが理想といえる。
(単一キューブにもとづくOLAP分析の限界)
 一般のOLAP分析では、単一のキューブを対象としては、効率よくデータ分析を行うことができる。しかし不整合を含むようなデータを互いに関連する複数のキューブとして分析する場合には、それぞれのキューブの間に深い関係性があるにもかかわらず、その関係性を管理・利用する方法がなかったため、それぞれ全く別のキューブとして扱うしかなかった。
 そのため、あるキューブを分析している過程で関連する別のキューブを参照するといった場合でも、それまでの分析内容の引継ぎや関連する項目のガイダンスといったユーザサポートは提供されず、新たに別のキューブを開いて最初から処理を始めるしかなかった。
(複数キューブに対する従来のBIツールの表現方法の限界)
 BIツールは、1つのデータから論理的に多次元の分析用キューブを構築し、そこからデータを取り出して基本的には2次元の表、グラフなどの形式で表示し、スライシング、ダイシング、ドリルダウンの分析操作により表示を切り替えて多次元的な側面の分析を行う。
 しかし、不整合を含むデータを扱う場合には、複数のデータの関連する内容を包括的に把握する必要があるため、単純な2次元の表やグラフだけでは表現することが難しい。
 このためには、例えば、様々な情報源から集めたデータを、グラフィカルなレポートとして同一画面上に複数配置し、多様な視点からの情報を一度に表示するダッシュボードは、かなり有効な手法である。しかし、従来のBIツールのダッシュボードでは、切り出した情報を静的に並べて表示することはできたが、異なるデータを対象とする複数のキューブに対して一括して同時にスライシングやドリルダウンなどを行う機能は、異なるデータ間の項目の関連性が定義できないためサポートできておらず、不整合を含むデータの多次元的な側面の分析は非常に手間がかかった。
 さらに、あるレポートから関連する異なるデータを対象とするレポートへ遷移する場合には、データ間の関係性を定義する手段が提供されていないのみならず、スライシング、ダイシング、ドリルダウンといった単一キューブを前提とする単純な分析操作には当てはまらないケースも多々存在し、異なるデータ間のレポート遷移を従来のBIツールで実現することはきわめて困難であった。
 このため、本発明は、企業などで、複数の業務システムに分散した関連するデータを収集して分析する場合のように、単一のキューブでは対応が困難な不整合を含むデータを分析するためのデータ検索ツールを提供することを目的とする。
 上記の目的を達成するために、本発明では、基本的に、
・仮想データベースの機能とBIツールの機能を一体のソフトウェアとして融合し、
・複数の検索間のデータ関連性を管理することのできる単一のデータ辞書で制御する、
ことにより、
・複数のデータベースからそれぞれ取得したデータを統合して検索結果を作成し、
・複数の検索結果から用途・目的に応じて複数のレポートを作成し、
・作成された複数のレポートを自動的に関連付けて操作する、
ことを特徴とするデータ検索ツールを提供する。
<複数のデータベースからのデータを統合する仮想データベース機能>
 従来の手法では、複数の分散した関連データを複製してデータウェアハウスなどに蓄積し、ここから分析のためのキューブを切り出す。しかし、従来の手法によると、不整合を含むデータを分析する場合には、分析するキューブが局面やパターンにより異なってくるため、蓄積する必要のあるデータの種類や量が膨大になってしまう。
 これに対して、仮想データベース(EII(Enterprise information integration)あるいはFederated database systemとも呼ばれる)によれば、分散したデータを移動や複製をすることなく、利用者は単一の問合せで複数データベースに対する検索を行うことができる。仮想データベースは、各種の定義やルールを持つだけのあくまでも論理的なものであり、実際のデータは実行時に必要なデータだけをもとに仮想的かつリアルタイムに作られる。
 したがって、仮想データベースは、無駄なデータ複製を行う必要がないため柔軟性が高く、業務データの容量の増大やデータベース数の増大に対応しやすいとともに、複数のデータウェアハウスやデータマートをまたがるようなデータ統合あるいは外部データとのデータ統合も可能となる。また、複製データを格納するためのサーバやデータベースのコストが不要となり、データ管理やデータ品質維持、システム改修・変更のための運用・保守コストを低減することができる。さらに、仮想データベースは、DWHのようなデータの再構成作業が不要で、データ生成のタイムラグがないため、リアルタイムに直近データを取得することができ、業務の最新状況を反映したレポートの作成が可能となる、といった利点がある。
 仮想データベースの機能を用いることにより、業務システムなどからのデータを複製や蓄積して、恒常的に保持することなく、必要な都度データを取得して擬似的に多次元データモデルのデータを提供し、分析することができる。
<作成された複数のレポートを関連付けるデータ辞書機能>
 データ辞書は、仮想データ構造の定義情報と、プレゼンテーション構造の定義情報と、検索要求の定義情報を含んで構成される。仮想データ構造の定義情報は、検索対象とする複数のデータベースのそれぞれに格納されているテーブルや項目などの物理データ構造の定義情報に加えて、物理データ構造とは完全に独立して用途・目的に応じた利用者独自の視点からデータ構造を柔軟に定義し、物理データ構造を持つデータを統合・編集して要求されたデータ構造に変換するための定義を含む。プレゼンテーション構造の定義情報は、利用者を入力支援して検索要件に適合する検索要求を発行するための定義を含む。さらに、検索要求の定義情報は、異なる検索要求間の関連性を管理するためのものである。
 データ辞書において、異なる検索要求間の関連性を定義し、大域的に識別可能なデータ項目の定義情報、及び複合的あるいは階層的なデータ項目の定義情報を持つことにより、仮想データ構造に基づき発行された検索要求により取得された複数の検索結果、及び検索結果から作成された複数のレポートの間で、データ項目やデータ階層の共通性・関連性の管理を行うことができるようになる。
<複数のレポートを関連付けて操作するBI機能>
 一般のBIツールは、非定型検索、定型検索、レポート参照といった単一のレポートを扱う機能をもち、単一の検索結果を対象とする範囲で、スライシング、ダイシング、ドリルダウンのデータ分析操作により関連レポートへ移動することが可能である。
 これに加えて、本発明では、データ辞書により複数の検索要求間の関連性を管理することができるため、仮想データベースの機能とBIツールの機能を一体のソフトウェアとして融合させることで、不整合を含むデータを扱うことが可能となる。このため、本発明は、異なる検索結果を対象とするレポートに対しても相互間の関連付けを行うことのできる検索リンクの機能を有するものとなり、現在のレポートの抽出条件や選択内容を引き継ぎながら関連するレポートへの移動を実現することができる。
 また、本発明によれば、複数のレポートを同一画面上に複数配置するダッシュボードにおいても、異なる検索結果を参照する複数のレポートを一括して、データ分析操作する機能を実現することができる。
 具体的に説明すると、本発明のデータ検索装置は、以下の構成を有する。
 本発明の第1の側面は、検索命令に応答して検索データを返す2以上のデータベース(1)をデータソースとするデータ検索装置である。
 このデータ検索装置は、
 利用者端末(2)を入力支援して検索要件に適合する検索要求を発行するためのプレゼンテーション構造の定義情報と、前記検索要求を解析して前記データベース(1)で処理可能な物理情報で表される検索命令に変換するための仮想データ構造の定義情報と、異なる検索要求間の関連性を管理するための検索要求の定義情報と、を含むデータ辞書(10)と、
 前記データ辞書(10)で定義された前記プレゼンテーション構造に基づいて前記利用者端末(2)を入力支援して、前記プレゼンテーション構造に基づき記述された検索要求を発行するとともに、当該検索要求を仮想データベース部(20)で実行して取得した前記仮想データ構造に基づく検索結果を、前記利用者端末(2)に対して出力するビジネスインテリジェンス部(30)と、
 前記データ辞書(10)で定義された前記仮想データ構造に基づいて前記検索要求を解析して検索命令を生成し、生成された検索命令を前記データベース(1)でそれぞれ実行して2以上の検索データを取得し、取得された2以上の検索データを統合加工して検索要求に対応する検索結果を作成する仮想データベース部(20)と、を含み、
 異なる検索要求に対応して作成された複数の検索結果を、前記検索要求の定義情報により関連付けることができる。
 詳しく説明すると、前記データ辞書(10)は、
 検索命令に応答して検索データを返すデータベース(1)についての物理データ構造の定義情報と、
 検索要件に適合する検索要求を記述して前記データベース(1)で処理可能な物理データ構造で表される検索命令に変換するとともに、前記データベース(1)から取得された検索データに基づいて検索要求に対応する検索結果を作成するための仮想データ構造の定義情報と、
 前記利用者端末(2)を入力支援して検索要件に適合する検索要求を発行するとともに、検索結果を前記利用者端末(2)に対して出力するためのプレゼンテーション構造の定義情報と、を含み、
 プレゼンテーション構造の定義情報が、異なる検索要求間の関連性を管理する検索要求の定義情報を持つことが好ましい。
 前記仮想データベース部(20)と前記ビジネスインテリジェンス部(30)は、前記データ辞書(10)に含まれる、異なる検索要求間の関連性を管理する検索要求の定義情報に基づく制御を行うことが好ましい。
 具体的には、前記仮想データベース部(20)は、前記検索要求の定義情報において関連付けられた異なる検索要求に対応する複数の検索結果を作成した場合には、作成した複数の検索結果を自動的に関連付け、
 前記ビジネスインテリジェンス部(30)は、前記仮想データベース部(20)が関連付けた複数の検索結果からそれぞれ複数のレポートを作成するとともに、作成した複数のレポートを自動的に関連付けることが好ましい。
 前記ビジネスインテリジェンス部(30)は、
 前記利用者端末(2)を前記データ辞書(10)の前記プレゼンテーション構造に基づいて支援して、前記プレゼンテーション構造に基づく検索要求を前記仮想データベース部(20)に対して発行する検索要求発行手段(31)と、
 前記仮想データベース部(20)から取得した検索結果をもとにレポートを作成し、前記利用者端末(2)に対して送出するレポート出力手段(32)と、を有することが好ましい。
 前記ビジネスインテリジェンス部(30)は、
 複数の検索要求を実行して得られた複数の検索結果から作成された複数のレポートを順次あるいは同時に表示することができ、
 前記データ辞書(10)に含まれる異なる検索要求間の関連性を管理する検索要求の定義情報により、複数のレポートを相互に関連付けて操作できることが好ましい。
 前記ビジネスインテリジェンス部(30)は、
 第1の検索要求に対して第2の検索要求を関連検索として対応付けし、
 前記利用者端末(2)において第1の検索要求を実行して第1の検索結果を表示し、第1の検索結果に含まれるデータを選択して第2の検索要求へのリンクを指示することにより、
 第1の検索要求に含まれている抽出条件の項目と条件値、および第1の検索結果の中から選択されたデータに対応する項目と表示値を第2の検索要求に引き継ぎ、
 第2の検索要求の抽出条件に、第1の検索要求から引き継がれた項目と関連付けられた関連項目が存在する場合には、その関連項目の条件値を、第1の検索要求から引き継がれた条件値に置き換えて、第2の検索要求を実行して第2の検索結果を表示することが好ましい。
 前記ビジネスインテリジェンス部(30)は、
 複数の検索結果から出力された複数のレポートを同一画面上に配置したダッシュボードを構成することができ、
 ダッシュボード内の1つのレポートの検索結果に含まれるデータが選択された場合には、選択されたデータに対応する見出し項目及び表示値をダッシュボード内の他のレポートに引き継ぎ、
 他のレポートの検索要求の抽出条件に引き継がれた見出し項目と関連付けられた項目が存在する場合には、その抽出条件の条件値を引き継がれた表示値に置き換えて、検索要求を実行して新たな検索結果を表示することにより、ダッシュボード内の複数のレポートを連動して操作することができることが好ましい。
 前記ビジネスインテリジェンス部(30)の前記レポート出力手段(32)は、
 検索要求が、分類が可能な複数の見出し項目(ディメンジョン)と、集約が可能な1以上の値項目(メジャー)を含む場合には、集約レベルが同一である見出し項目の組み合わせについて一体として集約操作を行うものであることが好ましい。
 ここで、見出し項目の順位を区分するための集約レベルが2以上設定されている場合において、前記レポート出力手段(32)は、
 ある集約レベルでの検索結果を前記利用者端末(2)に表示する場合には、見出し項目については前記ある集約レベルより上位の見出し項目のみに値を表示し、値項目については前記ある集約レベルより上位の見出し項目のみで集約した集計値を表示するようにし、
 前記利用者端末(2)が前記ある集約レベルの検索結果の特定のデータを選択した場合には、選択した特定のデータの表示されている見出し項目と同一の見出し項目を持つ1つ下位の集約レベルの明細レコードを前記利用者端末(2)に表示することが好ましい。
 前記ビジネスインテリジェンス部(30)は、
 前記利用者端末(2)が一度作成した検索要求を保存しておき、読み込んで再利用することができるライブラリ管理手段(33)を有し、
 ライブラリ管理手段(33)を利用できる前記利用者端末(2)を、利用者の権限に応じて設定することにより、利用目的に応じて検索要求を共有することができることが好ましい。
 前記ビジネスインテリジェンス部(30)は、
 検索要求に対応する検索結果を、前記利用者端末(2)の指定により、一定期間あるいは一定履歴回数、保存することができる検索履歴管理手段(34)を有し、
 前記利用者端末(2)において、ライブラリの中から検索要求を指定すると、その検索要求に対応する検索結果が一覧表示され、
 その中から検索結果を指定することにより、検索結果を直接参照することができることが好ましい。
 前記検索要求発行手段(31)は、
 関連する複数の項目を一つの概念であらわす集合項目を扱うことができ、
 前記集合項目を検索要求の抽出条件に指定する場合には、前記関連する複数の項目の値を参照しつつ条件値の設定ができるとともに、
 前記集合項目を検索結果の表示項目に追加する前記利用者端末(2)の入力操作により、前記関連する複数の項目が自動的に検索結果の表示項目に追加されることが好ましい。
 前記検索要求発行手段(31)の前記集合項目は、
 互いに階層関係にある1以上の項目から構成され、
 前記利用者端末(2)の画面において、上位レベルの項目の値が一覧で表示されている中から1つの値を選択すると、その値に関連付けられている下位レベルの項目の値が一覧で表示され、
 前記利用者端末(2)は、任意のレベルの一覧で表示された値の中から、検索の抽出条件とする値を指定することができることが好ましい。
 前記仮想データベース部(20)は、
 前記仮想データ構造に基づき記述された検索要求を解析して、前記データベース(1)に対する1以上の検索命令を生成する検索要求翻訳手段(21)と、
 前記検索要求翻訳手段(21)によって生成された検索命令を前記データベース(1)のうちのいくつかに対してそれぞれ実行して検索データを取得する検索命令実行手段(22)と、
 前記検索命令実行手段(22)によって取得された1以上の検索データを統合加工してデータ検索要求に対応する検索結果を作成するデータ統合加工手段(23)と、を有することが好ましい。
 前記検索要求翻訳手段(21)は、
 前記検索要求を、前記データ辞書(10)の前記仮想データ構造に基づいて解析して、
 検索対象のデータベース上で実行可能な検索命令と、前記データ統合加工手段(23)で実行可能な一つ以上の検索命令を生成し、
 あるデータ統合加工手段(23)に対する検索命令の出力を、他のデータ統合加工手段(23)に対する検索命令の入力とすることにより、多段階にわたるデータ統合加工を行う、検索命令を生成することができる、ことが好ましい。
 前記検索要求翻訳手段(21)は、
 検索要求に指示されている前記仮想データベース部(20)に対する抽出条件は、前記データベース(1)に対する検索命令に変換して適用し、
 検索要求で要求されている分類集計は、あらかじめ前記データベース(1)で実行し、
 対象の静的な属性を管理するマスターを参照する処理は、明細データの検索段階では行わずに、データが集約された段階で実行し、
 これにより、前記データベース(1)から送出されるデータ量が最小となるように検索命令を最適化する、ことが好ましい。
 前記検索命令実行手段(22)は、
 前記データベースが検索インターフェイスとしてSQL言語をサポートする場合には、
  前記データベースの物理表に対するSQLによる検索命令の実行手段、
  前記データベースに格納されたストアド・プロシージャを用いる検索命令の実行手段、あるいは
  前記データベースのSQL言語で直接定義された検索の検索結果を検索対象として検索結果から再度検索する検索命令の実行手段、
 のいずれか一つ以上の実行手段を備え、
 前記データベースが検索インターフェイスとしてSQL言語をサポートしないデータベースの場合には、
  当該データベースの検索インターフェイスに対応する検索命令の実行手段、を備え、
 前記データベースがファイルシステム上のデータファイルの場合には、
  当該データファイルに対応する検索命令の実行手段、を備えていることが好ましい。
 前記データ統合加工手段(23)は、
 前記検索命令実行手段(22)によって取得された中間的な検索データ、あるいは他のデータ統合加工手段(23)が出力する結果データの一つまたは複数を入力として、データ統合とデータ加工を行って、結果データを一つの表として出力することができ、
 さらに結果データを他のデータ統合処理加工手段(23)に入力として引き渡すことにより、複数段にわたるデータ統合加工の処理を行うことができる、ことが好ましい。
 前記データ統合加工手段(23)は、
 各データベースから抽出・集計した中間データを併合した後にキーで集約する併合方式、
 あるいは、検索要求の内容に応じて、複数のデータベースの検索対象候補から検索対象を自動的に選択して抽出・集計する選択方式、
 あるいは、一つのデータベースから取得した中間データの各レコードに対して、あらかじめ定義された参照条件にもとづいて他のデータベースから参照データを取得し、もとの中間データに不足する項目を参照データから補完する参照方式
 のいずれか一つ以上のデータ統合方式を備えており、その中から最適な方式を選択することができることが好ましい。
 前記データ統合加工手段(23)のデータ統合方式における参照方式は、
 一つのデータベースから抽出・集計した中間データを基に、中間データの各レコードに対してその他のデータベースを結合条件にしたがい逐次検索して統合する逐次参照方式、
 あるいは、他のデータベースから抽出・集計した中間データを、一つのデータベース管理システムに転送し、転送された中間データ同士、または中間データとデータベース管理システム内のデータをデータベース管理システムの結合機能で統合する一括結合方式、
 あるいは、参照元の検索対象となるデータと参照先の検索対象となるデータを取得して、あらかじめ参照条件の条件値の順番に並び替えておき、その後参照元レコードと参照先レコードを順次1件ずつ読み込みながら参照条件の条件値を比較し、参照条件が成立するものについて統合する順次併合方式
 のいずれか一つ以上のデータ統合方式を備えており、その中から最適な方式を選択できることが好ましい。
 前記データ統合加工手段(23)は、
 キー項目でグルーピングし属性項目の値をグループ毎に集約する分類・集約処理、項目の値に関するデータ編集処理、判定条件によるデータ抽出処理、出力順指定によるソート処理の機能を備え、
 また、レコード間の関係や順序に依存する演算に対応することのできることが好ましい。
 前記データ統合加工手段(23)は、
 データ統合とデータ加工を行った結果データを、ビジネスインテリジェンス部(30)、
他のデータ統合処理加工手段(23)、あるいは、データベースのテーブル、ファイルシステムに格納されるデータファイル、ネットワークを介して送られるデータストリーム、
のいずれかの外部の出力先に、出力することができる、ことが好ましい。
 前記データ統合加工手段(23)は、
データ統合処理の結果の表データ、あるいは検索命令実行の結果として分割作成される中間的な検索データを、事前に作成して外部記憶領域に格納しておき、検索実行時には、データベースの代わりに当該外部記憶領域に格納されたデータを参照する検索データ・キャッシュを備えることが好ましい。
 前記データベース(1)は、
 リレーショナルデータベース、オブジェクト指向データベース、XMLデータベース、ファイルシステム、URLディレクトリ管理システム、データウェアハウス、データマートのうちの少なくとも1つを含むことが好ましい。
 本発明の第2の側面は、コンピュータを、検索命令に応答して検索データを返す2以上のデータベース(1)をデータソースとするデータ検索装置として機能させるプログラムである。
 このプログラムは、
 前記コンピュータを、
 利用者端末(2)を入力支援して検索要件に適合する検索要求を発行するためのプレゼンテーション構造の定義情報と、前記検索要求を解析して前記データベース(1)で処理可能な物理情報で表される検索命令に変換するための仮想データ構造の定義情報と、異なる検索要求間の関連性を管理するための検索要求の定義情報と、を含むデータ辞書(10)と、
 前記データ辞書(10)で定義された前記プレゼンテーション構造に基づいて前記利用者端末(2)を入力支援して、前記プレゼンテーション構造に基づき記述された検索要求を発行するとともに、当該検索要求を仮想データベース部(20)で実行して取得した前記仮想データ構造に基づく検索結果を、前記利用者端末(2)に対して出力するビジネスインテリジェンス部(30)と、
 前記データ辞書(10)で定義された前記仮想データ構造に基づいて前記検索要求を解析して検索命令を生成し、生成された検索命令を前記データベース(1)でそれぞれ実行して2以上の検索データを取得し、取得された2以上の検索データを統合加工して検索要求に対応する検索結果を作成する仮想データベース部(20)と、を含み、
 異なる検索要求に対応して作成された複数の検索結果を、前記検索要求の定義情報により関連付ける
 データ検索装置として機能させる。
 本発明の第3の側面は、上記プログラムを格納したコンピュータが読み取り可能な記録媒体である。
 本発明は、複数の検索要求間の関連性を管理することのできるデータ辞書を設け、仮想データベースとBIツールを一体のソフトウェアとして融合させることで、複数のデータベースからデータを直接取得する機能、用途・目的に応じた複数の検索結果を関連付けて作成する機能、および複数の検索結果にまたがる複数のレポートを関連付けて操作する機能を発揮する。したがって、本発明によれば、単一のキューブでは対応が困難な不整合を含むデータの分析が容易となる。これにより、利用者の観点からは、利用者の目的や用途に合わせて仮想データ構造を柔軟に作成することができるため、例えば、全体については関連付けによりデータ統合して分析しつつ、詳細については業務システムのそれぞれのデータを直接分析するような、自由度の高いきめ細かな分析を簡単に実現することができる。
 このように、本発明は、BIツールの機能と仮想データベースの機能の両方を含んで構成され、それぞれの機能が共通のデータ辞書で駆動されることを特徴とする。BIツールが検索対象とするデータ構造定義を仮想データベースが提供するデータ構造定義と共通化することにより、仮想データベースの提供機能は、自ずとBIツールの検索要件を必要かつ十分に満たすものとなり、分析・設計プロセスを大幅に簡略化できる。また、BIの要件分析ではユーザニーズを事前に正確に把握することが難しく、構築途中あるいは完成後でも要件の追加・変更が多発しがちであるが、BIツールと仮想データベースのデータ構造定義をデータ辞書において一元的に管理することで、ユーザ要件の追加・変更の影響範囲が明確になり、システム保守プロセスも大幅に効率化できる。
 さらに、組織のトップレベルの経営分析から、それぞれの現場の個別業務の分析まで、共通したデータ分析手段を使えることができるようになるため、組織における情報共有とコミュニケーションの円滑化が促進される。
 また、システムの観点からは、データ分析のために企業内の複数の業務システムの大量のデータを一括で複製してデータウェアハウスなどに再構成・蓄積する必要性がなくなり、仮想データ構造をデータ辞書に定義するだけですぐさま分析データを利用可能となるため、きわめて短期間・低コストで開発することができる。
 また、企業全体にわたるデータを統合的に体系管理できるため、データに関するアクセス管理や品質管理の効率化を図ることができるメリットも有している。
図1は、小粒度における不整合の例を示している。 図2は、大粒度における不整合の例を示している。 図3は、システムの全体構成を示している。 図4は、不整合を含むデータの分析処理の概念を示している。 図5は、データ辞書のデータ構造の概略を示している。 図6は、ビジネスインテリジェンス部の機能ブロックを示している。 図7は、検索要求発行の画面の例を示している。 図8は、ライブラリ管理の画面の例を示している。 図9は、検索リンクの画面操作の例を示している。 図10は、検索リンクにおける抽出条件および選択内容の引き継ぎ処理のフロー示している。 図11は、ダッシュボードにおける複数レポート間の抽出条件連動の設定画面の例を示している。 図12は、クラス仮想項目における抽出条件設定画面の操作の例を示している。 図13は、仮想データベース部の機能ブロックを示している。 図14は、複数のデータ統合方式の処理概念を示している。 図15Aは、逐次参照方式と一括結合方式の処理概念を示している。 図15Bは、順次整合方式の処理概念を示している。 図16は、順次併合方式の処理概念を示している。 図17は.順次併合方式の処理のフローを示している。 図18は、データ・キャッシュの処理概念を示している。 図19は、多段階にわたるデータ統合加工手段の処理概念を示している。
 以下、図面を用いて本発明を実施するための形態について説明する。本発明は、以下に説明する形態に限定されるものではなく、以下の形態から当業者が自明な範囲で適宜変更したものも含む。
<システムの全体構成図>
 図3は、本発明の一実施形態であるデータ検索装置の全体構成を示している。データ検索装置100は、検索命令に応答して検索データを返す2台以上のデータベース1をデータソースとするデータ検索装置である。データ検索装置100は、2台以上の外部のデータベース1と、1台または2台以上の外部の利用者端末2と、1台または2台以上の外部の管理者端末3とに接続される。また、データ検索装置100は、データ辞書10と、仮想データベース部20と、ビジネスインテリジェンス部30とを備えている。また、データ検索装置100は、外部の管理者端末2に接続されるデータ辞書編集部40を持つこともできる。
 データベース1として接続されるデータベースが2台以上である場合とは、物理的にデータベースが2台以上に分かれている場合のみならず、物理的には1つのデータベースが異種データを含むなどの理由で論理的に2台以上に分かれている場合を含む。
<不整合を含むデータの分析処理イメージ図>
 図4は、データ検索装置100を用いて、単一のキューブでは対応が困難な不整合を含むデータを分析する際の処理イメージ図である。
 図4に示された例において、検索要求1及び検索要求2は、検索する対象(データベースなど)が異なっている。ただし、検索要求1と検索要求2は、検索する内容は関連している。このため、検索要求1と検索要求2は、データ辞書10の検索要求間の関連性の定義(検索要求の定義情報)により、関連検索として対応付けられている。検索要求同士の関連付けは、検索要求の入力画面などにおいて利用者が任意に行うことができる。
 このように、データ辞書10において検索要求1と検索要求2とを関連付けることで、検索要求1を実行した検索結果1から作成されたレポート1と、検索要求2を実行した検索結果2から作成されたレポート2を、検索要求間の関連性に基づき相互に関連付けることができる。このため、現在のレポートの抽出条件や選択内容を引き継ぎながら関連するレポートへ移動する、検索リンクの機能を実現することができる。このように、異なる検索要求から作成された複数の検索結果を関連付け、異なる検索結果間においても簡単にレポート間を移動できることにより、単一のキューブでは対応が困難な不整合を含むデータを効率的に分析できるようになる。
 具体的には、利用者はまず、ビジネスインテリジェンス部30の検索要求入力画面から、用途・目的に応じて抽出条件や出力方法などの設定を行い、検索要求1を仮想データベース部20に発行する。仮想データベース部20では、受け取った検索要求1に基づき、複数のデータベース1のうちのいくつかに対して検索命令を発行して検索を実行し、それぞれの検索で取得した2以上の検索データを統合して検索結果1を作成する。ビジネスインテリジェンス部30では、作成された検索結果1から分析用の多次元のキューブを構築し、このキューブの一つの断面をレポート1として表示する。表示されたレポート1に対しては、スライシング、ダイシング、ドリルダウンのOLAP分析操作を指示することにより、検索結果1のキューブの他の断面に切り替えて表示することもできる。
 さらに、ビジネスインテリジェンス部30は、データ辞書10における検索要求1と検索要求2の関連性の定義に基づき、検索要求1に基づいて作成されたレポート1から検索要求2を呼び出すための、検索リンク機能を提供する。レポート1から検索要求2を呼び出すときには、検索要求1に含まれている抽出条件の項目と条件値、及び表示されているレポート1に対して利用者がマウスやキーボードにより選択したデータに対応する項目と表示値を、検索要求2に引き継ぐ。検索要求2の抽出条件に、検索要求1から引き継がれた項目と関連付けられた関連項目が存在する場合には、その関連項目の条件値を、検索要求1から引き継がれた条件値に置き換えて、検索要求2を発行する。このようにして、ビジネスインテリジェンス部30は、検索要求2を仮想データベース20に発行する。そして、仮想データベース部20は、検索要求2を実行して検索結果2を作成して、ビジネスインテリジェンス部30に受け渡す。ビジネスインテリジェンス部30は、検索結果2から分析用の多次元のキューブを構築し、キューブの一つの断面をレポート2として表示する。これより、レポート1で利用者が選択したのと関連する内容を、自動的に検索要求2で異なる視点から検索して、レポート2として表示することができる。表示されたレポート2に対しては、上記したレポート1と同様に、スライシング、ダイシング、ドリルダウンのOLAP分析操作を指示することにより、検索結果2のキューブの他の断面に切り替えて表示することもできる。
 ここで、レポート1からレポート2への移動は、人手を介さないで自動的に行なうこともできる。したがって、データ辞書10によって検索要求1と検索要求2の関連性を定義することにより、検索要求1を実行した検索結果1から作成されたレポート1と検索要求2を実行した検索結果2から作成されたレポート2とを互いに関連付けできるようになり、異なる検索結果間においても簡単にレポート間を移動できるようになる。
 また、異なる検索要求から作成された複数のレポートを同一画面上に配置したダッシュボードにおいても、同様に、検索要求間の関連性の定義に基づくレポート間の関連付けを行なうことができる。レポート間の関連付けに基づき、ダッシュボードに配置された異なるデータから作成された複数のレポートを、一括してスライシング、ダイシング、ドリルダウンするOLAP分析操作を実現することができる。
<データ辞書のデータ構造>
 図5は、データ辞書10のデータ構造の概略をあらわすクラス図である。
 データ辞書10は、物理データ構造の定義情報、仮想データ構造の定義情報、及びプレゼンテーション構造の定義情報の3階層から構成される。物理データ構造の定義情報は、検索対象とする複数のデータベース1のそれぞれに接続して、データ検索を行うために必要となるテーブルや項目といった物理データ構造を定義している。仮想データ構造の定義情報は、物理データ構造とは完全に独立しており、用途・目的に応じてデータ利用の視点からデータ構造を柔軟に定義し、物理データを要求されたデータ構造に変換するための定義を含む仮想データ構造を定義している。プレゼンテーション構造の定義情報は、利用者を入力支援して検索要件に適合する検索要求を発行するためのプレゼンテーション構造を定義している。
 物理データ構造の定義情報は、基本的に、データベースの定義と同一あるいはその必要部分の転記である。仮想データ構造の定義情報は、データベースに関する知識を有するシステム管理者が、データ利用ニーズに応じて構築するのが、通例である。一方、プレゼンテーション構造の定義情報は、利用者がそれぞれの権限や役割に応じて、随時、追加・更新できるようにしても構わない。
(物理データ構造)
 データ辞書10は、仮想データベース部20から、検索対象とする外部のデータベースに接続して、データ検索を行うために必要となる情報を、物理データ構造として定義する。接続するデータベースの個数は2台以上であることが好ましい。データベースが2台以上である場合とは、物理的にデータベースが2台以上に分かれている場合のみならず、異種データを含むなどの理由で論理的に2台以上に分かれる場合を含む。
 物理データ構造の定義情報は、検索対象とするデータベースの定義である「物理データベース」、物理データベースに含まれる「物理表」、および物理表に含まれる「物理項目」の定義情報から構成される。
 「物理データベース」の定義情報は、データベースへの接続手順、データベースが取り扱うことができるデータ型の種類、データベースに装備されている関数の種類等、データベース固有の情報等が定義された定義情報であり、検索対象が複数のデータベースにまたがる場合には、複数の「物理データベース」が定義される。
 「物理表」の定義情報は、データベースに格納されている表(テーブル)の定義と同一の定義情報、あるいはその必要部分の転記である。
 「物理項目」の定義は、データベース内の物理表に含まれる項目(フィールド)及びその属性の定義と同一の定義情報、あるいはその必要部分の転記である。
(仮想データ構造)
 データ辞書10において、仮想データ構造は、ユーザや業務の立場からみたデータ構造を定義している。仮想データ構造の定義情報は、基本的に、仮想的なデータ構造の全体である「仮想データベース」、仮想データベースに含まれる「仮想表」、仮想表に含まれる「仮想項目」の定義情報を含む。
 対象とするユーザや業務が独立して複数ある場合は、複数の「仮想データベース」の定義情報が定義されることがある。
 「仮想表」の定義情報は、論理的に完全で一貫性のある多次元データモデルを生成することのできる仮想項目の集合である。一つの仮想表に含まれる仮想項目は、任意に組み合わせることにより検索を定義し、取得したデータによりキューブを作成することができる。
 「仮想項目」の定義情報では、業務およびシステムで認識の対象として具体的に識別できるものを指し示す実体(エンティティ)の特徴や性質などの属性(アトリビュート)を定義する(例えば「顧客」、「商品」、「注文書」、「売上高」など)。「仮想項目」の定義情報には、項目名が異なる複数の物理項目を論理的に同一の仮想項目として統合するための定義が含まれる。つまり、項目名が異なる複数の物理項目は、物理的には異なる項目として扱われる。ただし、項目名が異なる複数の物理項目であっても、論理的には同一の項目である場合がある。そこで、項目名が異なる複数の物理項目の対応関係を「仮想項目」の定義情報において定義しておくことで、これら複数の物理項目を同一の仮想項目として扱うことができる。
 さらに、仮想データ構造は、「仮想表」に対する「仮想項目」の対応関係を示した「仮想表項目」の定義情報を有することが好ましい。本実施例は、仮想表に従属して仮想項目を直接的に定義しない。つまり、本実施例では、異なる仮想表の間で仮想項目を関連付けるために、仮想項目を仮想表と独立して仮想データベース内で定義し、仮想表に対する仮想項目の対応関係を「仮想表項目」として関連付けている。これにより、異なる仮想表間でも、論理的に同一の項目である場合には、同一の仮想項目を割り当てるものとする。
 このように「仮想表項目」の定義情報を設けることで、異なる仮想表間でも同一の仮想項目かどうかの判定が可能となり、同一の仮想項目ならば共通の属性を有することが保証される。このため、仮想表項目を参照することで、異なる仮想表の検索により作成された検索結果間でも、抽出条件や選択条件の引継ぎが可能となる。
 なお、本実施例では、同一仮想データベース内の異なる仮想表における同一項目の判別を、仮想項目の名称を仮想データベース内でユニークとする制約により行っている。ただし、これに限らない方式でも同一項目の判別が可能である。また、仮想表ごとに異なる仮想項目の名称を表示させたい場合には、仮想表項目に仮想表ごとの別名を与えることで対応することができる。
 また、本実施例では、異なる仮想データベース間の同一項目の判別は、仮想表ごとにそれぞれ仮想項目を定義しておき、異なる仮想表間で同一の仮想項目であることの定義情報を後から仮想項目に相互に付加する方式で行っている。
 「仮想表」を構成する「仮想表項目」の定義情報は、キューブにおいてデータ集計項目(ディメンション)として扱う項目と、キューブにおいて値項目(メジャー)として扱う項目に区分される。
 さらに「仮想表項目」の定義情報は、通常の文字型、数値型、日付型といった単純なデータ型に加えて、複数の属性を持つ実体を表現するために、関連する複数の仮想項目の集合として一つの仮想項目(クラス仮想項目)を定義することができる。特に、階層関係にあるような複数の仮想項目の集合については、階層型クラス仮想項目を定義することができる。
 さらに、仮想データ構造の定義情報には、仮想データベースの機能を使用して、物理データ構造を持つ複数のデータベースに格納されたデータを、仮想データ構造を持つ仮想データに変換するために必要な定義情報が含まれる。このための仮想データ構造には、例えば、「算出表」、「算出項目」、「物理表結合定義」、および「算出表適用定義」の定義情報が含まれる。
 「算出表」の定義情報は、外部のデータベースを直接の検索対象とする「外部算出表」の定義情報と、外部算出表を含む他の算出表を検索対象とする「内部算出表」の定義情報から構成される。
 「算出項目」の定義情報は、は算出表毎に各仮想項目に対して最大一つ定義され、算出表で仮想項目に対して算出項目が定義されない場合は、当該仮想項目を算出表で算出できないものとする。
(外部算出表)
 「外部算出表」の定義情報は、データベースから同時算出が可能な算出項目の集合に関する定義情報であり、外部算出表は一つのデータベースに対応付けられる。
 「外部算出表」の定義情報は、データベースが検索インターフェイスとしてSQL言語をサポートする場合には、データベースの物理表に対するSQLによる検索手段、あるいはデータベースに格納されたストアド・プロシージャを用いる検索手段、あるいはデータベースのSQL言語で直接定義された検索の検索結果を検索対象として検索結果を再度検索する検索手段(インターナルビュー)のいずれかの検索手段を備える。また、外部算出表は、データベースが検索インターフェイスとしてSQL言語をサポートしない場合には、当該データベースの検索インターフェイスに対応する検索手段を備える。また、外部算出表は、データベースがファイルシステム上のデータファイルの場合には、当該データファイルに対応する検索命令の実行手段を備えることができる。
 また、「外部算出表」の定義情報は、複数の物理表の相互の結合条件を「物理表結合定義」により定義することにより、データベースに含まれる複数の物理表を検索対象とすることができる。「物理表結合定義」は、外部算出表において基準としてデフォルトで用いる物理表を最上位のルートとし、補完的に結合参照される物理表を下位の子とする木構造、あるいはネットワーク構造で表現される。具体的には、この定義情報により、データベース検索命令の生成時に、自動的に必要な物理表間の結合条件が付加されるようになる。
 外部算出表の算出項目には、結合定義された物理表の物理項目と、データベース固有の文法で記述される算出定義式や選択条件式等の定義情報とが含まれる。外部算出表の算出項目は、データベース検索命令の生成時に自動的に当該算出項目の算出方法を付加するために用いられる。
(内部算出表)
 「内部算出表」の定義情報には、外部算出表を含む1つ以上の他の算出表の出力を入力として、1つの処理結果に統合して出力するデータ統合処理を定義することができる。また、内部算出表の算出項目には、項目編集、分類・集約、並べ替えなどのデータ加工処理に関する指示を定義することができる。
(算出表適用定義)
 「算出表適用定義」は、特定の仮想表に対して検索時に適用可能な算出表の関係の定義情報である。本実施例では、仮想表に対応する1つの内部算出表を最上位のルートとし、1つ以上の外部算出表を末端のリーフとする木構造で表現しているが、あるいはネットワーク構造で表現することもできる。
 一つの内部算出表に対しては、その下位に1つ以上の算出表を配置することができ、下位の算出表の出力が上位の内部算出表の入力となる。下位の複数の算出表の出力を上位の内部算出表で統合する方式を算出表適用定義に含むことができ、本実施例では、併合方式、選択方式、参照方式、およびそれらの任意の組み合わせを指定することができる。
 算出表適用定義は、最も簡単な構成では、上位の1つの内部算出表と下位の1つの外部算出表を持つ。またより複雑な場合においては、複数段の上位の内部算出表と、最下位に複数の外部算出表を持つ
 あるいは、算出表適用定義を、ネットワーク構造として表現することも可能である。この場合には、内部算出表は1つ以上の他の算出表の出力を入力として統合し、条件により場合分けして1つ以上の処理結果を出力する。
(プレゼンテーション構造)
 データ辞書10において、プレゼンテーション構造は、利用者を入力支援して検索要件に適合する検索要求を発行するための定義、及び検索結果を利用者に出力するための定義を含むことができる。
 「検索要求」の定義情報は、検索の対象とする仮想表を指示する「検索表」、仮想表のデータの検索範囲を指示する「抽出条件」、検索結果としてデータを取得する仮想項目を指示する「表示項目」の定義情報を含む。また、検索要求を仮想データベース上で実行した検索結果が存在している場合には、プレゼンテーション構造において、検索日時、検索実行者、検索状況、レポート出力状況などの「検索履歴」と、その「検索結果」のデータが管理される。
 また、「検索要求」の定義情報には、異なる検索要求間の関連性を管理するための定義情報が含まれる。すなわち、「検索要求」の定義情報には、検索の対象となるデータベースや、データベースからデータを抽出する条件が異なる複数の検索要求であっても、これらの複数の検索要求が互いに関連性を有している旨が定義されている。これにより、「検索要求」の定義情報には、異なる検索結果を対象とするレポートに対して相互間の関連付けを行う「検索リンク」の設定を含むことができる。「検索リンク」において、異なる検索結果を対象とする相互間の関連付けは、異なる検索結果の「抽出条件」あるいは「表示項目」に共通の「仮想項目」を割り当てることにより実現される。
 プレゼンテーション構造には、「ダッシュボード」を含むことができる。ダッシュボードは、ユーザが必要とする多様な視点からの1つ以上のレポートを1つにまとめて表示させるための機能であり、それぞれのレポートの検索要求と、検索要求に対応する検索結果のレポート出力方法や配置などの定義を含んでいる。ダッシュボード内の複数のレポートの抽出条件が共通の「仮想項目」を対象としている場合には、「ダッシュボード抽出条件」として一括で指定することが出来る。これにより、ダッシュボード内の異なる検索結果を参照する複数のレポートを、一括してデータ分析操作できるようになる。
 プレゼンテーション構造は、「ライブラリ」をさらに含む。ライブラリは、ユーザが作成したレポートの検索要求のテンプレートあるいはダッシュボードを保管する。ライブラリを参照・編集できるユーザ権限を制限することにより、許可されたユーザの間でレポートの検索テンプレートあるいはダッシュボードの共有を実現することができる。
<ビジネスインテリジェンス部の構成>
 図6に、本実施例におけるビジネスインテリジェンス部30の機能ブロック図を示す。図6に示されるように、ビジネスインテリジェンス部30は、例えば、検索要求発行手段31、レポート出力手段32、ライブラリ管理手段33、検索履歴管理手段34、検索リンク手段35、ダッシュボード表示手段36、およびダッシュボード連動手段37から構成される。
 ビジネスインテリジェンス部30の動作は、利用者の役割や目的によって複数の利用パターンを想定することができる。例えば、パワーユーザや管理スタッフ向けの自由検索では、検索要求発行手段31の機能を使って、出力項目、出力形式、条件項目などを任意に設定して検索要求を発行し、見たいデータについてのレポートを自由に作成する。また、一般ユーザや経営層向けの定型検索では、出力項目、出力形式、条件項目などが固定で設定されている検索テンプレートをライブラリ管理手段33等から呼び出し、条件の値のみを変えて検索要求を発行し、あらかじめ規格化されたレポートを作成する。また、レポート参照では、検索結果一覧等から自分や他ユーザが過去に検索した検索結果を検索履歴管理手段34から呼び出して閲覧する。この場合は、検索要求発行手段31の機能は直接に使用する必要はない。
(検索要求発行手段)
 検索要求発行手段31が機能しているときの画面イメージを図7に示す。検索要求発行手段31は、データ辞書10に登録されているプレゼンテーション構造の定義情報に基づいて利用者端末2を入力支援して、この利用者端末2によって入力された検索要件に適合する検索要求を発行することができる。検索要求発行手段31は、例えば、「検索対象選択機能」、「抽出条件設定機能」、「表示項目設定機能」、および「検索要求発行機能」を有している。
 検索対象選択機能では、仮想データベースと仮想表を選択し、表示されている選択可能な仮想項目の一覧から、任意の仮想項目を選択して、抽出条件項目あるいは表示項目に追加することができる。図7に示した例では、「販売実績」という仮想データベースに含まれる「出荷実績」という仮想表から、「商品」という仮想項目が選択されて、抽出条件項目および表示項目に追加された様子が示されている。
 抽出条件設定機能では、抽出条件項目を選択すると、それぞれの仮想項目に割り当てられている数値型、文字型、日付型、メニュー選択型など各種の条件設定ダイアログが表示される。このため、利用者は画面指示に従って簡単に抽出条件を設定できる。
 表示項目設定機能では、検索結果のレポートに表示される表示項目を指定できるとともに、表示項目について、クロス集計の場合の行/列の指定、ソートにおける表示項目の優先順、ソート時の並び方向、小計の有無などを設定できる。
 検索要求発行機能では、レポートの件名等の設定を行い、すべての設定が完了したならば、検索実行を指示する。
 このようにして、検索要求発行手段31によって検索要求が発行される。そして、検索要求発行手段31によって発行された検索要求は、図6に示されるように、仮想データベース部20へと送出されるとともに、検索履歴管理手段34へと伝達される。
(レポート出力手段)
 レポート出力手段32は、仮想データベース部20から取得した検索結果を利用者端末上で基本的に1画面に1つの表もしくはグラフなどをレポートとして表示するほか、表計算ソフト、CSVファイル、またはHTMLファイルなどの形式で外部出力することができる。
 またレポート出力手段32は、検索結果を直接表示するだけではなく、検索結果を再編成して多次元多階層のキューブを作成し、検索結果を特定の項目でグルーピングして集計を行う機能、行および列の項目を指定してクロス集計する機能、検索したデータを特定の項目で並べ替える機能、および検索したデータをもとに計算した値を付加できる機能などを備えている。
 検索要求の表示項目は、データを識別および分類することが可能であり行や列のラベルになる見出し項目(ディメンジョン)と、分析対象となる属性を定義し値の集約が可能な値項目(メジャー)に区分される。通常は、検索要求で指定されている見出し項目についてはそれぞれの値を表示し、値項目については見出し項目で集約した集計値を表示して、レポート出力を行う。
 さらに、検索要求の見出し項目には、集約レベルを設定することができる。集約レベルが同一である見出し項目が複数ある場合には、グルーピング・合計計算などの集約操作を、個別の見出し項目ごとには行なわず、集約レベルが同一の見出し項目の組み合わせを一体として行う。
 集約レベルが2以上設定されている場合においては、利用者端末(2)から、ある集約レベルが指定された場合には、見出し項目についてはある集約レベルより上位の見出し項目のみに値を表示し、値項目については前記ある集約レベルより上位の見出し項目のみで集約した集計値を表示して、レポート出力するようにする。利用者端末(2)が前記ある集約レベルのレポートの特定のデータを選択した場合には、それより1つ下位の集約レベルの明細レコードを利用者端末(2)に表示するようにする。これにより、集約した中の1レコードを選択するとその詳細な内訳データを展開して表示するドリルダウンや、その逆のロールアップの操作を、集約レベルの設定により簡単に実現することができるようになる。
 また、スライシングは、検索要求に含まれる抽出条件の指定を変更することにより実現することができ、ダイシングは、検索要求に含まれる表示項目の指定を変更することにより実現することができる。
 利用者端末2を介してレポートのデータ分析操作が行われたとき、レポート出力手段32は、そのデータ分析操作後の表やグラフなどを作成して、再度利用者端末2に提供する。
 図6に示されるように、レポート出力手段32によって作成されたレポートは、検索リンク手段35およびダッシュボード表示手段36へと伝達される。
(ライブラリ管理手段)
 ライブラリ管理手段33は、ユーザの検索要件に基づいて作成された検索要求を保管し、ユーザの権限にしたがい許可されたユーザの間で共有することにより、定型検索のための検索テンプレートとして再利用できるようにする。またライブラリ管理手段33は、ユーザが過去に検索した検索要件に対応する検索結果を保管し、自分や他のユーザが検索結果をレポートとして参照できるようにする。これにより、ユーザ間での情報や分析ノウハウの共有を支援する役割を持つ。
図8に、ライブラリ管理手段33が機能しているときの画面イメージを示す。
 検索要求のライブラリは、本実施例では仮想データベース単位、あるいは特定のユーザのグループ単位に作成され、登録された検索要求が一覧で表示される。ライブラリに登録した検索要求は、登録者本人でなくとも、参照権限を有するユーザは参照することができる。
 ライブラリ管理手段33は、検索を定期的にスケジュール実行する機能を備えており、指定された検索要件に基づいた検索をスケジュール実行して検索結果を定期的に作成しておくことにより、一般的なユーザが日常的に使用するようなレポートは、毎回検索することなく、あらかじめ作成しておくことができる。
 図6に示されるように、ユーザが作成した検索要求は、ライブラリ管理手段33を介して、検索要求発行手段31及びダッシュボード表示手段36へと伝達される。
(検索履歴管理手段)
 検索履歴管理手段34は、検索要求に対応する検索結果を、利用者端末2の指定に基づいて、一定期間あるいは一定履歴回数保存する。このため、図6に示されるように、検索履歴管理手段34には、検索要求発行手段31によって発行された検索要求と、この検索要求に対応して仮想データベース20から取得された検索結果が入力される。
 検索要求ライブラリから表示されている検索要求の一つをマウス等で選択すると、検索履歴の保持が指定された検索要求については、直近の検索の実行日時等が検索履歴としてメニュー表示され、メニューの中から選択するとその検索結果のレポートが画面に表示される。新規に検索を行う場合には、検索履歴メニューから「新規検索」を選択する。
 検索履歴保持については、年、月、週、日等の一定期間、あるいは一定の履歴回数の検索結果を保持するように指定して、検索履歴管理手段34に登録しておくことができる。
 これらの機能を利用することにより、様々な役割とスキルユーザでも、規格化され品質の安定したレポートを、毎回検索することなく即座に入手することが出来るようになり、ユーザ間での情報の共有が容易となる。
(ダッシュボード表示手段)
 ダッシュボード表示手段36は、ユーザが必要とする多様な視点からの情報を1つのレポートとしてまとめて利用者端末2の表示部(ディスプレイ)に表示させるために、1つの画面内に複数の表やグラフを配置させることができる。ダッシュボード内の個々の表やグラフは、検索要求指示部およびレポート表示部を使って表示されるため、基本的には独立して動作することができる。ダッシュボードは、検索要求と同様にライブラリに登録しておき、テンプレートとして再利用を行ったり、過去の検索結果を参照したりすることができる。
(不整合を含むデータを扱うための機能)
 本発明は、ビジネスインテリジェンスとしての一般的な機能に加えて、不整合を含むデータを扱うことができる機能を備えている。このため、本発明は、複数の検索要求から作成された複数の検索結果にまたがる複数のレポートを関連付けて操作するための機能として、検索リンク手段35及び複数レポートの一括操作機能を備える。
 また、本発明は、マスター表などの関連する複数の仮想項目の集合を、複数の検索要求で共通的に使用できるクラス仮想項目として定義する機能を備えることにより、異なる検索要求間でも共通の仮想項目として関連付けして処理することが容易になる。
(検索リンク手段)
 検索リンク手段35は、異なる検索結果を対象とするレポートに対しても相互間の関連付けを行うことができる。この検索リンク手段35により、現在のレポートの抽出条件や選択内容を引き継ぎながら関連する他のレポートへの移動を実現する。図9に、検索リンク手段35の画面操作イメージを示す。
 検索リンク手段35では、まず、利用者端末上に表示されている表もしくはグラフの1つのデータ(レコード)を選択してマウス・クリックあるいはボタンの押し下げ等の操作を行うと、リンクが可能なレポートの一覧がメニュー表示される。例えば、図9に示された「表からの検索リンク」の例では、あるレポートの表に含まれるデータ(レコード)のうち、B産業の商品Pの数量:120を選択することで、新たなウィンドウが表れて、そのウィンドウ内には「売上月別推移」や、「担当者別明細」、「売上利益率」のように、この選択されたデータからリンク可能な別のレポートのメニューが表示される。
 そして、メニューの中から1つのレポートを選択すると、現在表示されているレポートの検索要求に含まれている抽出条件の条件項目及び条件値、並びに検索結果で選択されているレコードに対応する表示項目と表示値の引き継ぎが行われる。すなわち、リンク先の検索要求の抽出条件に引き継がれた項目と同一の項目が存在する場合には、その条件値を引き継がれた条件値に置き換えてから、リンク先の検索要求を実行して検索結果を取得し、画面が切り替わる。
 検索リンクの一覧にメニュー表示されるレポートは、リンク元の検索要求に対してライブラリに登録されている任意の検索を関連付けることにより設定し、リンク元の検索要求をライブラリに保存する際に、メニュー表示されるレポートの情報もあわせて保存される。
 上記したような複数のレポート同士の関連付け(リンク)は、データ辞書10における検索要求の定義情報に基づくものである。つまり、データ辞書10において、検索要求の定義情報には、検索の対象となるデータベースや、データベースからデータを抽出する条件が異なる複数の検索要求であっても、これらの複数の検索要求が互いに関連性を有している旨が定義されている。このため、まず、検索リンク手段35は、データ辞書10の検索要求の定義情報を参照し、この定義情報において、ある検索要求と他の検索要求が関連付けられているかどうかを確認する。これにより、検索リンク手段35は、ある検索要求に基づいて作成されたレポートと、他の検索要求に基づいて作成されたレポートとの間の関連性を把握することができる。そして、検索リンク手段35は、あるレポートのデータが指定されたときには、データ辞書10の検索要求に含まれる関連性の定義情報を参照して、その指定されたデータとの関連付けられたデータを有する他のレポートを、ユーザの利用端末上に表示する。これにより、レポート間のリンクを行う。
 続いて、図10に、検索リンク手段35において、異なる検索結果を対象とするレポートに対しても相互間の関連付けを実現することのできる、抽出条件および選択内容の引き継ぎの処理フローを示す。
 先ず検索リンク手段35は、リンク元となるレポートの検索要求から抽出条件を1つ取得する(S1)。次に検索リンク手段35は、データ辞書10を参照してリンク先となるレポートの検索要求から抽出条件を1つ取得する(S2)。そして、検索リンク手段35は、データ辞書10を参照して、リンク元の抽出条件の仮想項目とリンク先の抽出条件の仮想項目とが「同じ」ものであると関連付けられているか否かを判断する(S3)。ここで、もし、リンク元の抽出条件の仮想項目とリンク先の抽出条件の仮想項目がデータ辞書1において「同じ」と関連付けられているならば、検索リンク手段35は、リンク先の抽出条件の条件値をリンク元の抽出条件の条件値に置き換える(S4)。他方で、リンク元の抽出条件の仮想項目とリンク先の抽出条件の仮想項目が同じでなければ何もしない。
 以降、検索リンク手段35は、次のリンク先の抽出条件を同様に調査する(S5)。ここで、すべてのリンク先の抽出条件を調査し終えたと判断したならば、次のリンク元の抽出条件の調査(S6)へと進み、まだリンク先の検索要求に未処理の抽出条件があると判断したならば、再びステップS2へと戻る。その後、ステップS6では、次のリンク元の抽出条件を同様に調査する(S6)。ここで、すべてのリンク元の抽出条件を調査し終えたと判断したならば、次のステップS7へと進み、まだリンク元の検索要求に未処理の抽出条件があると判断したならば、再びステップS1へと戻る。
 次に検索リンク手段35は、リンク元となるレポートの検索結果から、画面上でマウス等により選択されているレコードを取り出し、選択レコードの表示項目と表示値のペアを1つ取得する(S7)。次に検索リンク手段35は、リンク先となるレポートの検索要求から抽出条件を1つ取得する(S8)。そして、検索リンク手段35は、データ辞書10を参照して、リンク元の選択レコードの表示項目とリンク先の抽出条件の仮想項目が「同じ」ものであると関連付けられているか否かを判断する(S9)。ここで、もし、リンク元の選択レコードの表示項目とリンク先の抽出条件の仮想項目がデータ辞書10において「同じ」と関連付けられているならば、検索リンク手段35は、リンク先の抽出条件の条件値をリンク元選択レコードの当該表示項目の表示値に置き換える(S10)。他方、リンク元の選択レコードの表示項目とリンク先の抽出条件の仮想項目が同じでなければ何もしない。
 以降、検索リンク手段35は、次のリンク先の抽出条件を同様に調査する(S11)ここで、すべてのリンク先の抽出条件を調査し終えたと判断したならば、次のリンク元の選択レコードの調査(S12)へと進み、まだリンク元の検索要求に未処理の抽出条件があると判断したならば、再びステップS8へと戻る。その後、ステップS12では、次のリンク元の選択レコードの表示項目を同様に調査する(S12)。ここで、すべてのリンク元の選択レコードの表示項目を調査し終えたと判断したならば、引き継ぎ処理を終了させ、まだリンク元の選択レコードに未処理の表示項目があると判断したならば、再びステップS7へと戻る。
 最後に、検索リンク手段35は、抽出条件が置き換えられたリンク先レポートの検索要求を仮想データベース部20に対して発行し、抽出条件および選択内容が引き継がれたリンク先の検索結果を得る。
 ここで、「同じ」と関連付けられているかどうかの判定は、本実施例においては、リンク元レポートの検索要求とリンク先レポートの検索要求が同一の仮想データベースを検索対象とする場合には、検索対象の仮想表に関わらず、仮想項目の定義(すなわち項目の名称)が同一かどうかで行っている。これにより、それぞれの検索要求間あるいは検索結果間あるいはレポート間の項目の関連付けを個別に定義することなく、異なるレポート間での抽出条件および選択内容の引き継ぎを、自動的に実現している。
 また、リンク元検索要求とリンク先検索要求の検索対象が異なる仮想データベースの場合でも、仮想項目の定義に付加された、「異なる仮想表間で同一の仮想項目である」ことの定義情報を参照することにより、関連付けを判定することができる。
(ダッシュボード連動手段)
 ダッシュボード連動手段37は、複数のレポートを同一画面上に複数配置するダッシュボードにおいても、異なる検索結果から作成された複数のレポートを一括して、データ分析操作することができる。
 図11に、ダッシュボードにおける複数レポート間の抽出条件連動の設定画面のイメージを示す。
 ダッシュボードを構成する複数のレポートの間で抽出条件を連動させるには、先ず、「条件追加」のボタンを指示して「ダッシュボード抽出条件の追加」の画面を開く(図11下)。すると、この「ダッシュボード抽出条件の追加」の画面には、抽出条件を連動させようとしているレポートの検索要求に含まれる抽出条件が表示される。そこで、この画面に表示された抽出条件の中から、任意の抽出条件を選択して、ダッシュボード抽出条件に追加を行う。追加されたダッシュボード抽出条件は、「ダッシュボード抽出条件の一覧」(図11左側)に表示される。
 例えば、図11に示された例においては、「商品別売上一覧」といったレポートの検索要求に含まれる「商品番号」といった抽出条件を、他のレポートの抽出条件と連動させようとしている。このため、図11の例では、まず、「商品別売上一覧」といったレポートの検索要求に含まれる「商品番号」といった抽出条件項目を、ダッシュボード抽出条件に追加している。
 次に、ダッシュボードの一覧からダッシュボード抽出条件の一つを選択すると、「この抽出条件と連動するレポート」という部位に、選択された抽出条件と同じ抽出条件項目を含むレポートの一覧が表示される(図11右上)。そこで、この「この抽出条件と連動するレポート」に表示されたレポートのそれぞれついて、他のレポートの抽出条件との連動の可否を指定する。これにより、1回の抽出条件設定により、抽出条件の連動が可能となっている複数のレポートの抽出条件を同時に設定することができる。
 例えば、図11に示された例において、ダッシュボードの一覧の中から「商品番号」といった抽出条件項目を選択すると、「この抽出条件と連動するレポート」という部位(図11右上)に、「商品別売上一覧」、「月次売上推移」、「担当者別実績」、および「顧客別売上ランキング」といったレポートが表示される。これは、ここに表示された各種のレポートが、「商品番号」という抽出条件と連動可能な抽出条件を有していることを意味する。そこで、これらの各種のレポートの中から、「商品番号」という抽出条件を連動させようとするレポートを任意に選択することができる。なお、図11に示した例では、「商品別売上一覧」と「月次売上推移」の抽出条件だけを連動するように設定している。
 さらに、例えば、同じ意味内容を有しているにも関わらず名称の異なっている複数の抽出条件項目を互いに連動させることもできる。例えば、図11に示された「他の抽出条件とのリンク」のボタンを指示指定すると、ダッシュボードの一覧で選択されている抽出条件(商品番号)以外の抽出条件項目が、選択可能に一覧表示される。そこで、ここに表示されている抽出条件項目の中から、ダッシュボードの一覧で選択されている抽出条件(商品番号)と連動させようとする抽出条件項目を選択する。これにより、このダッシュボードの一覧で選択されている抽出条件(商品番号)と他の抽出条件項目をリンクさせることができるようになる。なお、このようにして抽出条件のリンクが設定されたダッシュボード抽出条件は、利用時の抽出検索条件の一覧に表示されなくなり、検索実行時には、リンク元のダッシュボード抽出条件の値が、リンク先のダッシュボード抽出条件の値として、そのまま用いられる。
 図11に示された例において、このダッシュボードには「商品識別コード」というダッシュボード抽出条件項目がすでに定義されている。ただし、この「商品識別コード」という抽出条件項目は、「商品番号」という抽出条件項目と意味内容は同じものであるが、その名称が異なるため、コンピュータによる処理においては異なる抽出条件項目であると扱われる可能性が高い。そこで、これらの「商品識別コード」と「商品番号」を、操作画面上の「他の抽出条件とのリンク」の部位において互いに連動させることで、利用者端末からの入力操作に基づいて、異なるレポート間のリンク操作をより正確に行うことができるようになる。
 このようにして連動関係が指定された抽出条件項目に関する情報は、データ辞書10のプレゼンテーション構造に登録される。このような意味において、データ辞書10の内容(特に抽出条件項目同士の連動関係)は、利用者端末からの入力操作に基づいて更新されるものである。また、本発明のシステムを実際に使用することで、データ辞書10内の情報の精度を高めることができる。
 また、複数レポート間の抽出条件を連動させる機能を用いることにより、抽出条件設定時だけではなく、ダッシュボード上のレポートのドリルダウンの連動が可能となる。初期状態では条件値が空の状態でダッシュボード抽出条件項目を作成しておき、ダッシュボード上のいずれかのレポートに対してドリルダウンが指示された場合、ドリルダウンする項目がダッシュボード抽出条件項目であれば、抽出条件の連動が可となっている複数のレポートの抽出条件の値を、ドリルダウンで指示された値に置き換えることにより、ダッシュボード上の複数のレポートを連動してドリルダウンすることが可能となる。
(クラス仮想項目)
 「顧客」や「商品」、「社員」といったマスター表は、主に対象の属性を管理するために用いられ、その構造は他のデータとは独立して定義されており、また関連する複数の項目を一体で操作することが一般的である、という特徴を持つ。
 本発明は、このような関連する複数の仮想項目の集合を、仮想表とは独立して、一つの仮想項目として定義する、クラス仮想項目の機能を備える。
 例えば、コードと名称等の属性を保持するマスター表において、検索要求発行手段31の検索対象選択によりクラス仮想項目が表示項目として選択された場合には、クラス仮想項目に属する複数の仮想項目(例えば、コードと名称等)が自動的に検索要求の表示項目に追加されるようにすることができる。また、検索要求発行手段31の抽出条件設定においては、利用者には自動的にコードと名称等が併記された分かりやすいメニューを表示し、利用者がメニューから条件を選択するとコードのみが検索条件に追加されるようなナビゲーションが可能となる。
 また、階層関係にあるような複数の仮想項目の集合については、階層型クラス仮想項目を定義することができる。階層型クラス仮想項目では、例えば、検索要求指示部の抽出条件設定において、上位レベルの項目の値がメニュー表示されている中から1つを選択すると、その値に関連付けられている下位レベルの項目の値がメニュー表示され、利用者は、任意のレベルのメニュー表示された値の中から検索の抽出条件とする値を指定することができる。
 図12に、クラス仮想項目および階層型クラス仮想項目による抽出条件設定画面の操作イメージを示す。
 マスター表に属する複数の項目を、個々の仮想表に従属する形で個別に定義するのではなく、複数の仮想表で共通して使用することのできるクラス仮想項目として一括で定義することにより、異なる仮想表に対する検索要求から作成された検索結果間でも同一あるいは関連する仮想項目として抽出条件や選択条件の値の引継ぎが容易となる。また、異なる仮想表においても、検索時の抽出条件の値設定や表示項目の選択などを、共通のガイダンスや操作手順で行うことができるようになり、利用者の利便性が向上する。
<仮想データベース部の構成>
 図13に、本実施例における仮想データベース部20の機能ブロック図を示す。図13に示されるように、仮想データベース20は、検索要求翻訳手段21と、検索命令実行手段22と、データ統合加工手段23とを含む。
 仮想データベース部20は、ビジネスインテリジェンス部30で作成された検索要求を受け付け、仮想データベース部20内で検索したデータを、ビジネスインテリジェンス部30に検索結果として返す処理を行うことができる。あるいは、仮想データベース部20は、ビジネスインテリジェンス部30以外で作成された検索要求を受け付けるように構成することもでき、ビジネスインテリジェンス部30以外の外部出力先に検索結果を返すように構成することもできる。
 仮想データベース部20が受け取る検索要求の記述形式は、検索対象とする表、検索対象とする項目のリスト、抽出条件の指定、グルーピングの指定、ソート順の指定、検索結果の出力先、及び検索結果を表示する書式の指定等を含んで構成され、標準SQL構文を拡張して使用することも可能であり、あるいは専用の構文を用いても良い。
(検索要求翻訳手段)
 仮想データベース部20に入力された検索要求は、先ず、検索要求翻訳手段21に引き渡される。検索要求翻訳手段21は、検索要求解析機能と検索命令生成機能から構成される。
(検索要求解析機能)
 検索要求解析機能では、入力された検索要求における項目リスト、抽出条件、グルーピング指定及びソート順指定等に出現する項目のすべてについて、データ辞書10内の仮想データ構造の定義情報に基づいて仮想項目に変換する。さらに、重複する仮想項目を排除して、検索対象として含まれるべき仮想項目の一意のセットを作成する。
 次に、検索要求翻訳手段21は、抽出された仮想項目セットについて、算出表適用定義に基づいて算出表の検査を行い、1つ以上の適合する算出表(以下、適合算出表)を検出する。
 通常は、算出表適用定義は、上位の1つの算出表の下位に1つ以上の算出表を持つ木構造で表される。算出表適用定義の末端のノードはデータベースを検索対象とする外部算出表で構成され、それ以外の上位のノードは内部算出表で構成される。
 下位の内部算出表の上位に内部算出表が定義されている場合とは、下位の内部算出表に対応するデータ統合加工手段23の出力を、上位の内部算出表に対応するデータ統合加工手段23の入力とすることにより、データ統合加工手段23を多段階で実施することを意味する。
 仮想項目のそれぞれに対して、算出表適用定義をたどって最適な適合算出表を検出するため、仮想項目によって異なる適合算出表が検出される場合もある。その場合には、異なる適合算出表から生成された検索命令を実行する段階において、異なる検索命令実行手段あるいは異なるデータ統合加工手段により取得されたそれぞれのデータを、最終的に統合して一つの検索結果として提供する。
 算出表適用定義の上位算出表と下位算出表の関係は、本実施例においては、併合関係、選択関係、参照関係の3つから選択することができ、これによりデータ統合処理機能でのデータ統合方式が決定される。
 算出表適用定義をたどって、最適な適合算出表を検出する手順は、具体的には以下のようなる。なお、以降では、グルーピング指定または抽出条件の中で使われている仮想項目をキー項目と呼び、それ以外の仮想項目を属性項目と記述する。
(1)算出表の算出項目リストに、仮想項目セットに含まれているキー項目をすべて含んでおり、且つ仮想項目セットに含まれている属性項目を一つ以上含んでいる場合、当該算出表を適合算出表とする。なお、算出表に個別に、抽出条件の条件値による判定等の適合条件が指定されている場合には、検索要求が適合条件を満たす場合のみ、適合算出表とする。
(2)下位に複数の算出表が併合関係で定義されている場合には、先行する算出表に適合した属性項目でも、以降の算出表を検査するための仮想項目セットに残す。
(3)下位に複数の算出表が選択関係で定義されている場合には、先行する算出表に適合した属性項目は、以降の算出表を検査するための仮想項目セットから除外する。
(4)下位に算出表が参照関係で定義されている場合には、下位の算出表の項目も上位の算出表で算出可能とみなし、仮想項目セットに下位の算出表の項目が含まれているときには、上位の算出表とともに下位の算出表を適合算出表とする。
(5)以上の手順を、最上位の算出表からその下位の算出表について順番に検査し、算出表が適合した場合にはさらにその下位の算出表について順番に検査し、これを繰り返す。以降の算出表を検査するための仮想項目セットに属性項目が無くなったとき、あるいはすべての算出表を検査し終えたならば終了する。
(検索命令生成機能)
 検索要求翻訳手段21で得られた検索要求に対応する1つ以上の適合算出表は、検索命令生成機能に引き渡される。検索命令生成機能では、適合算出表に対応して、適合算出表が外部参照表である場合には、検索対象のデータベース3上で実行可能な検索命令を生成し、検索命令実行手段22に引き渡す。また、適合算出表が内部参照表である場合には、データ統合加工手段23で実行可能な1つ以上の検索命令を生成し、データ統合加工手段23に引き渡す。
 先ず、検索命令生成機能では、適合算出表の各々について、仮想項目セットのキー項目および属性項目に適合した算出項目を、各検索単位の算出項目セットとする。
 次に、検索命令生成機能では、求められた検索単位の各々における検索項目リスト、グルーピング指定、ソート指定、及び抽出条件について、仮想項目名を物理表及び物理項目を用いて記述されている算出項目の算出定義式に基づいて式展開する。
 また、算出表における算出定義式の中で複数の物理表が使われている場合、物理表結合定義から複数の物理表間の結合条件を求め、表参照式に追加する。
 検索対象のデータベースに対応する算出構文定義中の検索項目リスト、グルーピング指定式リスト、ソート指定式リスト、表参照式、抽出条件式等の各命令要素に対して、上記の式を展開して得られた式を代入することにより、実行可能な検索命令の一つが生成される。
 以上の過程を、適合算出表の個数回繰り返すことにより、一連の正規化検索命令の組を得ることができる。
 なお、本実施例においては、検索命令生成機能は一つの適合算出表から一つの検索命令を生成しているが、一つの適合算出表から複数の検索命令を生成する、あるいは複数の適合算出表から一つの検索命令を生成するように構成することも可能である。
(検索命令実行手段)
 検索命令実行手段22は、検索要求翻訳手段21の検索命令生成機能で作成された1または複数の検索命令をデータベース1に対して実行し、それぞれの検索命令に対する応答として検索データを取得して一時保管領域に格納し、データ統合加工手段23のデータ統合処理機能に送出する。
 データベース1が検索インターフェイスとしてSQL言語をサポートする場合には、データベース1の物理表に対するSQLによる検索命令の実行手段、データベース1に格納されたストアド・プロシージャを用いる検索命令の実行手段、あるいは、データベース1のSQL言語で直接定義された検索の検索結果を検索対象として検索結果から再度検索する検索命令の実行手段、のいずれか一つ以上の実行手段を備えて構成すればよい。
 また、データベース1が検索インターフェイスとしてSQL言語をサポートしない場合には、データベース1の検索インターフェイスに対応する検索命令の実行手段、データベース1がファイルシステム上のデータファイルの場合には当該データファイルに対応する検索命令の実行手段、を備えて構成すればよい。
 検索データの一時保管領域は、例えば、データベース1上における一時テーブル、特定の作業用データベース上における一時テーブル、磁気記憶媒体上の一時ファイル、メモリ上の記憶領域等を用いて構成すれば良い。
(データ統合加工手段)
 データ統合加工手段23は、検索要求翻訳手段21で生成された内部算出表に対応する検索命令に基づいて、データ統合およびデータ加工の処理を実行する。
 データ統合とデータ加工を行った結果データは、検索要求に対応する検索結果として、ビジネスインテリジェンス部30、あるいは、ビジネスインテリジェンス部30以外の出力先に送られる。
 ビジネスインテリジェンス部30以外の出力先として、例えば、データベースのテーブルに対して、結果データを出力することができる。あるいは、ファイルシステムに格納されるデータファイルやネットワークを介して送られるデータストリーム等に、結果データを出力することが可能である。この場合、結果データの出力形式としては、例えば、CSV(カンマ区切り可変長データ)形式、HTML形式、XML形式、表計算シート形式などを用いることができる。
 最も単純な構成例においては、データ統合加工手段23では、検索命令実行手段22における処理過程で分割作成される複数の中間的な検索データの1つまたは複数を入力として、データ統合とデータ加工を行って、結果データを一つの表として出力する。
 また、より複雑な構成例においては、あるデータ統合加工手段23が出力する結果データを、別のデータ統合加工手段23への入力として引き渡すように構成することが可能である。
 内部算出表に対応する検索命令が複数個発行されている場合には、検索命令に指示されている順序に従い、前段のデータ統合加工手段23が出力する結果データを、後段のデータ統合加工手段23への入力として引き渡すことにより、データ統合加工手段23の処理を順次繰り返し、多段階でデータ統合加工手段23の処理を実行することができる。
 データ統合加工手段23の機能は、データ統合処理機能と、統合されたデータの加工を行うデータ加工処理機能から構成される。
(データ統合処理機能)
 データ統合処理機能では、1つまたは複数の中間的なデータをもとに、データ統合を行って1つの表データを作成する。
 データ統合処理機能では、併合方式、選択方式、参照方式のデータ統合方式を備え、その中から最適な方式を選択あるいは組み合わせて使用することができる。
 検索要求に指定された仮想表に対してどのようにデータ統合方式を使用するかは、データ辞書10の仮想表に対応する算出表適用定義に記述される。
 図14に、これらの複数のデータ統合方式の処理概念図を示す。
 併合方式(UNION)は、検索要求に対して適用可能な複数の算出表から複数の検索命令を生成し、複数の検索命令を並列的に実行して抽出された複数の検索データをすべて併合して、先ず一つの表データにする。複数の算出表の検索データは、すべて共通のキー項目を含んでいるが、属性項目は一部の検索データにしか含まれていない。このため、この表データを、含まれるすべてのキー項目でグルーピングして、属性項目の値をグループ毎に集約することにより、キー項目がすべて重複する冗長部分(非正規性)を除去する。属性項目の集約方法は、特に指定がない場合には、数値型データは合計計算を行い、数値型以外のデータは空値と有効値の場合には有効値を選択する最大値計算を行えばよい。ただし、集約方法をデータ辞書で個別に指定することも可能である。
 図14の併合方式に示された例において、検索結果にキー項目として「得意先」と「商品」を持つことが要求されており、検索データ1と検索データ2はともにこの要件を満たし、両方に値が「得意先1」と「商品1」であるレコードが存在している。次に、属性項目の単価については、検索データ1のみに値があるため、集約して「単価1」を検索結果の値とする。また数量については、検索データ1と検索データ2の両方に値があるため、数値型の合計計算で集約して「数量1+数量2」を検索結果の値とする。
 併合方式は、それぞれのデータベースからの検索データを一つの検索命令で取得することができ、また複数の検索命令を並列で実行できるため処理パフォーマンスが高いが、集約のために必要となるキー項目が、取得した検索データにすべて含まれていることが要件となる。
 選択方式(CHOICE)は、検索要求に対して適用可能な複数の算出表を優先順位に従って検査し、要求されているキー項目をすべて含んでいることを条件に、それぞれの属性項目を含んでいる最も優先順位の高い算出表を選択して検索命令を生成し、実行して検索データを取得する。複数の属性項目に対して複数の検索命令が生成された場合には、それぞれ実行して抽出された複数の検索データを、併合方式と同様の方法でグルーピング及び集約して、冗長部分を除去する。
 図14の選択方式に示された例においては、検索結果にキー項目として「得意先」と「商品」を持つことが要求されているが、検索データ1はキー項目として「得意先」しか有していないので検索対象としない。次に、検索データ2にはキー項目として「得意先」と「商品」が含まれているので、ここから属性項目の「単価」、「数量」も取得する。これによりすべての属性項目が取得できるためここで判定を終了するが、もし属性項目の一部が取得できない場合には同様の判定をさらに続ける。
 選択方式は、あるデータベースに格納されている明細データに対して、1または複数レベルの集約データも合わせて作成されてデータベースに格納されている場合に、与えられた検索要求の要求内容を満たし、かつ最も集約レベルの高いデータを検索対象とする算出表を自動的に選択することにより、データベースに対する検索処理効率の向上を図ることが出来る。
 参照方式(LOOKUP)は、一つの算出表に対して関連する1あるいは複数の参照する算出表を関連付けておく。もとの一つの算出表に対応する検索命令を生成・実行して取得した検索データの各レコードに対して、参照する算出表ごとに算出表適用定義に定義された参照条件にもとづいて検索を行って参照データとし、もとの検索データに不足する項目について参照データの対応する項目から値を転記することにより、複数の検索データを使って結果データを算出する。
 図14の参照方式に示された例において、最初の検索データ1では「得意先」、「商品」、「数量」が得られているが、「単価」という項目が欠落している。検索データ2の参照条件が「検索データ1の商品と検索データ2の商品が同じ値であること」とすると、検索データ1で得られた商品の値「商品1」を条件として検索データ2を参照し、得られた単価の値「単価1」を検索結果の単価の値に転記する。
 参照方式は、一つの検索命令を実行して取得した検索データに必要な集約キーの一部が含まれていない場合に、別の検索命令を実行して関連する検索データを取得し、不足する集約キーを補足してから集約処理を行うことができる利点がある。
(参照の処理方式)
 参照方式においては、定義された参照条件にもとづいて検索を行って参照データを取得するが、一般に、参照条件は条件式の変数として参照元の項目を含んでいるため、参照元と参照先のデータベースが異なる場合には、参照先のデータベースで直接に検索を実行することができない。このため、異なるデータベース間の参照の処理方式は、通常のデーベースにおける結合処理(JOIN)とは違う仕組みが必要となる。
 本実施例においては、参照の処理方式として、逐次参照方式、一括結合方式及び順次併合方式の3つの処理方式を備える。図15A及び図15Bに、これらの複数の参照の処理方式の処理概念図を示す。
 逐次参照方式は、一つの検索命令を生成・実行して取得した検索データから、1レコードずつ取得する。当該レコードを参照元として検索するために、参照条件の条件式に変数として含まれている参照元の項目を、当該レコードの項目値に置換する。こうして得られた参照条件を検索命令に付加して参照先の検索データを取得し、両方のレコードを連結して結果データを算出する。以上の手順を、取得した検索データのすべてについて逐次繰り返す。
 必要となる参照の検索命令の回数は、原理的には参照元の検索データの件数となるため、特に大量のデータを参照する場合には処理時間がかかる傾向がある。しかし、参照元の検索データの1レコードずつではなく、参照元の検索データの複数レコードをまとめて1つの参照する検索命令の結合条件に組み込むことは可能であり、その場合の発行する検索命令の個数は(参照元の検索データの件数÷参照1回あたりのレコード数)となる。
 一括結合方式は、参照元の検索対象となるデータおよび参照先の検索対象となるデータのすべてを一つの作業用データベースに一旦格納し、作業用データベースに対して結合(JOIN)処理を行う検索命令を発行して、結果データを一括算出する。作業用データベースに十分な作業領域が必要で、一般に処理手順が複雑となる。
 一括結合方式の処理効率について、作業用データベースにおける結合処理は通常かなり高速であるため、結合処理の対象となるデータの作業用データベースへの転送効率、特に書き込み効率に大きく依存する。作業用データベースは検索対象のデータベースのいずれかを用いても良いため、参照元あるいは参照先のデータのいずれかが大量で、反対側は少量である場合には、大量側のデータを格納するデータベースへ少量側のデータを転送することにより、大量データの転送を行うことなく、高速に処理することが可能である。また、データの更新頻度が低く、静的に保持しても問題がないデータは、あらかじめ作業用データベースへ転送しておくことにより、参照検索の処理効率を向上させることができる。
 順次併合方式では、参照元の検索対象となるデータと参照先の検索対象となるデータを、あらかじめ参照条件の条件値の順番に並び替えておき、その後順次読み込みながら、参照元レコードと参照先レコードの参照条件の条件値を比較し、条件値が一致するものについて結果データを算出する。
 図16に、順次併合方式の処理概念を例示する。参照元データには、「出荷先コード」、「商品コード」、「数量」が含まれている。参照先データ1には、「出荷先コード」と「出荷先名」が含まれている。参照元データと参照先データ1との参照条件は、「参照元データ.出荷先コード=参照先データ1.出荷先コード」である。したがって、参照元データを出荷先コードで並べ替えし、参照先データ1を出荷先コードで並べ替えを行う。その後、参照元データと参照先データ1を順次読み込み、出荷先コードが同一のレコードについて、出荷先名は参照先データ1を転記し、その他の項目は参照元データから転記して、中間データを作成する。
 次に、中間データと参照先データ2に、同様に商品コードで並べ替えを行う。その後、中間データと参照先データ2を順次読み込み、商品コードが同一のレコードについて、商品名と単価は参照先データ2を転記し、その他の項目は中間データから転記して、結果データを作成する。もし参照元データあるいは参照先データに同一の条件値を持つレコードが複数存在する場合には、それぞれのレコードに対して結果データを作成するため、複数の結果データが出力されることとなる。
 図17に、順次併合方式の具体的な処理フローを示す。
 先ず、参照条件に含まれるすべての参照元の項目で参照元データの並び替えを行い、参照条件に含まれるすべての参照先の項目で参照先データの並び替えを行う。このとき、並び替えの順序は、参照条件の条件値が昇順となるようにする。(降順の場合には、以下の大小関係を逆に読み替えればよい。)
 次に、参照元からレコードを1件読み込む。参照先からもレコードを読み込むが、同一条件値のレコードが複数存在する場合は、同一条件値のレコードを全部読み込んでレコード・セットとする。
 参照元レコードの項目値による参照条件の条件値と、参照先レコードの項目値による参照条件の条件値とで大小比較を行う。もし、参照元レコードの条件値が小さい場合には、次の参照元レコードを読み込んで、再度、条件値の大小比較を行う。もし、参照先レコード・セットの条件値が小さい場合には、次の参照先レコード・セットを読み込んで、再度、条件値の大小比較を行う。
 もし両方の条件値が等しく、すなわち参照条件が成立しているならば、参照先レコード・セットから1件取り出して参照先レコードとし、参照元レコードの不足項目について参照先レコードから値を転記して、結果データを出力する。この処理を、参照先レコード・セットの全てのレコードについて繰り返す。これにより、参照元の1レコードと参照先のnレコードの条件値が対応する場合には、結果データがnレコード出力される。レコード・セットの処理を完了したならば、次の参照元レコードを読み込んで、再度、条件値の大小比較を行う。
 ここで参照先レコード・セットはレコード出力後もそのまま残されるため、参照元のmレコードの条件値と、参照先のnレコードを含むレコード・セットの条件値が対応する場合には、結果データがm×nレコード出力されることになる。これは、SQLのキー重複を含むレコードの結合処理と同等の結果である。
 以降、この手順をすべての参照元レコードあるいはすべての参照先レコードを処理し終えるまで繰り返す。
 順次併合方式は、検索対象となるデータを事前に並び替えておく必要はあるが、1回の全レコードの順次読み込みにより参照処理が完了するため、処理時間が極めて安定している。ただし、全体の中の一部のレコードだけが必要な場合には、全レコードの読み込みが必要となるためあまり適さない。
 また、並び替え処理や参照条件比較処理を含めて、全ての処理をシーケンシャル処理で構成できるため、メモリ消費量が極めて少なく大量データの処理に適している。特に、複数の大量データ同士を結合しなければならない場合などには、順次併合方式は大きな効果を発揮する。
 以上のように、データ統合方式について、複数の方式から最適な統合方式を選択、あるいは複数の統合方式を組み合わせて使用することができ、また統合方式が参照の場合の処理方式についても、複数の方式から最適な参照処理方式を選択、あるいは複数の参照処理方式を組み合わせて使用することができ、様々な状況において最適な統合処理効率を実現できるようにする。
(データ加工処理機能)
 データ加工処理機能では、データ統合処理機能で得られた一つの表データに対して、以下のような処理を行い、検索命令における指示内容に適合する結果データとして出力する。
(1)キー項目でグルーピングし、属性項目の値をグループ毎に集約する、分類・集約処理
(2)検索命令にデータ編集の指定がある場合には、数値演算、文字列操作、日付変換、コード変換等のデータ編集処理
(3)データ抽出条件が指定されている場合には、特定の値範囲条件指定、文字列のパターン・マッチング等によるデータ抽出処理
(4)検索命令に出力順が指定されている場合には、ソート処理
 また、データ加工処理機能には、レコード内のスカラー演算では処理することが困難な、レコード間の関係・順序に依存するような演算を行う機能を持たせることも可能である。そのような機能の例を、以下に挙げる。
(1)1番目の合計、1番目と2番目の合計、1番目と2番目と3番目の合計、といった累計処理
(2)1番目の合計、1番目と2番目の合計、2番目と3番目の合計、3番目と4番目の合計、といった移動累計処理
(3)1番目の値、2番目と1番目の差分、3番目と2番目の差分、といった差分処理
(4)先頭値、末尾値、先頭からn件目、末尾からn件目などのレコード連番にもとづく処理
(5)直前レコード、直後レコードなどのレコード順番による処理
(6)分散、相関、推定、検定などの統計処理
 このような処理は、SQLの分析関数を使用しても実現が可能なものもあるが、通常のデータベース・エンジンではSQLの分析関数はメモリ上での処理となるため、処理できるデータ量に制約があり、大量データの処理に適さない。本実施例のデータ加工処理機能は、ストリーム処理が前提となっているため、メモリの消費量がきわめて少なく、大量データの処理に適しているという利点がある。
(検索命令生成機能の最適化)
 また、検索命令実行手段22で取得した複数の中間的な検索データをもとに、データ統合加工手段23においてデータ統合処理やデータ加工処理を行う。このため、検索要求翻訳手段21の検索命令生成機能においては、処理対象とするデータベースからの結果データのレコード件数を最少とするように、検索命令を生成することが重要である。これにより、結果データの転送による通信オーバーヘッドを減らすとともに、データ統合加工手段23での処理効率を向上することができる。このため、検索命令生成機能では、以下のような対応を行う。
 検索要求に指示されている仮想データベース部に対する抽出条件のうち、可能なものについてデータベースに対する検索命令に変換して適用する。これにより、検索対象となるデータおよび検索結果として返されるデータを絞り込むことができる。
 検索要求で要求されている分類集計のうち、可能なものについてデータベースに対する検索命令であらかじめ分類集計し検索結果を集約する。これにより、データベースから出力される検索結果のデータ件数を削減できる。
 また、コード・名称変換のような、頻繁にデータの更新が行われない静的な属性を管理するマスターを参照するような処理は、件数が多いデータベースへの明細データの検索段階では行わず、件数の少ない集約後のデータに対して行う。これにより、参照処理の回数を減らすことが可能である。
(データ・キャッシュ)
 さらに、データ統合加工手段では、検索処理効率の向上のため、検索データをキャッシュする機構を備えることができる。図18は、検索データ・キャッシュの処理概念図を示している。検索データ・キャッシュは、データ統合処理の結果の表データ、あるいはデータベース検索実行機能における処理過程で分割作成される中間的な検索データを、事前に作成して検索データ・キャッシュ用の外部記憶領域に格納しておき、検索実行時には、データベースの代わりに、検索データ・キャッシュ用の外部記憶領域のデータを参照することにより、実現される。
 検索データ・キャッシュ用の外部記憶領域にあらかじめ格納するタイミングは、管理者の指定する一定の日時、あるいは利用者による初回検索時、あるいはデータ更新など外部のイベントによる起動など、任意に設定することができ、また管理者の指定により検索データ・キャッシュの有効期限を設定し、有効期間を超えている場合には検索データ・キャッシュを再作成するようにできる。
 また検索データ・キャッシュの作成対象範囲については、仮想表あるいは算出表単位に、利用者の選択可能な項目はすべて含み、利用者の指定可能な抽出条件はすべての値を含んで、作成するようにできる。これにより、仮想表あるいは算出表を対象とする検索のすべてに対して、検索データ・キャッシュが有効となり、検索処理効率の高速化が図られる。
(データ統合加工手段の多段階化の効果)
 本発明は、データ統合加工手段23の処理を多段階で実行することができる機能を備えている。このような多段階のデータ統合加工の必要性は、特定対象の件数を求める場合や、全体構成比を求める場合、出現頻度を求める場合、あるいは上位/下位n件のみ出力する場合などがあり、特に検索結果の指標化などの統計加工を行う段階において多く発生する。
 また、大量データに対して複雑な統計処理を行う場合には、処理効率の観点から、ステップを分けてデータ統合加工を実行する必要がある場合が多く見うけられる。
 本発明では、データ辞書の算出表適用定義に、適用する仮想項目とともに、多段階のデータ統合加工を定義しておくことにより、利用者からの検索要求に応じて、仮想項目ごとに自動的に必要な段数のデータ統合加工を判別して、適切な段数のデータ統合加工処理を実行することができる。
 多段階のデータ統合加工手段を含む処理イメージを、図19にもとづいて説明する。
 データベースには、販売店ごとに分割された複数の出荷データ(物理表:T1およびT2)が格納されており、それぞれに商品、出荷先、出荷数量に相当する項目が含まれている。しかしながら、T1とT2は、検索に用いられない「・・・」で示される部位が異なっており、また登録されている項目の名称が異なる(「販売店名」と「Dealer」、「商品名」と「Product」等)といった点において、データのフォーマットが異なっている。このT1及びT2を含んで構築されたデータベースから、Rで示されるような商品別に出荷数量と出荷先数を集計した最終的な検索結果を得たいとする。
 まず、商品別の出荷数量を取得するには、T1およびT2から必要なデータを抽出した複数の検索データに対して、データ辞書に基づいて名称の異なる項目を関連付けるなどして一つの表に統合し、統合されたデータを商品別に集計する。これにより、商品別に出荷数量をカウントした第1の結果データ(V1)が得られる。この場合、データ統合加工手段の実行は1回である。
 一方、商品別に出荷先数と出荷数量を取得する場合には、T1およびT2から取得して一つの表に統合したデータに対して、一旦、重複する出荷先を排除するために商品別・出荷先別にデータを集約(V2)してから、商品別に出荷先数のカウントを行って第2の結果データ(V3)を得る必要がある。このため、商品別・出荷先別のデータ集約と、出荷先件数のカウントとで、データ統合加工手段の実行は2回必要となる。
 そして、第1の結果データ(V1)と第2の結果データ(V3)のデータをまとめることにより、検索要求に対応した最終的な結果データRを得ることができる。
 ここで、検索結果を得るために必要なデータ統合加工の段数は、データ辞書に基づいて自動的に判別されているため、利用者は全く意識する必要がない。
 本発明における多段階でのデータ統合加工の実現により、利用者は、従来はデータベースから直接に取得することが困難であった複雑あるいは高度な統計処理などを含むレポートを、検索要求を発行するだけで簡単に取得できるようになり、事前や事後に人手によるデータ加工を行う必要がなくなる。すなわち、従来の仮想データベースに比べて、より複雑あるいは高度な検索要件に対して、柔軟に対応できるという特長を有している。
 以上、本願明細書では、本発明の内容を表現するために、図面を参照しながら本発明の実施形態の説明を行った。ただし、本発明は、上記実施形態に限定されるものではなく、本願明細書に記載された事項に基づいて当業者が自明な変更形態や改良形態を包含するものである。
1…データベース            2…利用者端末
3…管理者端末             10…データ辞書
20…仮想データベース部        21…検索要求翻訳手段
22…検索命令実行手段         23…データ統合加工手段
30…ビジネスインテリジェンス部    31…検索要求発行手段
32…レポート出力手段         33…ダッシュボード手段
34…ライブラリ管理手段        40…データ辞書編集部
100…データ検索装置

Claims (25)

  1.  検索命令に応答して検索データを返す2以上のデータベース(1)をデータソースとするデータ検索装置であって、
     利用者端末(2)を入力支援して検索要件に適合する検索要求を発行するためのプレゼンテーション構造の定義情報と、前記検索要求を解析して前記データベース(1)で処理可能な物理情報で表される検索命令に変換するための仮想データ構造の定義情報と、異なる検索要求間の関連性を管理するための検索要求の定義情報と、を含むデータ辞書(10)と、
     前記データ辞書(10)で定義された前記プレゼンテーション構造に基づいて前記利用者端末(2)を入力支援して、前記プレゼンテーション構造に基づき記述された検索要求を発行するとともに、当該検索要求を仮想データベース部(20)で実行して取得した前記仮想データ構造に基づく検索結果を、前記利用者端末(2)に対して出力するビジネスインテリジェンス部(30)と、
     前記データ辞書(10)で定義された前記仮想データ構造に基づいて前記検索要求を解析して検索命令を生成し、生成された検索命令を前記データベース(1)でそれぞれ実行して2以上の検索データを取得し、取得された2以上の検索データを統合加工して検索要求に対応する検索結果を作成する仮想データベース部(20)と、
    を含み、
     異なる検索要求に対応して作成された複数の検索結果を、前記検索要求の定義情報により関連付ける
     データ検索装置。
  2.  前記仮想データベース部(20)は、前記検索要求の定義情報において関連付けられた異なる検索要求に対応する複数の検索結果を作成した場合には、作成した複数の検索結果を自動的に関連付け、
     前記ビジネスインテリジェンス部(30)は、前記仮想データベース部(20)が関連付けた複数の検索結果からそれぞれ複数のレポートを作成するとともに、作成した複数のレポートを自動的に関連付ける
     請求項1に記載のデータ検索装置。
  3.  前記ビジネスインテリジェンス部(30)は、
     前記利用者端末(2)を前記データ辞書(10)の前記プレゼンテーション構造に基づいて支援して、前記プレゼンテーション構造に基づく検索要求を前記仮想データベース部(20)に対して発行する検索要求発行手段(31)と、
     前記仮想データベース部(20)から取得した検索結果をもとにレポートを作成し、前記利用者端末(2)に対して送出するレポート出力手段(32)と、を有する
     請求項1に記載のデータ検索装置。
  4.  前記ビジネスインテリジェンス部(30)は、
     複数の検索要求を実行して得られた複数の検索結果から作成された複数のレポートを順次あるいは同時に表示することができ、
     前記データ辞書(10)に含まれる異なる検索要求間の関連性を管理する前記検索要求の定義情報により、複数のレポートを相互に関連付けて操作できる
     請求項3に記載のデータ検索装置。
  5.  前記ビジネスインテリジェンス部(30)は、
     第1の検索要求に対して第2の検索要求を関連検索として対応付けし、
     前記利用者端末(2)において第1の検索要求を実行して第1の検索結果を表示し、その後、第1の検索結果に含まれるデータを選択して第2の検索要求へのリンクを指示することにより、
     第1の検索要求に含まれている抽出条件の項目と条件値、および第1の検索結果の中から選択されたデータに対応する項目と表示値を第2の検索要求に引き継ぎ、
     第2の検索要求の抽出条件に、第1の検索要求から引き継がれた項目と関連付けられた関連項目が存在する場合には、その関連項目の条件値を、第1の検索要求から引き継がれた条件値に置き換えて、第2の検索要求を実行して第2の検索結果を表示する
     請求項4に記載のデータ検索装置。
  6.  前記ビジネスインテリジェンス部(30)は、
     複数の検索結果から出力された複数のレポートを同一画面上に配置したダッシュボードを構成することができ、
     ダッシュボード内の1つのレポートの検索結果に含まれるデータが選択された場合には、選択されたデータに対応する見出し項目及び表示値をダッシュボード内の他のレポートに引き継ぎ、
     他のレポートの検索要求の抽出条件に引き継がれた見出し項目と関連付けられた項目が存在する場合には、その抽出条件の条件値を引き継がれた表示値に置き換えて、検索要求を実行して新たな検索結果を表示することにより、ダッシュボード内の複数のレポートを連動して操作することができる
     請求項4に記載のデータ検索装置。
  7.  前記ビジネスインテリジェンス部(30)の前記レポート出力手段(32)は、
     検索要求が、分類が可能な複数の見出し項目(ディメンジョン)と、集約が可能な1以上の値項目(メジャー)を含む場合には、集約レベルが同一である見出し項目の組み合わせについて一体として集約操作を行うものであり、
     前記集約レベルが2以上設定されている場合において、
     ある集約レベルでの検索結果を前記利用者端末(2)に表示するときには、見出し項目については前記ある集約レベルより上位の見出し項目のみに値を表示し、値項目については前記ある集約レベルより上位の見出し項目のみで集約した集計値を表示するようにし、
     前記利用者端末(2)が前記ある集約レベルの検索結果の特定のデータを選択したときには、選択した特定のデータの表示されている見出し項目と同一の見出し項目を持つ1つ下位の集約レベルの明細レコードを前記利用者端末(2)に表示する
     請求項3に記載のデータ検索装置。
  8.  前記ビジネスインテリジェンス部(30)は、
     前記利用者端末(2)が一度作成した検索要求を保存しておき、読み込んで再利用することができるライブラリ管理手段(33)を有し、
     ライブラリ管理手段(33)を利用できる前記利用者端末(2)を、利用者の権限に応じて設定することにより、利用目的に応じて検索要求を共有することができる
     請求項3に記載のデータ検索装置。
  9.  前記ビジネスインテリジェンス部(30)は、
     検索要求に対応する検索結果を、前記利用者端末(2)の指定により、一定期間あるいは一定履歴回数、保存することができる検索履歴管理手段(34)を有し、
     前記利用者端末(2)において、ライブラリの中から検索要求を指定すると、その検索要求に対応する検索結果が一覧表示され、
     その中から検索結果を指定することにより、検索結果を直接参照することができる
     請求項3に記載のデータ検索装置。
  10.  前記検索要求発行手段(31)は、
     関連する複数の項目を一つの概念であらわす集合項目を扱うことができ、
     前記集合項目を検索要求の抽出条件に指定する場合には、前記集合項目に含まれる前記関連する複数の項目の値を参照しつつ条件値の設定ができるとともに、
     前記集合項目を検索結果の表示項目に追加する前記利用者端末(2)の入力操作により、前記集合項目に含まれる前記関連する複数の項目が自動的に検索結果の表示項目に追加される
     請求項3に記載のデータ検索装置。
  11.  前記検索要求発行手段(31)の前記集合項目は、
     互いに階層関係にある1以上の項目から構成され、
     前記利用者端末(2)の画面において、上位レベルの項目の値が一覧で表示されている中から1つの値を選択すると、その値に関連付けられている下位レベルの項目の値が一覧で表示され、
     前記利用者端末(2)は、任意のレベルの一覧で表示された値の中から、検索の抽出条件とする値を指定することができる
     請求項10に記載のデータ検索装置。
  12.  前記仮想データベース部(20)は、
     前記検索要求を、前記データ辞書(10)の前記仮想データ構造に基づいて解析して、前記2以上のデータベース(1)に対する検索命令を生成する検索要求翻訳手段(21)と、
     前記検索要求翻訳手段(21)によって生成された検索命令を前記2以上のデータベース(1)のうちのいくつかに対してそれぞれ実行して2以上の検索データを取得する検索命令実行手段(22)と、
     前記検索命令実行手段(22)によって取得された2以上の検索データを統合加工してデータ検索要求に対応する検索結果を作成するデータ統合加工手段(23)と、を有する
     請求項1に記載のデータ検索装置。
  13.  前記検索要求翻訳手段(21)は、
     前記検索要求を、前記データ辞書(10)の前記仮想データ構造に基づいて解析して、
     検索対象のデータベース上で実行可能な検索命令と、前記データ統合加工手段(23)で実行可能な検索命令を生成し、
     あるデータ統合加工手段(23)に対する検索命令の出力を、他のデータ統合加工手段(23)に対する検索命令の入力とすることにより、多段階にわたるデータ統合加工を行う、検索命令を生成することができる、
     請求項12に記載のデータ検索装置。
  14.  前記検索要求翻訳手段(21)は、
     検索要求に指示されている前記仮想データベース部(20)に対する抽出条件は、前記データベース(1)に対する検索命令に変換して適用し、
     検索要求で要求されている分類集計は、あらかじめ前記データベース(1)で実行し、
     対象の静的な属性を管理するマスターを参照する処理は、明細データの検索段階では行わずに、データが集約された段階で実行し、
     これにより、前記データベース(1)から送出されるデータ量が最小となるように検索命令を最適化する、
     請求項12に記載のデータ検索装置。
  15.  前記検索命令実行手段(22)は、
     前記データベースが検索インターフェイスとしてSQL言語をサポートする場合には、
      前記データベースの物理表に対するSQLによる検索命令の実行手段、
      前記データベースに格納されたストアド・プロシージャを用いる検索命令の実行手段、あるいは
      前記データベースのSQL言語で直接定義された検索の検索結果を検索対象として検索結果から再度検索する検索命令の実行手段、
     のいずれか一つ以上の実行手段を備え、
     前記データベースが検索インターフェイスとしてSQL言語をサポートしないデータベースの場合には、
      当該データベースの検索インターフェイスに対応する検索命令の実行手段を備え、
     前記データベースがファイルシステム上のデータファイルの場合には、
      当該データファイルに対応する検索命令の実行手段を備える、
     請求項12に記載のデータ検索装置。
  16.  前記データ統合加工手段(23)は、
     前記検索命令実行手段(22)によって取得された中間的な検索データ、あるいは他のデータ統合加工手段(23)が出力する結果データの一つまたは複数を入力として、データ統合とデータ加工を行って、結果データを一つの表として出力することができ、
     さらに結果データを他のデータ統合処理加工手段(23)に入力として引き渡すことにより、複数段にわたるデータ統合加工の処理を行うことができる、
     請求項12に記載のデータ検索装置。
  17.  前記データ統合加工手段(23)は、
     各データベースから抽出・集計した中間データを併合した後にキーで集約する併合方式、
     あるいは、検索要求の内容に応じて、複数のデータベースの検索対象候補から検索対象を自動的に選択して抽出・集計する選択方式、
     あるいは、一つのデータベースから取得した中間データの各レコードに対して、あらかじめ定義された参照条件にもとづいて他のデータベースから参照データを取得し、もとの中間データに不足する項目を参照データから補完する参照方式
     のいずれか一つ以上のデータ統合方式を備えており、その中から最適な方式を選択することができる
     請求項12に記載のデータ検索装置。
  18.  前記データ統合加工手段(23)のデータ統合方式における参照方式は、
     一つのデータベースから抽出・集計した中間データを基に、中間データの各レコードに対してその他のデータベースを結合条件にしたがい逐次検索して統合する逐次参照方式、
     あるいは、他のデータベースから抽出・集計した中間データを、一つのデータベース管理システムに転送し、転送された中間データ同士、または中間データとデータベース管理システム内のデータをデータベース管理システムの結合機能で統合する一括結合方式、
     あるいは、参照元の検索対象となるデータと参照先の検索対象となるデータを取得して、あらかじめ参照条件の条件値の順番に並び替えておき、その後参照元レコードと参照先レコードを順次1件ずつ読み込みながら参照条件の条件値を比較し、参照条件が成立するものについて統合する順次併合方式
     のいずれか一つ以上の参照処理方式を備えており、その中から最適な方式を選択できる
     請求項17に記載のデータ検索装置。
  19.  前記データ統合加工手段(23)は、
     キー項目でグルーピングし属性項目の値をグループ毎に集約する分類・集約処理、項目の値に関するデータ編集処理、判定条件によるデータ抽出処理、出力順指定によるソート処理の機能を備え、
     また、レコード間の関係や順序に依存する演算に対応することのできる、
     請求項12に記載のデータ検索装置。
  20.  前記データ統合加工手段(23)は、
     データ統合とデータ加工を行った結果データを、
     ビジネスインテリジェンス部(30)、
     他のデータ統合処理加工手段(23)、
     データベースのテーブル、
     ファイルシステムに格納されるデータファイル、または
     ネットワークを介して送られるデータストリーム、
    のいずれかの外部の出力先に、出力することができる、
     請求項12に記載のデータ検索装置。
  21.  前記データ統合加工手段(23)は、
     データ統合処理の結果の表データ、あるいは検索命令実行の結果として分割作成される中間的な検索データを、事前に作成して外部記憶領域に格納しておき、検索実行時には、データベースの代わりに当該外部記憶領域に格納されたデータを参照する検索データ・キャッシュを備える
     請求項12に記載のデータ検索装置。
  22.  前記データベース(1)は、
     リレーショナルデータベース、オブジェクト指向データベース、XMLデータベース、ファイルシステム、URLディレクトリ管理システム、データウェアハウス、データマートのうちの少なくとも1つを含む
     請求項1に記載のデータ検索装置。
  23.  コンピュータを、検索命令に応答して検索データを返す2以上のデータベース(1)をデータソースとするデータ検索装置として機能させるプログラムであって、
     前記コンピュータを、
     利用者端末(2)を入力支援して検索要件に適合する検索要求を発行するためのプレゼンテーション構造の定義情報と、前記検索要求を解析して前記データベース(1)で処理可能な物理情報で表される検索命令に変換するための仮想データ構造の定義情報と、異なる検索要求間の関連性を管理するための検索要求の定義情報と、を含むデータ辞書(10)と、
     前記データ辞書(10)で定義された前記プレゼンテーション構造に基づいて前記利用者端末(2)を入力支援して、前記プレゼンテーション構造に基づき記述された検索要求を発行するとともに、当該検索要求を仮想データベース部(20)で実行して取得した前記仮想データ構造に基づく検索結果を、前記利用者端末(2)に対して出力するビジネスインテリジェンス部(30)と、
     前記データ辞書(10)で定義された前記仮想データ構造に基づいて前記検索要求を解析して検索命令を生成し、生成された検索命令を前記データベース(1)でそれぞれ実行して2以上の検索データを取得し、取得された2以上の検索データを統合加工して検索要求に対応する検索結果を作成する仮想データベース部(20)と、を含み、
     異なる検索要求に対応して作成された複数の検索結果を、前記検索要求の定義情報により関連付ける
     データ検索装置として機能させるプログラム。
  24.  前記仮想データベース部(20)は、前記検索要求の定義情報において関連付けられた異なる検索要求に対応する複数の検索結果を作成した場合には、作成した複数の検索結果を自動的に関連付け、
     前記ビジネスインテリジェンス部(30)は、前記仮想データベース部(20)が関連付けた複数の検索結果からそれぞれ複数のレポートを作成するとともに、作成した複数のレポートを自動的に関連付ける
     請求項23に記載のプログラム。
  25.  請求項23に記載のプログラムを格納したコンピュータが読み取り可能な記録媒体。
PCT/JP2015/082316 2014-11-19 2015-11-17 データ検索装置、プログラム、及び記録媒体 WO2016080413A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US15/506,095 US9922054B2 (en) 2014-11-19 2015-11-17 Data retrieval apparatus, program and recording medium
CN201580053020.8A CN106716416B (zh) 2014-11-19 2015-11-17 数据检索装置及记录介质
SG11201701066XA SG11201701066XA (en) 2014-11-19 2015-11-17 Data retrieval apparatus, program and recording medium
EP15862061.7A EP3171282A4 (en) 2014-11-19 2015-11-17 Data retrieval apparatus, program and recording medium
JP2015558298A JP5916974B1 (ja) 2014-11-19 2015-11-17 データ検索装置、プログラム、及び記録媒体
US15/885,042 US10853387B2 (en) 2014-11-19 2018-01-31 Data retrieval apparatus, program and recording medium
US17/077,368 US11216486B2 (en) 2014-11-19 2020-10-22 Data retrieval apparatus, program and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-234228 2014-11-19
JP2014234228 2014-11-19

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/506,095 A-371-Of-International US9922054B2 (en) 2014-11-19 2015-11-17 Data retrieval apparatus, program and recording medium
US15/885,042 Continuation US10853387B2 (en) 2014-11-19 2018-01-31 Data retrieval apparatus, program and recording medium

Publications (1)

Publication Number Publication Date
WO2016080413A1 true WO2016080413A1 (ja) 2016-05-26

Family

ID=56013948

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/082316 WO2016080413A1 (ja) 2014-11-19 2015-11-17 データ検索装置、プログラム、及び記録媒体

Country Status (6)

Country Link
US (2) US9922054B2 (ja)
EP (1) EP3171282A4 (ja)
JP (3) JP6542154B2 (ja)
CN (1) CN106716416B (ja)
SG (1) SG11201701066XA (ja)
WO (1) WO2016080413A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019029003A (ja) * 2017-07-31 2019-02-21 株式会社リコー 特徴分析方法、特徴分析装置、電子機器、プログラム及び記憶媒体
JP2019207469A (ja) * 2018-05-28 2019-12-05 富士通株式会社 テーブル生成方法、テーブル生成装置およびテーブル生成プログラム
WO2022181122A1 (ja) * 2021-02-25 2022-09-01 日本電気通信システム株式会社 運用支援装置、システム及び方法並びにコンピュータ可読媒体

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10560440B2 (en) 2015-03-12 2020-02-11 Fornetix Llc Server-client PKI for applied key management system and process
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10931653B2 (en) * 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US11063980B2 (en) 2016-02-26 2021-07-13 Fornetix Llc System and method for associating encryption key management policy with device activity
US10348485B2 (en) 2016-02-26 2019-07-09 Fornetix Llc Linking encryption key management with granular policy
US10917239B2 (en) 2016-02-26 2021-02-09 Fornetix Llc Policy-enabled encryption keys having ephemeral policies
US10747763B2 (en) * 2016-05-11 2020-08-18 International Business Machines Corporation Efficient multiple aggregation distinct processing
JP6235082B1 (ja) * 2016-07-13 2017-11-22 ヤフー株式会社 データ分類装置、データ分類方法、およびプログラム
US10311047B2 (en) * 2016-10-19 2019-06-04 Salesforce.Com, Inc. Streamlined creation and updating of OLAP analytic databases
JP2018092404A (ja) * 2016-12-05 2018-06-14 富士ゼロックス株式会社 ファイル管理装置及びプログラム
KR101758219B1 (ko) * 2017-01-24 2017-07-14 김훈 수치정보 검색이 가능한 수치정보 관리장치
WO2018154725A1 (ja) * 2017-02-24 2018-08-30 株式会社日立製作所 計算機及びキャッシュ制御方法
JP6353612B1 (ja) * 2017-03-17 2018-07-04 株式会社三井住友銀行 経営情報システム、方法、およびプログラム
JP6817865B2 (ja) * 2017-03-28 2021-01-20 株式会社オービック 情報表示装置、情報表示方法および情報表示プログラム
CN109696506B (zh) * 2017-10-23 2021-04-06 中国石油化工股份有限公司 一种用于对样品进行分子识别的方法
US10776331B2 (en) * 2017-11-27 2020-09-15 Red Hat, Inc. Normalizing compound artifact dependency data
CN108062384A (zh) * 2017-12-13 2018-05-22 阿里巴巴集团控股有限公司 数据检索的方法和装置
JP7079660B2 (ja) * 2018-05-23 2022-06-02 株式会社オービック 分析業務支援装置、分析業務支援方法および分析業務支援プログラム
US11880418B2 (en) * 2018-10-16 2024-01-23 Open Text Sa Ulc Real-time monitoring and reporting systems and methods for information access platform
KR102233944B1 (ko) * 2019-04-05 2021-03-30 주식회사 티맥스티베로 데이터베이스 관리를 위한 컴퓨터 프로그램
KR102214697B1 (ko) * 2019-04-17 2021-02-10 주식회사 티맥스티베로 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램
CN110222028B (zh) * 2019-04-30 2022-11-15 重庆小雨点小额贷款有限公司 一种数据管理方法、装置、设备及存储介质
US11899690B2 (en) * 2019-09-02 2024-02-13 Nippon Telegraph And Telephone Corporation Data analytical processing apparatus, data analytical processing method, and data analytical processing program
CN111259046B (zh) * 2020-01-17 2023-02-28 深圳市魔数智擎人工智能有限公司 一种并行化sql自动生成方法
JP7434117B2 (ja) * 2020-09-10 2024-02-20 株式会社東芝 対話装置、方法、及びプログラム
WO2022091204A1 (ja) * 2020-10-27 2022-05-05 日本電信電話株式会社 データ分析処理装置、データ分析処理方法、およびプログラム
US20240020316A1 (en) * 2020-10-27 2024-01-18 Nippon Telegraph And Telephone Corporation Data analysis processing apparatus, data analysis processing method, and program
CN112860812B (zh) * 2021-02-09 2023-07-11 北京百度网讯科技有限公司 在大数据中无侵入确定数据字段级关联关系的方法和装置
CN112948382A (zh) * 2021-02-26 2021-06-11 平安科技(深圳)有限公司 基于大数据的信息处理方法、装置及相关设备
US11514042B1 (en) * 2021-06-03 2022-11-29 Sap Se Managing multiple cache specifications within a database environment
CN113468279B (zh) * 2021-06-30 2023-09-08 杭州云深科技有限公司 获取目标用户关联关系的系统
CN113704306B (zh) * 2021-08-31 2024-01-30 上海观安信息技术股份有限公司 数据库的数据处理方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319753A (ja) * 1996-05-30 1997-12-12 Nec Corp データベース接続方式
JPH1063594A (ja) * 1996-08-23 1998-03-06 Hitachi Inf Syst Ltd ネットワーク管理システム
JP2009245282A (ja) * 2008-03-31 2009-10-22 Japan Research Institute Ltd データ検索システム、データ検索方法、およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3213585B2 (ja) 1998-07-09 2001-10-02 株式会社インフォメックス データ検索方法及び装置、データ検索システム、記録媒体
US7849114B2 (en) * 2006-06-19 2010-12-07 International Business Machines Corporation Method, system, and program product for generating a virtual database
EP2019369A1 (en) * 2007-07-27 2009-01-28 Dexton Software Solutions B.V. Integrator module for several computer applications
US8341095B2 (en) * 2009-01-12 2012-12-25 Nec Laboratories America, Inc. Supervised semantic indexing and its extensions
CN102236691A (zh) * 2010-05-04 2011-11-09 张文广 精确导向搜索工具系统
US8548969B2 (en) * 2010-06-02 2013-10-01 Cbs Interactive Inc. System and method for clustering content according to similarity
CN102117320B (zh) * 2011-01-11 2012-07-25 百度在线网络技术(北京)有限公司 一种结构化数据搜索的方法和装置
JP3213585U (ja) 2017-09-07 2017-11-16 株式会社アイズファクトリー 蓋状玩具

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319753A (ja) * 1996-05-30 1997-12-12 Nec Corp データベース接続方式
JPH1063594A (ja) * 1996-08-23 1998-03-06 Hitachi Inf Syst Ltd ネットワーク管理システム
JP2009245282A (ja) * 2008-03-31 2009-10-22 Japan Research Institute Ltd データ検索システム、データ検索方法、およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3171282A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019029003A (ja) * 2017-07-31 2019-02-21 株式会社リコー 特徴分析方法、特徴分析装置、電子機器、プログラム及び記憶媒体
JP2019207469A (ja) * 2018-05-28 2019-12-05 富士通株式会社 テーブル生成方法、テーブル生成装置およびテーブル生成プログラム
JP7060797B2 (ja) 2018-05-28 2022-04-27 富士通株式会社 テーブル生成方法、テーブル生成装置およびテーブル生成プログラム
WO2022181122A1 (ja) * 2021-02-25 2022-09-01 日本電気通信システム株式会社 運用支援装置、システム及び方法並びにコンピュータ可読媒体
JP7481056B2 (ja) 2021-02-25 2024-05-10 日本電気通信システム株式会社 運用支援装置、システム、方法及びプログラム

Also Published As

Publication number Publication date
JP2016146205A (ja) 2016-08-12
EP3171282A4 (en) 2017-12-06
JP2018136963A (ja) 2018-08-30
JP6580737B2 (ja) 2019-09-25
US20180157683A1 (en) 2018-06-07
JP2019194881A (ja) 2019-11-07
CN106716416A (zh) 2017-05-24
US10853387B2 (en) 2020-12-01
CN106716416B (zh) 2018-04-27
SG11201701066XA (en) 2017-03-30
JP6542154B2 (ja) 2019-07-10
EP3171282A1 (en) 2017-05-24
JP6857689B2 (ja) 2021-04-14
US20170286454A1 (en) 2017-10-05
US9922054B2 (en) 2018-03-20

Similar Documents

Publication Publication Date Title
JP6580737B2 (ja) データ検索装置、データ検索方法、データ検索プログラム、及び記録媒体
US11461294B2 (en) System for importing data into a data repository
US20200301895A1 (en) System for analysing data relationships to support data query execution
US11675781B2 (en) Dynamic dashboard with guided discovery
US20180095952A1 (en) System for data management in a large scale data repository
US9075859B2 (en) Parameterized database drill-through
CN116097241A (zh) 使用语义角色的数据准备
JP6623754B2 (ja) 表形式データ処理プログラム、方法及び装置
KR101829198B1 (ko) 보고서의 중요도를 분석하는 메타 데이터 기반 온라인 분석 프로세싱 시스템
Cecelja Manufacturing Information and Data Systems: Analysis, Design and Practice
CN111241176A (zh) 一种数据治理管理系统
Savinov ConceptMix-Self-Service Analytical Data Integration based on the Concept-Oriented Model.
JP5916974B1 (ja) データ検索装置、プログラム、及び記録媒体
Chatziantoniou et al. Just-In-Time Modeling with DataMingler.
Chandwani et al. Implementation of star schemas from ER Model
KR102488466B1 (ko) 테이블 다이어그램 기반형 키-밸류 db 설계 정보처리장치 및 방법
Maftei Resource management tool: modern application architecture with focus on database performance
Biniek Zastosowanie metody metamodelowania w Business Intelligence
Biniek Application of the meta-modelling method in Business Intelligence
Mangaiyarkkarasi On Line Analytical Processing–An Overview
At-taibe et al. From ER models to multidimensional models: The application of Moody and Kortink technique to a university information system
JP2007058874A (ja) バッチ処理装置、バッチ処理方法、及びバッチ処理プログラム、並びにバッチ処理システム
Savinov Self-Service Analytical Data Integration based on the Concept-Oriented Model
P Snehalatha Logical Modeling of ETL Processes Using XML
Niu et al. Data Warehouse Query Construction and Situation Presentation

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2015558298

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15862061

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015862061

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015862061

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15506095

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE