WO2016157707A1 - 表操作システム、方法およびプログラム - Google Patents

表操作システム、方法およびプログラム Download PDF

Info

Publication number
WO2016157707A1
WO2016157707A1 PCT/JP2016/001011 JP2016001011W WO2016157707A1 WO 2016157707 A1 WO2016157707 A1 WO 2016157707A1 JP 2016001011 W JP2016001011 W JP 2016001011W WO 2016157707 A1 WO2016157707 A1 WO 2016157707A1
Authority
WO
WIPO (PCT)
Prior art keywords
column
value
key
attribute value
customer
Prior art date
Application number
PCT/JP2016/001011
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/562,542 priority Critical patent/US10698874B2/en
Priority to JP2017509208A priority patent/JPWO2016157707A1/ja
Publication of WO2016157707A1 publication Critical patent/WO2016157707A1/ja

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/23Updating
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Definitions

  • the present invention relates to a table operation system, a table operation method, and a table operation program for operating a table in a predetermined database.
  • FIG. 16 is a schematic diagram showing various tables included in the database.
  • FIG. 16 shows a purchase table, a customer master, a product master, and a store master.
  • a customer ID indicates the attribute value of the customer (age in the example shown in FIG. 16) for each customer ID.
  • the product master indicates the attribute value of the product (product category in the example shown in FIG. 16) for each product ID.
  • the store master indicates the attribute of the store (in the example shown in FIG. 16, the district where the store exists) for each store ID.
  • the BI tool (not shown) extracts information satisfying the conditions specified by the analyst from the database illustrated in FIG.
  • an analyst wants to know the number of purchases that a person in their twenties purchased a jacket in Kawasaki.
  • the analyst specifies the condition “20s” for the customer, the condition “jacket” for the product, and the condition “Kawasaki” for the store.
  • the BI tool narrows down the customer ID of the customer corresponding to “20th generation” from the customer master, narrows down the product ID of the product corresponding to “jacket” from the product master, and changes from the store master to “Kawasaki”.
  • the store ID of the corresponding store is narrowed down.
  • BI tool specifies the line containing the combination of those customer ID, goods ID, and shop ID from a purchase table.
  • the rows A and C in the purchase table are specified.
  • the BI tool calculates the sum of the number of purchases in the row and presents it to the analyst.
  • purchase time information is not included in the purchase table, but the analyst may also request display of changes in the number of purchases for each period (for example, every month) including the purchase time in the purchase table. Conceivable.
  • the BI tool calculates “the number of purchases that a person in their twenties purchased a jacket in Kawasaki” for each month as described above, and displays the graph illustrated in FIG. FIG. 17 illustrates a monthly change in “the number of purchases that a person in their twenties purchased a jacket in Kawasaki”. The analyst can make a decision by confirming the visualized information as illustrated in FIG.
  • Patent Document 1 describes an analysis environment in which a relational database server and an OLAP (Online Analytical Processing) server are connected by a network.
  • OLAP Online Analytical Processing
  • the analyst can specify only information indicated as an attribute in each master (for example, the customer master, the product master, and the store master illustrated in FIG. 16) as a condition. And it is not always appropriate to specify such conditions. For example, in the above example, the analyst designates the condition “20s” for the customer, designates the condition “jacket” for the product, and designates the condition “Kawasaki” for the store. When such a condition is specified, information that can be used as a reference for decision making may not be presented.
  • An object of the present invention is to provide a table operation system, a table operation method, and a table operation program that can solve the technical problem of changing the configuration of a table so that conditions for obtaining information that can be easily analyzed can be specified.
  • the table manipulation system specifies at least two foreign key columns in a table having two or more foreign key columns and one or more relation value columns, specifies a relation value column, and associates the relation value column with the specification.
  • Specified reception means that receives the specification of the type of statistical model to be specified, and individual tables that are the reference destinations of each specified foreign key column, and for each key value combination of the primary key columns of the specified individual table Based on the data acquisition means for acquiring the aggregate value of the relation value of the relation value column, the aggregate value acquired for each key value combination of the primary key column of each table, and the statistical model of the specified type Grouping means for grouping the key values of the primary key column of each table, and identification information of the group to which the key value of the primary key column of the table belongs for each table Characterized in that it comprises an attribute value column addition unit for adding the attribute value string to an attribute value.
  • the table operation method specifies at least two foreign key columns in a table having two or more foreign key columns and one or more relationship value columns, specifies a relationship value column, It accepts the specification of the type of statistical model to be associated, identifies each table that is the reference destination of each specified foreign key column, and relates each key value combination of the primary key column of each identified table Acquires the aggregate value of the relation value of the value column, and based on the aggregate value acquired for each key value combination of the primary key column of each table and the statistical model of the specified type, the primary key of each table
  • the key values of the column are grouped, and an attribute value column having an attribute value as identification information of the group to which the key value of the primary key column of the table belongs is added to each table.
  • the table operation program provides a computer with designation of at least two foreign key columns in a table having two or more foreign key columns and one or more relation value columns, designation of a relation value column, and the relationship.
  • Specified reception process that accepts the specification of the type of statistical model associated with the value column, identifies the individual table that is the reference destination of each specified foreign key column, and the key value of the primary key column of the identified individual table
  • Data acquisition process for acquiring the aggregate value of the relation value of the relation value column for each combination, the aggregate value acquired for each key value combination of the primary key column of each table, and the statistical model of the specified type Grouping process for grouping the key values of the primary key column of each table based on the table, and the key value of the primary key column of the table for each table Characterized in that to execute the attribute value column addition processing to add an attribute value string to an attribute value identification information for the group to which it belongs.
  • the technical effect of the present invention is that a table configuration can be changed so that conditions for obtaining information that can be easily analyzed can be specified.
  • schema setting information Information specifying the configuration of individual tables included in the relational database and the reference relationship between the tables is referred to as schema setting information.
  • the schema setting information is created in advance by an analyst. Then, individual tables included in the relational database are created according to the schema setting information.
  • FIG. 1 is an explanatory diagram showing an example of a relational database (hereinafter referred to as RDB).
  • RDB relational database
  • FIG. 1 shows a case where the RDB includes a purchase table, a customer master, a product master, and a store master as tables.
  • the purchase table represents purchase records of individual purchases.
  • the customer ID, the product ID, the store ID, the number of purchases, and the purchase amount are associated with each other in the purchase table. Therefore, each row of the purchase table shown in FIG. 1 indicates who purchased what products, how many, and how much at which store.
  • Customer master represents individual customer attributes.
  • the customer ID, age, and gender are associated with each other in the customer master. Accordingly, each row of the customer master shown in FIG. 1 indicates the age and sex for each customer.
  • the product master represents the attributes of individual products.
  • the product ID is associated with the product category in the product master. Therefore, each row of the product master shown in FIG. 1 indicates a product category for each product.
  • the store master represents the attributes of individual stores.
  • the store ID is associated with the district where the store exists in the store master. Accordingly, each row of the store master shown in FIG. 1 indicates the existing district for each store.
  • the purchase table corresponds to a fact table.
  • the customer master, the product master, and the store master correspond to the master table.
  • the customer ID in the purchase table is the reference source when referring to the customer master
  • the product ID in the purchase table is the reference source when referring to the product master
  • the store ID in the purchase table is when referring to the store master. It becomes the reference source of.
  • Such a reference relationship and the structure of each table are defined by schema setting information created in advance by an analyst.
  • FIG. 1 illustrates an RDB in which a reference relationship is defined as a star schema, but the RDB reference relationship may be defined as a snowflake schema.
  • Each table has columns (see Fig. 1). Columns can be classified into key columns and value columns.
  • the key columns can be classified into foreign key columns and primary key columns.
  • the specific value of the key stored in the key column is referred to as the key value.
  • the foreign key column is a column that stores the foreign key.
  • the foreign key is a key that becomes a reference source when referring to another table.
  • the “customer ID” column, the “product ID” column, and the “store ID” column of the purchase table correspond to the foreign key columns.
  • the primary key column is a column that stores the primary key.
  • the primary key is a key that becomes a reference destination when referenced from another table.
  • the “customer ID” column of the customer master, the “product ID” column of the product master, and the “store ID” column of the store master correspond to the primary keys.
  • the value column can be classified into a relationship value column and an attribute value column.
  • the relationship value column is a column that stores relationship values.
  • the relationship value is a value representing a relationship between a plurality of key values. Accordingly, the relationship value is associated with a plurality of key values in the table.
  • the “plurality of key values” described here may be all foreign keys, or may include a foreign key and a primary key. In the example shown in FIG. 1, the “number of purchases” column and the “purchase amount” column in the purchase table correspond to the relationship value columns.
  • Attribute value column is a column that stores attribute values.
  • the attribute value is a value representing the attribute of one primary key. Therefore, the attribute value is associated with one primary key in the table.
  • the “age” column and the “sex” column of the customer master, the “product category” column of the product master, and the “district” column of the store master correspond to the attribute value columns.
  • the table can be classified into, for example, three types from the first table to the third table shown below.
  • the first table is a table including two or more foreign key columns.
  • An example of the first table is a fact table.
  • the purchase table corresponds to the first table.
  • the second table is a table including only one primary key column as a key column.
  • An example of the second table is a master table, for example.
  • the customer master, the product master, and the store master correspond to the second table.
  • the third table is a table having one primary key column and one or more foreign key columns.
  • the third table is used, for example, in a snowflake schema.
  • An example of the third table is shown in FIG.
  • a column described as “FK” is a foreign key column
  • a column described as “PK” is a primary key column.
  • the table 91 shown in FIG. 2 includes one primary key column (“customer ID” column) and one foreign key column (“company ID” column). Therefore, the table 91 shown in FIG. 2 corresponds to the third table.
  • FIG. 2 shows a case where the table 91 includes one foreign key column, the number of foreign key columns included in the third table may be two or more.
  • a table having a plurality of key columns may have a relation value column. Accordingly, the first table and the third table may have a relationship value column.
  • the purchase table shown in FIG. 1 corresponds to the first table, and has a “number of purchases” column and a “purchase amount” column as relation value columns.
  • the table 91 illustrated in FIG. 2 corresponds to the third table, and has a “year of service” column as a relationship value column.
  • a table having a plurality of key columns may not have a relationship value column.
  • a table with a primary key column can have an attribute value column.
  • the second table and the third table may have attribute value columns.
  • Each of the customer master, the product master, and the store master shown in FIG. 1 corresponds to the second table, and has an attribute value column.
  • the table having the primary key column may not have the attribute value column.
  • the table 91 illustrated in FIG. 2 does not have an attribute value string.
  • each column included in each table defined by the schema setting information is not limited to the example shown in FIG. That is, the structure of the table defined by the schema setting information created in advance by the analyst is not limited to the example shown in FIG. Further, the table reference relationship defined by the schema setting information is not limited to the example shown in FIG. Moreover, in FIG. 1, although the purchase table, the goods master, the customer master, and the store master were illustrated, the content which each table represents is not specifically limited.
  • FIG. FIG. 3 is a block diagram illustrating a configuration example of the table operation system according to the first embodiment of this invention.
  • the table operation system 1 according to the first embodiment includes a database management unit 2 (hereinafter simply referred to as a DB management unit 2), a designation receiving unit 3, a data acquisition unit 4, a grouping unit 5, and an attribute value sequence. And an additional unit 6.
  • the DB management unit 2 is a database management system (DBMS) that manages an RDB (relational database) 7.
  • DBMS database management system
  • RDB relational database
  • a reference relationship between tables included in the RDB 7 is defined by schema setting information created in advance by an analyst.
  • the configuration of each table included in the RDB 7 is also defined by the schema setting information.
  • the RDB 7 in which the configuration of each table and the table reference relationship are defined by the schema setting information includes a table having two or more foreign key columns and one or more relationship value columns.
  • the RDB 7 also includes individual tables that are the reference destinations of these foreign key columns.
  • the RDB 7 in which the configuration of each table and the reference relationship between the tables are defined by the schema setting information is the RDB illustrated in FIG.
  • the purchase table shown in FIG. 1 corresponds to “a table having two or more foreign key columns and one or more relationship value columns”.
  • each of the customer master, the product master, and the store master shown in FIG. 1 corresponds to “an individual table that is a reference destination of each foreign key column”.
  • the table operation system 1 performs a process of adding an attribute value column to a part of these tables. Therefore, an attribute value string not defined in the schema setting information is added to some tables.
  • the designation receiving unit 3 designates at least two foreign key columns in a table having two or more foreign key columns and one or more relational value columns (in this example, a purchase table) as an operator of the table operation system 1 (hereinafter referred to as the following). , Simply referred to as the operator.). Further, the designation receiving unit 3 also accepts designation of one relation value sequence in the table and designation of a statistical model type associated with the relation value series. Examples of the types of statistical models include Poisson distribution and Gaussian distribution, but are not limited to these distributions. When the operator specifies the “number of purchases” column of the purchase table as the relation value column, the operator may specify, for example, a Poisson distribution as the type of statistical model associated with the “number of purchases” column. Further, when the “purchase price” column of the purchase table is specified as the relation value column, the operator may specify, for example, a Gaussian distribution as the type of statistical model associated with the “purchase price” column.
  • the designation receiving unit 3 displays, for example, a GUI (Graphical User Interface) on the display device (not shown in FIG. 3) for the operator to input the designation of the foreign key sequence, the relation value sequence, and the statistical model type.
  • GUI Graphic User Interface
  • the specification of the foreign key column, the relation value column, and the type of the statistical model may be received via the GUI.
  • the designation receiving unit 3 receives the designation of information via the GUI will be described as an example.
  • the designation receiving unit 3 will be described by taking as an example a case where the designation of the “customer ID” column and the “product ID” column among the foreign key columns of the purchase table shown in FIG. 1 is accepted. Further, the designation receiving unit 3 receives the designation of the “number of purchases” column in the relation value column of the purchase table shown in FIG. 1 and the case of accepting the designation of the Poisson distribution as the statistical model type. explain.
  • the types of foreign key columns, relationship value columns, and statistical models specified by the operator are not limited to the above example. Further, the number of designated foreign key columns may be three or more.
  • the data acquisition unit 4 specifies each table that is a reference destination of each foreign key designated by the operator. Then, the data acquisition unit 4 acquires, from the RDB 7, the total value of the relationship values of the specified relationship value column for each combination of key values of the primary key columns of each identified table.
  • the processing of the data acquisition unit 4 will be described using a specific example.
  • a “customer ID” column and a “product ID” column are designated as foreign keys.
  • the data acquisition unit 4 specifies the customer master as a table to be referred to in the “customer ID” column.
  • the data acquisition unit 4 specifies a product master as a table to be referred to in the “product ID” column.
  • the data acquisition unit 4 calculates, for each combination of the key value of the primary key column of the customer master and the key value of the primary key column of the product master, the aggregate value of the relationship values of the specified relationship value column, Acquired from a table including a value column (in this example, a purchase table).
  • the “number of purchases” column is designated as the relationship value column. Therefore, the data acquisition unit 4 acquires the total value of the number of purchases from the purchase table for each combination of the key value of the primary key column of the customer master and the key value of the primary key column of the product master.
  • the primary key column of the customer master is the “customer ID” column in the customer master
  • the primary key column of the product master is the “product ID” column in the product master.
  • the data acquisition unit 4 searches for a row in the purchase table that matches the combination of the customer ID “183” and the product ID “50”, and returns a total value of the number of purchases in each row to the DB management unit. 2 is requested.
  • FIG. 1 illustrates the example illustrated in FIG.
  • the rows in the purchase table that match the combination of the customer ID “183” and the product ID “50” are the row B and the row E. Therefore, the DB management unit 2 calculates the total value “7” of the value “3” of the number of purchases in the row B and the value “4” of the number of purchases in the row E, and uses the calculation result as the total value of the number of purchases. Return to the data acquisition unit 4. As a result, the data acquisition unit 4 acquires the total value of the number of purchases in the combination of the customer ID “183” and the product ID “50”.
  • the combination of the customer ID “183” and the product ID “50” is taken as an example, and the case where the data acquisition unit 4 acquires the total number of purchases is shown. Similarly, the data acquisition unit 4 acquires the total number of purchases for all combinations of the customer ID value and the product ID.
  • the data acquisition unit 4 calculates the number of purchases for each combination of the key value of the primary key column of the customer master (customer ID in the customer master) and the key value of the primary key column of the product master (product ID in the product master).
  • An aggregate value of the number of purchases for each combination may be acquired by generating an SQL requesting the aggregate value and inputting the SQL to the DB management unit 2.
  • the grouping unit 5 uses the aggregate value acquired by the data acquisition unit 4 for each combination of primary key column key values of each table that is the reference destination of each specified foreign key, and the statistical model of the specified type. Based on that, group the key values in the primary key column of that individual table.
  • the processing of the grouping unit 5 will be described using a specific example.
  • the data acquisition unit 4 shows a case where the total value of the number of purchases is acquired for each combination of the customer ID value and the product ID.
  • the Poisson distribution is specified as the type of the statistical model.
  • the grouping unit 5 groups the customer ID in the customer master and the product ID in the product master based on the total number of purchases for each combination of the customer ID value and the product ID and the Poisson distribution. To do.
  • a group of customer IDs is simply referred to as a customer ID group.
  • a group of product IDs is simply referred to as a product ID group.
  • the grouping unit 5 is configured such that each customer ID belongs to only one customer ID group and each product ID belongs to only one product ID group.
  • a case where customer IDs and product IDs are grouped will be described as an example. Note that, in this way, defining a group so that one key value belongs to only one group is called clustering.
  • the customer ID is represented by the symbol “c”. Further, the product ID is represented by a symbol “i”.
  • a total value of relation values corresponding to the combination of the customer ID “c” and the product ID “i” (in this example, the total value of the number of purchases) is described as a total value x c, i .
  • x c, i 7.
  • FIG. 4 illustrates a state in which customer IDs and product IDs before grouping are arranged in order.
  • FIG. 4 shows a state in which customer IDs are arranged in order in the horizontal axis direction and product IDs are arranged in order in the vertical axis direction.
  • the total value xc, i of the number of purchases corresponding to the combination of customer ID and goods ID is shown in figure.
  • x 3 and 5 shown in FIG. 4 are total values of the number of purchases corresponding to the combination of the customer ID “3” and the product ID “5”.
  • FIG. 5 is an explanatory diagram schematically showing examples of customer ID groups and product ID groups determined by the grouping unit 5.
  • the grouping unit 5 determines a plurality of customer ID groups and product ID groups. However, in FIG. 5, only the customer ID group with ID “9” and the product ID group with ID “4” are illustrated for the sake of simplicity.
  • the number of customer ID groups and the number of product ID groups may be set to fixed values, respectively, or may not be limited to fixed values.
  • the number of customer ID groups is K C
  • the ID of each customer ID group is 1 to K C.
  • the number of product ID group is a K I number
  • ID of each product ID group is assumed to be a 1 ⁇ K I.
  • the customer ID group referred to as the customer ID group "k". This also applies to the product ID group.
  • customer IDs and product IDs belonging to a group are shown in parentheses. For example, customer IDs “1” and “3” belong to the customer ID group “9”. Product ID “2”, “5”, etc. belong to the product ID group “4”.
  • a combination of one customer ID group and one product ID group corresponds to a customer ID belonging to the customer ID group and an aggregate value x c, i corresponding to a combination of product IDs belonging to the product ID group.
  • x 1 , 2 , x 3 , 5 and the like correspond to combinations of the customer ID group “9” and the product ID group “4”.
  • FIG. 5 is a modification of FIG. 4 so that customer IDs belonging to the same customer ID group are continuously arranged and product IDs belonging to the same product ID group are continuously arranged. it can.
  • the customer ID group to which the customer ID “c” belongs is denoted as z C c .
  • z C c 1
  • the product ID group to which the product ID “i” belongs is denoted as z I i .
  • z I i the product ID group to which the product ID “i” belongs.
  • z I 2 4
  • z I i 4
  • z I i may be represented by a vector in which only the element corresponding to the ID of the product ID group is 1 and the other elements are 0.
  • p (x c, i ) the probability that the total value x c, i occurs under the parameters of the statistical model is denoted as p (x c, i ).
  • p (x c, i ) is expressed as in the following formula (1).
  • ⁇ (z C c , z I i ) is defined as the relationship between the customer ID group “z C c ” to which the customer ID “c” belongs and the product ID group “z I i ” to which the product ID “i” belongs.
  • This is a distribution parameter of the total number of purchases corresponding to the combination.
  • This distribution is a distribution designated by the operator, and in this example is a Poisson distribution. That is, in this example, ⁇ (z C c , z I i ) is a Poisson distribution parameter corresponding to a combination of “z C c ” and “z I i ”.
  • P (x c, i ) is the probability that x c, i will occur under such a Poisson distribution parameter.
  • the distribution parameter may be a parameter corresponding to the type of distribution. For example, the parameters of the Gaussian distribution are mean and variance.
  • the grouping unit 5 uses the following formula (2).
  • Equation (2) is a distribution parameter ( ⁇ (z C c ) corresponding to each customer ID group to which each customer ID belongs, each product ID group to which each product ID belongs, and a combination of the customer ID group and the product ID group. , Z I i )).
  • S c is a set of customer IDs
  • S i is a set of product IDs.
  • the grouping unit 5 determines each customer ID group and each product ID group using the likelihood calculated by Expression (2). At this time, the grouping unit 5 also determines a distribution parameter ( ⁇ (z C c , z I i )) corresponding to the combination of the customer ID group and the product ID group for each combination.
  • the grouping unit 5 updates z C c , z I i , ⁇ (z C c , z I i ) in equation (2) so that the likelihood calculated in equation (2) increases.
  • the distribution parameters corresponding to each customer ID group, each product ID group, and the combination of the customer ID group and the product ID group may be determined.
  • the grouping unit 5 may use EM (Expectation-Maximization).
  • the method of maximizing the likelihood is an example, and the grouping unit 5 uses a method other than the method of maximizing the likelihood (for example, variational Bayes method, Gibbs sampling method, etc.)
  • Each customer ID group, each product ID group, etc. may be determined.
  • each customer ID in the customer master can be associated with the ID of the customer ID group to which the customer ID belongs as an attribute value.
  • each product ID in the product master can be associated with the ID of the product ID group to which the product ID belongs as an attribute value.
  • the attribute value string adding unit 6 adds an attribute value string having, as an attribute value, the ID of the group to which the key value of the primary key column of the table belongs for each table that is a reference destination of each designated foreign key. .
  • the attribute value string adding unit 6 adds an attribute value string whose attribute value is the ID of the customer ID group to which the customer ID belongs to the customer master.
  • the attribute value string adding unit 6 adds an attribute value string whose attribute value is the ID of the product ID group to which the product ID belongs to the product master.
  • FIG. 6 shows an example of a customer master and a product master in which an attribute value string is newly added.
  • the purchase table and the store master shown in FIG. 1 are not shown.
  • the case where the “customer ID” column and the “product ID” column among the foreign key columns are specified has been described as an example. Therefore, an attribute value column is newly added to the customer master and the product master. If the “store ID” column is included in the designated foreign key column, an attribute value column is newly added to the store master as a reference destination of the “store ID” column.
  • the attribute values of the attribute value sequence to be added are also represented by numbers.
  • the ID of the customer ID group or the ID of the product ID group may be represented by a name that is easy for an analyst to understand, and the attribute value of the attribute value string to be added may be such a name that is easy to understand. This also applies to a second embodiment described later.
  • the DB management unit 2, the designation reception unit 3, the data acquisition unit 4, the grouping unit 5, and the attribute value string addition unit 6 are realized by a CPU of a computer that operates according to a program, for example.
  • the CPU reads a table operation program from a program recording medium such as a computer program storage device (not shown in FIG. 3), and in accordance with the table operation program, the DB management unit 2, the designation receiving unit 3, and the data acquisition unit 4
  • the grouping unit 5 and the attribute value string adding unit 6 may be operated.
  • the DB management unit 2, the specification receiving unit 3, the data acquisition unit 4, the grouping unit 5, and the attribute value sequence adding unit 6 may be realized by different hardware. These points are the same in the second embodiment described later.
  • the table operation system 1 may have a configuration in which two or more physically separated devices are connected by wire or wirelessly. This also applies to a second embodiment described later.
  • FIG. 7 is a flowchart illustrating an example of processing progress according to the first embodiment of this invention.
  • the designation receiving unit 3 receives designation of at least two foreign key columns in a table having two or more foreign key columns and one or more relation value columns, and designates one relation value column in the table and its relation value
  • the designation of the type of statistical model associated with the column is accepted (step S1).
  • the designation accepting unit 3 displays a GUI for the user to input these items on a display device (not shown in FIG. 3), and accepts designation of each item described above via the GUI. A specific example of the GUI will be described later.
  • the “customer ID” column and the “product ID” column of the purchase table shown in FIG. 1 are designated as the foreign key columns, and the “number of purchases” column of the purchase table is designated as the relation value column. Take the case as an example. In addition, a case where a Poisson distribution is designated as the statistical model type is taken as an example.
  • the data acquisition unit 4 identifies each table that is a reference destination of the foreign key column designated in step S1.
  • the data acquisition unit 4 specifies a customer master and a product master (see FIG. 1), which are reference destinations of the “customer ID” column and the “product ID” column of the purchase table.
  • the data acquisition part 4 acquires the total value of the relationship value of the designated relationship value row
  • the data acquisition unit 4 counts the number of purchases for each combination of each customer ID stored in the “customer ID” column of the customer master and each product ID stored in the “product ID” column of the product master.
  • the SQL requesting the total value is generated, and the SQL is input to the DB management unit 2.
  • the DB management unit 2 searches the purchase table (see FIG. 1) for a line that matches the combination of the customer ID and the product ID, and calculates the total number of purchases in the searched line. Executed for each combination of customer ID and product ID.
  • the DB management unit 2 returns the total number of purchases calculated for each combination of customer ID and product ID to the data acquisition unit 4.
  • the data acquisition unit 4 acquires the total value of the number of purchases for each combination.
  • the grouping unit 5 groups the key values of the primary key column of each table specified in step S2 (step S3).
  • the grouping unit 5 has a customer ID group (z C c ) to which each customer ID belongs, and a product ID group (to which each product ID belongs) (z C c ) so that the likelihood calculated by Expression (2) increases.
  • z I i a customer ID group
  • z I i a product ID group (to which each product ID belongs)
  • the Poisson distribution parameter ⁇ (z C c , z I i ) corresponding to the combination of “z C c ” and “z I i ” are updated, and each customer ID group, each product
  • the parameters of the Poisson distribution according to the ID group and the combination of the customer ID group and the product ID group are determined.
  • the attribute value string adding unit 6 adds, for each table specified in step S2, an attribute value string whose attribute is the ID of the group to which the key value of the primary key string of the table belongs (step S4).
  • the attribute value string adding unit 6 adds an attribute value string whose attribute value is the ID of the customer ID group to which the customer ID belongs to the customer master.
  • the attribute value string adding unit 6 adds an attribute value string whose attribute value is the ID of the product ID group to which the product ID belongs to the product master.
  • a new attribute value sequence is added to the customer master and the product master.
  • the attribute value string that is not defined in the schema setting information is added to the table that is the reference destination of the foreign key string specified in step S1. Therefore, the analyst can include the attribute value of the added attribute value string (the ID of the group to which the primary key belongs) in the condition when causing the BI tool to present information that matches the desired condition. For example, when an analyst wants to know the number of purchases of a customer belonging to the customer ID group “5” and a product belonging to the merchandise ID group “11”, the analyst selects “customer ID group“ 5 ”” for the customer. The condition “product ID group“ 11 ”” can be specified for the product.
  • the grouping unit 5 groups the key values of the primary key column so that the likelihood of the group or parameter increases. Each group obtained as a result cannot be grasped by the analyst from the RDB 7 created according to the schema setting information.
  • the present invention adds such a group ID as a new attribute value to the reference table. Therefore, according to the present invention, it becomes possible for the analyst to specify conditions that the analyst cannot notice from the configuration of the table defined by the schema setting information. As a result, information that is easier to analyze can be extracted from the RDB 7 by the BI tool and presented to the analyst.
  • the data acquisition part 4 should just acquire the total value of a relationship value for every combination of customer ID in a customer master, goods ID in a goods master, and shop ID in a shop master.
  • the grouping part 5 should just divide each into group regarding customer ID, goods ID, and shop ID.
  • the grouping unit 5 updates the parameters of each group to which each key to be grouped belongs, the distribution (statistical model of the specified type) according to the combination of each group, What is necessary is just to determine the parameter of the distribution according to each group and the combination of each group so that the likelihood of the parameter of the distribution according to the combination of groups may be increased.
  • the grouping unit 5 includes a customer ID group to which each customer ID of the customer master belongs, a product ID group to which each product ID of the product master belongs, a store ID group to which each store ID of the store master belongs, And the parameter of distribution according to the combination of a customer ID group, a product ID group, and a store ID group is updated, and the likelihood is increased so that each product ID group, each customer ID group, each store ID Group and distribution parameters may be established.
  • the attribute value string adding unit 6 may add a new attribute value string to the customer master, the product master, and the store master.
  • FIG. 3 The table operation system according to the second embodiment of the present invention can be represented by the block diagram shown in FIG. 3 similarly to the table operation system according to the first embodiment. Therefore, the second embodiment will be described with reference to FIG. Will be explained. Explanation of matters similar to those in the first embodiment will be omitted as appropriate.
  • the table operation system 1 includes a DB management unit 2, a designation receiving unit 3, a data acquisition unit 4, a grouping unit 5, and an attribute value string adding unit 6 (see FIG. 3).
  • the DB management unit 2 is the same as the DB management unit 2 in the first embodiment. Also in the second embodiment, description will be made assuming that the RDB 7 in which the configuration of each table and the reference relationship between the tables are defined by the schema setting information is the RDB illustrated in FIG.
  • the designation receiving unit 3 receives designation of at least two foreign key columns in a table having two or more foreign key columns and one or more relation value columns, and designates one relation value column in the table and its relation value
  • the specification of the type of statistical model associated with the column is accepted. This operation is the same as in the first embodiment.
  • the “customer ID” column and the “product ID” column of the purchase table shown in FIG. 1 are designated as the foreign key columns, and the “number of purchases” of the purchase table as the relationship value column. ”Column is specified as an example.
  • a case where a Poisson distribution is designated as the statistical model type is taken as an example.
  • the designation receiving unit 3 further accepts designation of an attribute value sequence possessed by a table that is a reference destination of the designated foreign key column, and the type of the statistical model associated with the attribute value sequence.
  • the specification is also accepted.
  • the number of attribute value strings specified in the second embodiment is one or more. There are a plurality of tables to which the specified foreign key column is referred, but there may be a table in which no attribute value column is specified. Also, the type of statistical model is designated for each designated attribute value string.
  • the “customer ID” column and the “product ID” column of the purchase table are designated as foreign key columns.
  • the table that is the reference destination of the “customer ID” column is the customer master
  • the table that is the reference destination of the “product ID” column is the product master (see FIG. 1).
  • the customer master has an “age” column and a “sex” column as attribute value columns
  • the product master has a “product category” column as attribute value columns (see FIG. 1).
  • the designation receiving unit 3 receives designation of one or more attribute value columns from among the “age” column, the “sex” column, and the “product category” column.
  • the designation receiving unit 3 receives the designation of one attribute value sequence
  • the attribute value column is an “age” column
  • the operator may specify the type of the statistical model according to the attribute value string to be specified.
  • the operator may specify the Gaussian distribution as the type of the statistical model associated with the “age” column.
  • a Gaussian distribution is specified as the type of the statistical model associated with the “age” column will be described as an example.
  • the operator when the operator specifies the “gender” column as the attribute value column, the operator may specify the Bernoulli distribution. Further, for example, when the “product category” column is specified as the attribute value column, the operator may specify a multinomial distribution.
  • the data acquisition unit 4 specifies each table that is a reference destination of each foreign key designated by the operator. Then, the data acquisition unit 4 acquires, from the RDB 7, the total value of the relationship values of the specified relationship value column for each combination of key values of the primary key columns of each identified table. This operation is the same as in the first embodiment.
  • the data acquisition unit 4 further acquires the attribute value of the designated attribute value column for each key value of the primary key column of the table having the attribute value column.
  • an “age” column is designated as the attribute value column.
  • the table having the “age” column is the customer master, and the primary key column of the customer master is the “customer ID” column (see FIG. 1). Therefore, in this case, the data acquisition unit 4 acquires the attribute value of the “age” column for each customer ID included in the customer master.
  • the data acquisition unit 4 generates an SQL requesting the attribute value of the specified attribute value column for each key value of the primary key column of the table having the attribute value column, and inputs the SQL to the DB management unit 2 Thus, an attribute value may be acquired for each key value.
  • the grouping unit 5 is a statistical model of the type associated with the aggregate value acquired for each key value combination of the primary key column of each table that is the reference destination of each designated foreign key column and the relationship value column Based on the attribute value obtained for each key value of the primary key column of the table having the specified attribute value column and the statistical model of the type associated with the attribute value column. Group key values in primary key columns. In other words, the grouping unit 5 groups the key values of the primary key string using the attribute values of the designated attribute value string.
  • a c be the age corresponding to the customer ID “c”.
  • the age corresponding to the customer ID "c” is the probability a a c
  • the probability of age a c occurs under the parameters of the statistical model referred to as p (a c).
  • p (a c ) is expressed as in the following formula (3).
  • ⁇ (z C c ) is a parameter of the age distribution corresponding to the customer ID group “z C c ” to which the customer ID “c” belongs.
  • This distribution is a statistical model of the type associated with the attribute value sequence. This type is specified by the operator. In this example, this distribution is a Gaussian distribution.
  • the grouping unit 5 uses the following formula (4).
  • Expression (4) is a distribution parameter ( ⁇ (z C c ,) according to each customer ID group to which each customer ID belongs, each product ID group to which each product ID belongs, and a combination of the customer ID group and the product ID group. z I i )) and the likelihood of the combination of distribution parameters ( ⁇ (z C c )) according to customer ID groups.
  • the grouping unit 5 determines each customer ID group and each product ID group using the likelihood calculated by Expression (4). At this time, the grouping unit 5 also determines a distribution parameter ( ⁇ (z C c , z I i )) corresponding to the combination of the customer ID group and the product ID group for each combination, and also according to each customer ID group. The distribution parameter ( ⁇ (z C c )) is also determined for each customer ID group.
  • the grouping unit 5 sets z C c , z I i , ⁇ (z C c , z I i ), ⁇ (z in equation (4) so that the likelihood calculated in equation (4) increases.
  • C c is updated, and the distribution parameters according to each customer ID group, each product ID group, the combination of the customer ID group and the product ID group, and the distribution parameters according to the customer ID group are determined. That's fine.
  • the operation in which the grouping unit 5 updates the groups and parameters so as to increase the likelihood and determines the groups and parameters is the same as the operation in the first embodiment.
  • each customer ID in the customer master can be associated with the ID of the customer ID group to which the customer ID belongs as an attribute value.
  • each product ID in the product master can be associated with the ID of the product ID group to which the product ID belongs as an attribute value.
  • the attribute value string adding unit 6 adds an attribute value string having, as an attribute value, the ID of the group to which the key value of the primary key column of the table belongs for each table that is a reference destination of each designated foreign key. .
  • the operation of the attribute value string adding unit 6 in the second embodiment is the same as the operation of the attribute value string adding unit 6 in the first embodiment.
  • the attribute value string adding unit 6 adds an attribute value string whose attribute value is the ID of the customer ID group to which the customer ID belongs to the customer master.
  • the attribute value string adding unit 6 adds an attribute value string whose attribute value is the ID of the product ID group to which the product ID belongs to the product master.
  • FIG. 8 is a flowchart showing an example of processing progress of the second embodiment of the present invention.
  • the designation receiving unit 3 receives designation of at least two foreign key columns in a table having two or more foreign key columns and one or more relation value columns, and designates one relation value column in the table and its relation value
  • the specification of the type of statistical model associated with the column is accepted.
  • the designation accepting unit 3 accepts designation of an attribute value sequence possessed by a table that is a reference destination of the foreign key sequence and designation of a type of statistical model associated with the attribute value sequence (step S11).
  • the designation accepting unit 3 displays a GUI for the user to input these items on a display device (not shown in FIG. 3), and accepts designation of each item described above via the GUI. A specific example of the GUI will be described later.
  • the “customer ID” column and the “product ID” column of the purchase table shown in FIG. 1 are designated as the foreign key columns, and the “number of purchases” column of the purchase table is designated as the relation value column.
  • the relation value column Take the case as an example.
  • a case where a Poisson distribution is designated as a type of a statistical model associated with a relation value string is taken as an example.
  • a case where an “age” column is designated as the attribute value sequence and a Gaussian distribution is designated as the type of the statistical model associated with the attribute value sequence is taken as an example.
  • the data acquisition unit 4 specifies each table that is a reference destination of the foreign key column designated in step S11.
  • the data acquisition unit 4 specifies a customer master and a product master (see FIG. 1), which are reference destinations of the “customer ID” column and the “product ID” column of the purchase table.
  • the data acquisition part 4 acquires the total value of the relationship value of the designated relationship value row
  • step S12 the data acquisition unit 4 acquires the attribute value of the designated attribute value column for each key of the primary key column of the table having the attribute value column (step S12).
  • the table having the “age” column designated as the attribute value column is the customer master (see FIG. 1). Therefore, in this example, the data acquisition unit 4 acquires the attribute value of the “age” column for each customer ID stored in the “customer ID” column of the customer master.
  • the data acquisition unit 4 generates an SQL requesting the attribute value of the “age” column for each customer ID stored in the “customer ID” column of the customer master, and inputs the SQL to the DB management unit 2.
  • the DB management unit 2 executes processing for extracting the attribute value of the “age” column for each customer ID stored in the “customer ID” column of the customer master, and extracts for each customer ID.
  • the attribute value of the “age” column is returned to the data acquisition unit 4.
  • the data acquisition unit 4 acquires an attribute value for each customer ID.
  • the grouping unit 5 groups the key values in the primary key column of each table (customer master and product master) specified in step S12 (step S13).
  • the grouping unit 5 has a customer ID group (z C c ) to which each customer ID belongs, and a product ID group (to which each product ID belongs) (z C c ) so that the likelihood calculated by Expression (4) increases.
  • ⁇ (z C c ) is updated, each customer ID group, each product ID group, a Poisson distribution parameter according to the combination of the customer ID group and the product ID group, and a Gaussian distribution parameter according to the customer ID group Confirm each.
  • step S14 the attribute value string adding unit 6 adds, for each table specified in step S12, an attribute value string whose attribute is the ID of the group to which the key value of the primary key string of the table belongs (step S14).
  • the process of step S14 is the same as the process of step S4 in the first embodiment.
  • a new attribute value sequence is added to the customer master and the product master.
  • the same effect as in the first embodiment can be obtained.
  • the grouping when grouping the key values of the primary key column of the table that is the reference destination of the designated foreign key, the grouping is performed in consideration of the designated attribute value column. Therefore, the accuracy of grouping the key values of the primary key sequence is improved. As a result, the analyst can more appropriately specify conditions for obtaining information that can be easily analyzed.
  • the “age” column of the customer master is designated as the attribute value column
  • the “age” column is an example of an attribute value column, and an attribute value column other than the “age” column may be designated.
  • the number of attribute value strings specified by the operator may be two or more.
  • the grouping unit 5 may perform grouping in step S13 using a likelihood calculation formula corresponding to the specified attribute value sequence.
  • the first embodiment and the second embodiment can use a common GUI.
  • the screen used as the GUI includes, for example, a table name display column 51, a selected table name display column 52, a column name display column 53, a first selected column name display column 54, a reference table name display column 55, 56, a second selected column name display field 57, a type selection field 58, and buttons 61 to 64.
  • the selected table name display field 52, the column name display field 53, the first selected column name display field 54, the reference table name display fields 55 and 56, the second selected column name display field 57, and the type selection field 58 are: It is blank in the initial state.
  • the table name display column 51 is a column for displaying the table name of each table.
  • the designation receiving unit 3 displays the table name of each table defined in the schema setting information in the table name display field 51.
  • 9 and 10 exemplify a state in which the designation receiving unit 3 displays three table names such as “order ⁇ ” in the table name display field 51.
  • the selected table name display column 52 is a column for displaying the table name selected by the operator. For example, when a click operation is performed on one of the table names displayed in the table name display field 51, the designation receiving unit 3 determines that the table name has been selected, and selects the table name. This is displayed in the selection table name display field 52.
  • FIG. 9 and FIG. 10 illustrate a state where the designation receiving unit 3 displays the table name “order” in the selected table name display column 52 when the operator clicks “order” in the table name display column 51. ing.
  • the column name display column 53 is a column that displays the column name of each column included in the table indicated by the selected table name.
  • 9 and 10 exemplify a state in which the designation receiving unit 3 displays the column names of the respective columns included in the table having the table name “order” in the column name display field 53.
  • FIG. 9 and FIG. 10 the symbol “PK” is added to the column name of the primary key column, and the symbol “FK” is added to the column name of the foreign key column.
  • the first selected column name display column 54 is a column that displays the column name of the selected foreign key column.
  • the foreign key column whose column name is displayed in the first selected column name display field 54 is a foreign key column designated by the operator.
  • the foreign key column selection operation (in other words, the designation operation) is, for example, an operation of clicking the column name of the foreign key column displayed in the column name display field 53 and then clicking the button 61.
  • the designation receiving unit 3 displays the column name of the foreign key column in the first selected column name display column 54 and deletes the column name from the column name display column 53.
  • the operator performs the above selection operation on at least two foreign key columns, and the designation receiving unit 3 determines that those foreign key columns are designated.
  • FIG. 10 illustrates a state in which the foreign key column having the column name “customer_cd” and the foreign key column having the column name “item_cd” are designated by the operator.
  • the operator clicks the column name of the foreign key column to be undesignated among the column names displayed in the first selected column name display field 54, Subsequently, the button 62 may be clicked.
  • the designation receiving unit 3 deletes the column name of the foreign key column from the first selected column name display column 54, and the column name is again displayed in the column name display column 53. indicate.
  • the designation receiving unit 3 also obtains the table name of the table that is the reference destination of the foreign key column (that is, the foreign key column designated by the operator) whose column name is displayed in the first selected column name display field 54. Displayed in the reference table name display fields 55 and 56.
  • the table name “customer” of the table that is the reference destination of the foreign key column with the column name “customer_cd” and the table name “item” of the table that is the reference destination of the foreign key column of the column name “item_cd” are shown.
  • the state displayed in the reference table name display fields 55 and 56 is illustrated. The operator can grasp the table that becomes the reference destination of the designated foreign key column by looking at the reference destination table name display fields 55 and 56.
  • the second selected column name display column 57 is a column for displaying the column name of the selected relation value column or the column name of the selected attribute value column.
  • the value string whose column name is displayed in the second selected column name display field 57 is a relation value string or an attribute value string designated by the operator.
  • the relation value column selection operation (in other words, the designation operation) is, for example, an operation of clicking the column name of the relation value column displayed in the column name display field 53 and then clicking the button 63.
  • the designation receiving unit 3 displays the column name of the relation value column in the second selected column name display column 57 and deletes the column name from the column name display column 53.
  • the operator performs the above selection operation on one relation value string, and the designation receiving unit 3 determines that the relation value string has been designated.
  • the type selection column 58 is a column for selecting the type of statistical model corresponding to the value column indicated by the column name displayed in the second selected column name display column 57.
  • the type selection column 58 is a pull-down menu is illustrated.
  • the operator may select the type of the statistical model corresponding to the value column indicated by the column name displayed in the second selected column name display column 57 by operating the type selection column 58.
  • the designation receiving unit 3 determines that the statistical model type corresponding to the value column indicated by the column name displayed in the second selected column name display field 57 is designated.
  • FIG. 10 illustrates a case where a relation value column having a column name “quantity” is designated, and a Poisson distribution is designated as the type of statistical model corresponding to the relation value column.
  • the attribute value string selection operation and the statistical model type selection operation corresponding to the attribute value string are the same as the relation value column selection operation and the statistical model type selection operation corresponding to the relation value column.
  • the operator may click the column name of the attribute value column displayed in the column name display field 53 and click the button 63.
  • the designation receiving unit 3 displays the column name of the attribute value column in the second selected column name display column 57 and deletes the column name from the column name display column 53.
  • the operator performs the above operation on the attribute value string to be selected, and the designation receiving unit 3 determines that the attribute value string has been designated.
  • the operator selects the statistical model type corresponding to the attribute value column by operating the type selection column 58 in a state where the specified attribute value column is displayed in the second selection column name display column 57. do it.
  • this operation it is determined that the type of statistical model corresponding to the attribute value column displayed in the second selected column name display field 57 is selected.
  • the table operation system 1 performs the attribute value sequence. And statistical models need not be used.
  • the operator When the operator cancels the designation of the relation value column or the attribute value column, the operator clicks the column name of the relation value column or the attribute value column displayed in the second selected column name display field 57. Subsequently, the button 64 may be clicked. When such an operation is performed, the designation receiving unit 3 deletes the column name of the relation value column or the column name of the attribute value column from the second selected column name display field 57, and the column name is again displayed. Are displayed in the column name display field 53.
  • the designation receiving unit 3 can accept the designation of various items by the GUI as described above.
  • the GUI is not limited to the GUI illustrated in FIGS. 9 and 10.
  • the designation receiving unit 3 may receive the designation of various items without using the GUI.
  • the grouping unit 5 may group the key values by allowing one key value to belong to a plurality of groups.
  • the grouping unit 5 is configured so that each customer ID belongs to one or more customer ID groups and each product ID belongs to one or more product ID groups.
  • the customer ID group and the product ID group may be determined.
  • the key column may include a plurality of columns.
  • the key value may be represented by a vector.
  • FIG. 11 is an explanatory diagram illustrating an example in which the key column includes a plurality of columns.
  • FIG. 11 illustrates a key string for uniquely identifying individual employees belonging to the group company.
  • the key column illustrated in FIG. 11 includes a “company ID” column and an “in-house employee ID” column.
  • a plurality of companies forming a group company may use the same in-house employee ID. For example, as shown in FIG. 11, it is assumed that the company “1001” and the company “1002” have different employees having the same in-house employee ID “12345”.
  • individual employees belonging to the group company cannot be uniquely identified only by the in-house employee ID.
  • individual employees belonging to the group company can be uniquely identified.
  • different employees can be uniquely identified by a key value of (1001, 12345) and a key value of (1002, 12345).
  • FIG. 11 illustrates the case where the key column includes two columns, the key column may include three or more columns.
  • the relation value column may include a plurality of columns.
  • the relationship value sequence includes a plurality of columns
  • the relationship value may be represented by a vector.
  • FIG. 12 is an explanatory diagram illustrating an example in the case where the relationship value sequence includes a plurality of columns.
  • FIG. 12 exemplifies a relation value string that stores the number of purchases.
  • the relational value column for storing the purchase quantity includes a “daytime purchase quantity” column and a “night purchase quantity” column is illustrated.
  • the number of purchases can be represented by a vector (12, 5).
  • the number of purchases can be represented by a vector of (7, 10).
  • FIG. 12 illustrates the case where the relationship value column includes two columns, the relationship value column may include three or more columns.
  • FIG. 13 is an explanatory diagram showing an example of a table in which the relation value string is not explicitly shown.
  • the table shown in FIG. 13 includes a “customer ID” column and a “company ID” column as key columns.
  • the “company ID” column stores the ID of the company where the person specified by the customer ID is working.
  • the relationship value sequence is not explicitly shown. However, in FIG. 13, it can be considered that there is a relationship value string that stores a relationship value of “whether there is an employment relationship between the customer and the company”.
  • the relationship value “whether there is an employment relationship between the customer and the company” is one of two values (in this example, “0” and “1”).
  • the value of this relationship value is “1”
  • the value of this relationship value is “1”.
  • the relationship value “existence of employment relationship between customer and company” is “1”. Therefore, in all the rows illustrated in FIG. 13, it can be considered that there is a relationship value string in which “1” is stored as the relationship value “whether there is an employment relationship between the customer and the company”.
  • FIG. 14 is a schematic block diagram showing a configuration example of a computer according to each embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, a display device 1005, and an input device 1006.
  • the table operation system of each embodiment is implemented in the computer 1000.
  • the operation of the table operation system is stored in the auxiliary storage device 1003 in the form of a program (table operation program).
  • the CPU 1001 reads out the program from the auxiliary storage device 1003, develops it in the main storage device 1002, and executes the above processing according to the program.
  • the auxiliary storage device 1003 is an example of a tangible medium that is not temporary.
  • Other examples of the non-temporary tangible medium include a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, and a semiconductor memory connected via the interface 1004.
  • this program is distributed to the computer 1000 via a communication line, the computer 1000 that has received the distribution may develop the program in the main storage device 1002 and execute the above processing.
  • the program may be for realizing a part of the above-described processing.
  • the program may be a differential program that realizes the above-described processing in combination with another program already stored in the auxiliary storage device 1003.
  • FIG. 15 is a block diagram showing an outline of the present invention.
  • the table operation system of the present invention includes a designation receiving unit 71, a data obtaining unit 72, a grouping unit 73, and an attribute value string adding unit 74.
  • the designation receiving means 71 (for example, the designation receiving unit 3) specifies at least two foreign key columns in a table having two or more foreign key columns and one or more relation value columns, specifies a relation value column, The specification of the type of statistical model associated with the relation value string is accepted.
  • the data acquisition unit 72 (for example, the data acquisition unit 4) specifies each table that is a reference destination of each designated foreign key column, and for each combination of key values of the primary key column of each specified table, Acquires the aggregate value of relation values in the relation value column.
  • the grouping unit 73 (for example, the grouping unit 5) uses the aggregated value acquired for each key value combination of the primary key column of each table and the statistical model of the specified type to determine the primary of each table. Group the key values in the key column into groups.
  • the attribute value string adding unit 74 (for example, the attribute value string adding unit 6) adds, for each table, an attribute value string whose attribute value is the identification information of the group to which the key value of the primary key column of the table belongs. .
  • the configuration of the table can be changed so that conditions for obtaining information that can be easily analyzed can be specified.
  • the designation accepting means 71 accepts designation of an attribute value string possessed by a table that is a reference destination of the designated foreign key string, and designation of a type of statistical model associated with the attribute value string, and a data obtaining means 72
  • the attribute value of the designated attribute value column is obtained for each key value of the primary key column of the table having the attribute value column, and the grouping means 73 makes individual reference destinations of the designated foreign key columns. It is acquired for each key value of the primary key column of the table with the aggregate value acquired for each key value combination of the primary key column of the table, the statistical model of the type associated with the relationship value column, and the attribute value column
  • the key value of the primary key column of each table may be grouped based on the attribute value and the statistical model of the type associated with the attribute value column.
  • the designation receiving means 71 displays a table name display column (for example, the table name display column 51) for displaying the table name of each table, and a column for displaying the column name of each column included in the table indicated by the selected table name.
  • Name display field for example, column name display field 53
  • a selected column name display field for example, second selected column name
  • a type selection column for example, a type selection column 58
  • the specification of at least two foreign key columns is accepted and the column names displayed in the column name display column are accepted.
  • the column name of the relation value column is selected from and the type of statistical model is selected in the type selection column.
  • the specification of the relation value column and the specification of the type of statistical model associated with the relation value column are accepted, and the column name of the attribute value column is selected from the column names displayed in the column name display column.
  • a configuration may be adopted in which designation of an attribute value sequence and designation of a statistical model type associated with the attribute value sequence are received by being selected and selecting a statistical model type in the type selection column.
  • grouping means 73 may be configured to group key values so that one key value belongs to only one group.
  • the grouping means 73 may be configured to group key values by allowing one key value to belong to a plurality of groups.
  • the present invention is preferably applied to a table operation system that operates a table in a predetermined database.
  • Table operation system Database management part (DB management part) 3 designation reception part 4 data acquisition part 5 grouping part 6 attribute value string addition part

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

 分析しやすい情報を得るための条件指定が行えるように表の構成を変更することができる表操作システムを提供する。データ取得手段72は、指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、指定された関係値列の関係値の集計値を取得する。グルーピング手段73は、個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けする。属性値列追加手段74は、個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する。

Description

表操作システム、方法およびプログラム
 本発明は、予め定められているデータベースの表を操作する表操作システム、表操作方法および表操作プログラムに関する。
 BI(Business Intelligence )の分野では、分析者が指定した条件を満たす情報を提示することによって、分析者の意思決定を支援することが考えられる。その一例を以下に示す。
 図16は、データベースに含まれる種々の表を示す模式図である。図16では、購買テーブル、顧客マスタ、商品マスタおよび店舗マスタを示している。購買テーブルでは、顧客ID、商品ID、店舗IDおよび購買数を対応付け、どの顧客がどの商品をどの店舗でいくつ購買したかを示している。顧客マスタは、顧客ID毎に、その顧客の属性値(図16に示す例では年齢)を示している。商品マスタは、商品ID毎に、その商品の属性値(図16に示す例では商品カテゴリ)を示している。店舗マスタは、店舗ID毎に、その店舗の属性(図16に示す例ではその店舗の存在している地区)を示している。
 以下、BIツール(図示略)が、図16に例示するデータベースから、分析者に指定された条件を満たす情報を抽出する例を示す。分析者が、「二十代の者が川崎でジャケットを購買した購買数」を知りたいと考えたとする。この場合、分析者は、顧客に関して「二十代」という条件を指定し、商品に関して「ジャケット」という条件を指定し、店舗に関して「川崎」という条件を指定する。すると、BIツールは、顧客マスタから、「二十代」に該当する顧客の顧客IDを絞り込み、商品マスタから、「ジャケット」に該当する商品の商品IDを絞り込み、店舗マスタから、「川崎」に該当する店舗の店舗IDを絞り込む。そして、BIツールは、それらの顧客ID、商品ID、店舗IDの組み合わせを含む行を購買テーブルから特定する。本例では、購買テーブル内の行A,Cを特定する。そして、BIツールは、その行における購買数の和を算出し、分析者に提示する。
 図16では、購買テーブルに購買時刻の情報を含めていないが、購買テーブルに購買時刻も含め、分析者が、期間毎(例えば、一カ月毎)の購買数の変化の表示を要求することも考えられる。この場合、BIツールが、各月における「二十代の者が川崎でジャケットを購買した購買数」を上記のように算出し、図17に例示するグラフを表示することも考えられる。図17では、「二十代の者が川崎でジャケットを購買した購買数」の月毎の変化を例示している。分析者は、図17に例示するように可視化された情報を確認して、意思決定を行える。
 また、特許文献1には、リレーショナルデータベースサーバとOLAP(Online Analytical Processing)サーバとがネットワークにより接続された分析環境が記載されている。
特開2004-287914号公報
 上述したようなBIツールによる情報の提示方法では、分析者は、各マスタ(例えば、図16に例示する顧客マスタ、商品マスタおよび店舗マスタ)で属性として示されている情報しか条件として指定できない。そして、そのような条件の指定が適切であるとは限らない。例えば、上記の例では、分析者が、顧客に関して「二十代」という条件を指定し、商品に関して「ジャケット」という条件を指定し、店舗に関して「川崎」という条件を指定する場合を示した。このような条件の指定では、意思決定に参考になる情報が提示されない場合もあり得る。
 そこで、本発明は、分析しやすい情報を得るための条件指定が行えるように表の構成を変更するという技術課題を解決可能な表操作システム、表操作方法および表操作プログラムを提供することを目的とする。
 本発明による表操作システムは、2以上のフォーリンキー列と1以上の関係値列とを持つ表における少なくとも2つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付ける指定受付手段と、指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、関係値列の関係値の集計値を取得するデータ取得手段と、個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けするグルーピング手段と、個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する属性値列追加手段とを備えることを特徴とする。
 また、本発明による表操作方法は、2以上のフォーリンキー列と1以上の関係値列とを持つ表における少なくとも2つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付け、指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、関係値列の関係値の集計値を取得し、個々の表のプライマリキー列のキー値の組み合わせ毎に取得した集計値と、指定された種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けし、個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加することを特徴とする。
 また、本発明による表操作プログラムは、コンピュータに、2以上のフォーリンキー列と1以上の関係値列とを持つ表における少なくとも2つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付ける指定受付処理、指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、関係値列の関係値の集計値を取得するデータ取得処理、個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けするグルーピング処理、および、個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する属性値列追加処理を実行させることを特徴とする。
 本発明の技術手段により、分析しやすい情報を得るための条件指定が行えるように表の構成を変更することができるという技術効果が得られる。
リレーショナルデータベースの一例を示す説明図である。 第3の表の例を示す説明図である。 本発明の第1の実施形態の表操作システムの構成例を示すブロック図である。 グループ分け前の顧客IDおよび商品IDを順番に並べた状態を示す模式図である。 決定された顧客IDグループおよび商品IDグループの例を模式的に示す説明図である。 新たに属性値列が追加された顧客マスタおよび商品マスタの例を示す説明図である。 本発明の第1の実施形態の処理経過の例を示すフローチャートである。 本発明の第2の実施形態の処理経過の例を示すフローチャートである。 本発明で用いられるGUIの例を示す説明図である。 本発明で用いられるGUIの例を示す説明図である。 キー列が複数の列を含む場合の例を示す説明図である。 関係値列が複数の列を含む場合の例を示す説明図である。 関係値列が明示的に示されていない表の例を示す説明図である。 本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。 本発明の概要を示すブロック図である。 データベースに含まれる種々の表を示す模式図である。 BIツールによる表示例を示す模式図である。
 以下、本発明の実施形態を図面を参照して説明する。
 リレーショナルデータベースに含まれる個々の表の構成や、表同士の参照関係を規定した情報をスキーマ設定情報と記す。スキーマ設定情報は、予め、分析者によって作成される。そして、そのスキーマ設定情報に従って、リレーショナルデータベースに含まれる個々の表が作成される。
 本発明について説明する前に、スキーマ設定情報に従って作成されるリレーショナルデータベースの例について説明する。
 図1は、リレーショナルデータベース(以下、RDBと記す。)の一例を示す説明図である。図1では、RDBが、表として、購買テーブルと、顧客マスタと、商品マスタと、店舗マスタとを含んでいる場合を示している。
 購買テーブルは、個々の購買の購買記録を表している。図1に示す例では、購買テーブルで、顧客IDと、商品IDと、店舗IDと、購買数と、購買金額とが対応付けられている。従って、図1に示す購買テーブルの各行は、誰が、どの商品を、どの店舗で、何個、いくらで購買したかを示している。
 顧客マスタは、個々の顧客の属性を表している。図1に示す例では、顧客マスタで、顧客IDと、年齢と、性別とが対応付けられている。従って、図1に示す顧客マスタの各行は、顧客毎の年齢および性別を示している。
 商品マスタは、個々の商品の属性を表している。図1に示す例では、商品マスタで、商品IDと、商品カテゴリとが対応付けられている。従って、図1に示す商品マスタの各行は、商品毎の商品カテゴリを示している。
 店舗マスタは、個々の店舗の属性を表している。図1に示す例では、店舗マスタで、店舗IDと、その店舗が存在する地区とが対応付けられている。従って、図1に示す店舗マスタの各行は、店舗毎の存在地区を示している。
 図1に示す例において、購買テーブルはファクト表に該当する。また、顧客マスタ、商品マスタおよび店舗マスタは、それぞれマスタ表に該当する。
 図1に示す例では、購買テーブル内の顧客IDが顧客マスタ参照時の参照元となり、購買テーブル内の商品IDが商品マスタ参照時の参照元となり、購買テーブル内の店舗IDが店舗マスタ参照時の参照元となる。
 このような参照関係や個々の表の構成は、分析者が予め作成したスキーマ設定情報で規定されている。
 図1では、スタースキーマとして参照関係が規定されたRDBを例示しているが、RDBの参照関係は、スノーフレークスキーマとして規定されていてもよい。
 個々の表は、列を有する(図1参照)。列は、キー列と値列に分類することができる。
 キー列は、フォーリンキー列とプライマリキー列に分類することができる。キー列に格納されているキーの具体的な値をキー値と記す。
 フォーリンキー列は、フォーリンキーを格納する列である。フォーリンキーは、他の表を参照する際の参照元になるキーである。図1に示す例では、購買テーブルの「顧客ID」列、「商品ID」列、および「店舗ID」列がそれぞれフォーリンキー列に該当する。
 プライマリキー列は、プライマリキーを格納する列である。プライマリキーは、他の表から参照される場合に参照先になるキーである。図1に示す例では、顧客マスタの「顧客ID」列、商品マスタの「商品ID」列、および店舗マスタの「店舗ID」列がそれぞれプライマリキーに該当する。
 値列は、関係値列と属性値列とに分類することができる。
 関係値列は、関係値を格納する列である。関係値は、複数のキー値の関係を表す値である。従って、関係値は、表内で複数のキー値に対応付けられる。ここで述べた「複数のキー値」は、全てフォーリンキーであってもよく、あるいは、フォーリンキーとプライマリキーとを含んでいてもよい。図1に示す例では、購買テーブルの「購買数」列および「購買金額」列がそれぞれ関係値列に該当する。
 属性値列は、属性値を格納する列である。属性値は、1つのプライマリキーの属性を表す値である。従って、属性値は、表内で1つのプライマリキーに対応付けられる。図1に示す例では、顧客マスタの「年齢」列および「性別」列、並びに、商品マスタの「商品カテゴリ」列、並びに、店舗マスタの「地区」列がそれぞれ属性値列に該当する。
 また、表は、例えば、以下に示す第1の表から第3の表までの3種類に分類することができる。
 第1の表は、2以上のフォーリンキー列を含む表である。第1の表の例として、例えば、ファクト表が挙げられる。図1に示す例では、購買テーブルが第1の表に該当する。
 第2の表は、キー列として1つのプライマリキー列のみを含む表である。第2の表の例として、例えば、マスタ表が挙げられる。図1に示す例では、顧客マスタ、商品マスタおよび店舗マスタがそれぞれ第2の表に該当する。
 第3の表は、1つのプライマリキー列と1つ以上のフォーリンキー列を持つ表である。第3の表は、例えば、スノーフレークスキーマで用いられる。第3の表の例を図2に示す。図2において、「FK」と記載した列は、フォーリンキー列であり、「PK」と記載した列はプライマリキー列である。図2に示す表91は、1つのプライマリキー列(「顧客ID」列)と、1つのフォーリンキー列(「会社ID」列)とを含んでいる。従って、図2に示す表91は、第3の表に該当する。図2では、表91が1つのフォーリンキー列を含んでいる場合を示しているが、第3の表に含まれるフォーリンキー列の数は2以上であってもよい。
 複数のキー列(プライマリキー列であるかフォーリンキー列であるかは問わない。)を持つ表は、関係値列を持ち得る。従って、第1の表および第3の表は、関係値列を持ち得る。図1に示す購買テーブルは、第1の表に該当し、関係値列として、「購買数」列および「購買金額」列を持っている。また、図2に例示した表91は、第3の表に該当し、関係値列として、「勤続年数」列を持っている。ただし、複数のキー列(プライマリキー列であるかフォーリンキー列であるかは問わない。)を持つ表が、関係値列を持っていなくてもよい。
 また、プライマリキー列を持つ表は、属性値列を持ち得る。従って、第2の表および第3の表は、属性値列を持ち得る。図1に示す顧客マスタ、商品マスタおよび店舗マスタはそれぞれ、第2の表に該当し、属性値列を持っている。ただし、プライマリキー列を持つ表が、属性値列を持っていなくてもよい。例えば、図2に例示する表91は、属性値列を持っていない。
 以下に示す各実施形態では、予め分析者によって作成されたスキーマ設定情報に基づいて、図1に例示するRDBが作成されている場合を例にして説明する。ただし、スキーマ設定情報で規定されている各表に含まれる各列は、図1に示す例に限定されない。すなわち、予め分析者によって作成されたスキーマ設定情報で規定される表の構成は、図1に示す例に限定されない。また、スキーマ設定情報で規定される表の参照関係も、図1に示す例に限定されない。また、図1では、購買テーブル、商品マスタ、顧客マスタおよび店舗マスタを例示したが、個々の表が表す内容も、特に限定されない。
 以上の事項を前提として、本発明について説明する。
実施形態1.
 図3は、本発明の第1の実施形態の表操作システムの構成例を示すブロック図である。第1の実施形態の表操作システム1は、データベース管理部2(以下、単にDB管理部2と記す。)と、指定受付部3と、データ取得部4と、グルーピング部5と、属性値列追加部6とを備える。
 DB管理部2は、RDB(リレーショナルデータベース)7を管理するデータベースマネジメントシステム(DBMS)である。RDB7に含まれる表同士の参照関係は、予め分析者によって作成されたスキーマ設定情報によって規定されている。また、RDB7に含まれる各表の構成も、そのスキーマ設定情報によって規定されている。
 本発明では、スキーマ設定情報によって各表の構成や表の参照関係が規定されたRDB7は、2以上のフォーリンキー列と1以上の関係値列を持つ表を含んでいるものとする。また、そのRDB7は、それらの各フォーリンキー列の参照先となる個々の表も含んでいるものとする。以下の説明では、スキーマ設定情報によって各表の構成や表の参照関係が規定されたRDB7が、図1に例示するRDBであるものとして説明する。図1に示す購買テーブルは、「2以上のフォーリンキー列と1以上の関係値列を持つ表」に該当する。また、図1に示す顧客マスタ、商品マスタおよび店舗マスタはそれぞれ、「各フォーリンキー列の参照先となる個々の表」に該当する。
 後述するように、表操作システム1は、これらの表の一部の表に、属性値列を追加する処理を行う。従って、一部の表には、スキーマ設定情報で規定されていない属性値列が追加される。
 指定受付部3は、2以上のフォーリンキー列と1以上の関係値列を持つ表(本例では、購買テーブル)における少なくとも2つのフォーリンキー列の指定を、表操作システム1の操作者(以下、単に操作者と記す。)から受け付ける。さらに、指定受付部3は、その表における1つの関係値列の指定と、その関係値列に対応付けられる統計モデルの種別の指定も受け付ける。統計モデルの種別の例として、ポアソン分布、ガウス分布等が挙げられるが、これらの分布に限定されない。操作者は、関係値列として購買テーブルの「購買数」列を指定する場合、「購買数」列に対応付ける統計モデルの種別として、例えば、ポアソン分布を指定すればよい。また、操作者は、関係値列として購買テーブルの「購買金額」列を指定する場合、「購買金額」列に対応付ける統計モデルの種別として、例えば、ガウス分布を指定すればよい。
 指定受付部3は、例えば、操作者がフォーリンキー列、関係値列、および統計モデルの種別の指定を入力するためのGUI(Graphical User Interface)をディスプレイ装置(図3において図示略)に表示し、そのGUIを介して、フォーリンキー列、関係値列、および統計モデルの種別の指定を受け付けてもよい。各実施形態では、指定受付部3がGUIを介して情報の指定を受け付ける場合を例にして説明する。
 以下の説明では、指定受付部3は、図1に示す購買テーブルのフォーリンキー列のうち、「顧客ID」列および「商品ID」列の指定を受け付けた場合を例にして説明する。また、指定受付部3は、図1に示す購買テーブルの関係値列のうち、「購買数」列の指定を受け付けるとともに、統計モデルの種別として、ポアソン分布の指定を受け付けた場合を例にして説明する。ただし、操作者によって指定されるフォーリンキー列、関係値列および統計モデルの種別は、上記の例に限定されない。また、指定されるフォーリンキー列の数は3つ以上であってもよい。
 データ取得部4は、操作者によって指定された各フォーリンキーの参照先となる個々の表を特定する。そして、データ取得部4は、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、指定された関係値列の関係値の集計値をRDB7から取得する。
 データ取得部4の処理を、具体例を用いて説明する。本例では、フォーリンキーとして、「顧客ID」列および「商品ID」列が指定されている。データ取得部4は、「顧客ID」列の参照先となる表として、顧客マスタを特定する。また、データ取得部4は、「商品ID」列の参照先となる表として、商品マスタを特定する。そして、データ取得部4は、顧客マスタのプライマリキー列のキー値と、商品マスタのプライマリキー列のキー値との組み合わせ毎に、指定された関係値列の関係値の集計値を、その関係値列を含む表(本例では、購買テーブル)から取得する。本例では、関係値列として、「購買数」列が指定されている。従って、データ取得部4は、顧客マスタのプライマリキー列のキー値と、商品マスタのプライマリキー列のキー値との組み合わせ毎に、購買数の集計値を購買テーブルから取得する。
 顧客マスタのプライマリキー列は、顧客マスタ内の「顧客ID」列であり、商品マスタのプライマリキー列は、商品マスタ内の「商品ID」列である。以下、これらのプライマリキー列のキー値の組み合わせの例として、顧客ID“183”と商品ID“50”との組み合わせを用いて、購買数の集計値を取得する処理の例を示す。データ取得部4は、顧客ID“183”と商品ID“50”との組み合わせに合致する購買テーブル内の行を検索し、その各行における購買数の値の合計値を返すことを、DB管理部2に要求する。図1に示す例では、顧客ID“183”と商品ID“50”との組み合わせに合致する購買テーブル内の行は、行Bおよび行Eである。従って、DB管理部2は、行Bの購買数の値“3”と行Eの購買数の値“4”の合計値“7”を算出し、その算出結果を購買数の集計値として、データ取得部4に返す。この結果、データ取得部4は、顧客ID“183”と商品ID“50”との組み合わせにおける購買数の集計値を取得する。
 ここでは、顧客ID“183”と商品ID“50”との組み合わせを例にして、データ取得部4が、購買数の集計値を取得する場合を示した。データ取得部4は、顧客IDの値と商品IDとの全ての組み合わせに関して、同様に、購買数の集計値を取得する。
 データ取得部4は、顧客マスタのプライマリキー列のキー値(顧客マスタ内の顧客ID)と、商品マスタのプライマリキー列のキー値(商品マスタ内の商品ID)との組み合わせ毎に購買数の集計値を要求するSQLを生成し、そのSQLをDB管理部2に入力することによって、組み合わせ毎の購買数の集計値を取得すればよい。
 グルーピング部5は、指定された各フォーリンキーの参照先となる個々の表のプライマリキー列のキー値の組み合わせ毎にデータ取得部4が取得した集計値と、指定された種別の統計モデルとに基づいて、その個々の表のプライマリキー列のキー値をグループ分けする。
 グルーピング部5の処理を、具体例を用いて説明する。上記の例では、データ取得部4は、顧客IDの値と商品IDとの組み合わせ毎に購買数の集計値を取得する場合を示した。また、統計モデルの種別として、ポアソン分布が指定されている。この場合、グルーピング部5は、顧客IDの値と商品IDとの組み合わせ毎の購買数の集計値と、ポアソン分布とに基づいて、顧客マスタ内の顧客IDおよび商品マスタ内の商品IDをグループ分けする。
 以下、顧客IDのグループを単に顧客IDグループと記す。また、商品IDのグループを単に商品IDグループと記す。
 また、以下の説明では、説明を簡単にするために、個々の顧客IDがそれぞれ1つの顧客IDグループのみに属し、個々の商品IDがそれぞれ1つの商品IDグループのみに属するように、グルーピング部5が顧客IDおよび商品IDをグループ分けする場合を例にして説明する。なお、このように、1つのキー値が1つのグループのみに属するようにグループを定めることをクラスタリングと呼ぶ。
 顧客IDを符号“c”で表すこととする。また、商品IDを符号“i”で表すこととする。
 また、顧客ID“c”と商品ID“i”との組み合わせに対応する関係値の集計値(本例では、購買数の集計値)を、集計値xc,iと記す。例えば、前述の例のように、顧客ID“183”と商品ID“50”との組み合わせに関して集計値“7”が得られているとする。この場合、x183,50=7である。
 図4は、グループ分け前の顧客IDおよび商品IDを順番に並べた状態を図示している。図4では、顧客IDを横軸方向に順番に並べ、商品IDを縦軸方向に順番に並べた状態を示している。また、顧客IDおよび商品IDの組み合わせに対応する購買数の集計値xc,iを図示している。例えば、図4に示すx3,5は、顧客ID“3”と商品ID“5”の組み合わせに対応する購買数の集計値である。
 図5は、グルーピング部5によって決定された顧客IDグループおよび商品IDグループの例を模式的に示す説明図である。グルーピング部5は、顧客IDグループおよび商品IDグループをそれぞれ複数決定する。ただし、図5では、説明を簡単にするため、ID“9”の顧客IDグループと、ID“4”の商品IDグループのみを図示している。顧客IDグループの数、および商品IDグループの数は、それぞれ、固定の値に定めてもよく、あるいは、固定の値に限定されなくてもよい。以下、顧客IDグループの数はK個であり、各顧客IDグループのIDは、1~Kであるとする。また、商品IDグループの数はK個であり、各商品IDグループのIDは、1~Kであるとする。また、顧客IDグループのIDが“k”(kは1~Kのうちのいずれか)である場合、その顧客IDグループを、顧客IDグループ“k”と記す。この点は、商品IDグループに関しても同様である。
 また、図5に示す例では、グループに属している顧客IDおよび商品IDを括弧で示している。例えば、顧客IDグループ“9”には、顧客ID“1”,“3”等が属している。商品IDグループ“4”には、商品ID“2”,“5”等が属している。
 1つの顧客IDグループおよび1つの商品IDグループの組み合わせには、その顧客IDグループに属する顧客ID、および、その商品IDグループに属する商品IDの組み合わせに応じた集計値xc,iが対応している。例えば、図5に示す例では、顧客IDグループ“9”および商品IDグループ“4”の組み合わせには、x1,2、x3,5等が対応している。
 なお、図5は、同一の顧客IDグループに属する顧客IDが連続して並び、同一の商品IDグループに属する商品IDが連続して並ぶように、図4を変形した図であると言うことができる。
 以下、グルーピング部5がグループを決定する際の演算について説明する。
 ここで、顧客ID“c”が属する顧客IDグループをz と記す。例えば、顧客ID“3”が顧客IDグループ“1”に属している場合、z =1と表すことができる。また、z を、顧客IDグループのIDに対応する要素のみを1とし他の要素を0とするベクトルで表してもよい。例えば、上記の例において、z =(1,0,0,0,0,・・・)と表してもよい。
 同様に、商品ID“i”が属する商品IDグループをz と記す。例えば、商品ID“2”が商品IDグループ“4”に属している場合、z =4と表すことができる。また、z を、商品IDグループのIDに対応する要素のみを1とし他の要素を0とするベクトルで表してもよい。例えば、上記の例において、z =(0,0,0,1,0,・・・)と表してもよい。
 また、統計モデルのパラメータのもとで集計値xc,iが生じる確率をp(xc,i)と記す。具体的には、p(xc,i)は、以下の式(1)のように表される。
 p(xc,i)=p(xc,i|θ(z ,z ))   ・・・式(1)
 式(1)においてθ(z ,z )は、顧客ID“c”が属する顧客IDグループ“z ”と商品ID“i”が属する商品IDグループ“z ”との組み合わせに対応する購買数の集計値の分布のパラメータである。この分布は、操作者によって指定された分布であり、本例では、ポアソン分布である。すなわち、本例では、θ(z ,z )は、“z ”と“z ”との組み合わせに対応するポアソン分布のパラメータである。そして、p(xc,i)は、そのようなポアソン分布のパラメータのもとでxc,iが生じる確率である。なお、分布のパラメータは、分布の種別に応じたパラメータであればよい。例えば、ガウス分布のパラメータは、平均および分散である。
 グルーピング部5は、以下に示す式(2)を用いる。
Figure JPOXMLDOC01-appb-M000001
 式(2)は、個々の顧客IDが属する各顧客IDグループ、個々の商品IDが属する各商品IDグループ、および顧客IDグループと商品IDグループの組み合わせに応じた分布のパラメータ(θ(z ,z ))の組み合わせの尤度である。また、式(2)において、Sは、顧客IDの集合であり、Sは、商品IDの集合である。
 グルーピング部5は、式(2)で算出される尤度を用いて、各顧客IDグループおよび各商品IDグループを決定する。このとき、グルーピング部5は、顧客IDグループと商品IDグループの組み合わせに応じた分布のパラメータ(θ(z ,z ))も、組み合わせ毎に決定する。
 例えば、グルーピング部5は、式(2)で算出される尤度が増加するように、式(2)におけるz ,z ,θ(z ,z )を更新していき、各顧客IDグループ、各商品IDグループ、および、顧客IDグループと商品IDグループの組み合わせに応じた分布のパラメータをそれぞれ確定すればよい。
 上記のように式(2)内の要素を更新するときに、尤度が最大になるように、各顧客IDグループ、各商品IDグループや、パラメータを決定する場合、あるいは、式(2)に事前分布を含め、事後分布を最大化する推定(MAP推定)を行う場合は、グルーピング部5は、EM(Expectation-Maximization)を用いればよい。尤度が最大になるようにする方法は一例であり、グルーピング部5は、尤度が最大になるようにする方法以外の方法(例えば、変分ベイズ法やGibbsサンプリング法等)を用いて、各顧客IDグループ、各商品IDグループ等を決定してもよい。
 各顧客IDグループが決定されることによって、顧客マスタ内の個々の顧客IDには、その顧客IDが属する顧客IDグループのIDを属性値として対応付けることができる。同様に、各商品IDグループが決定されることによって、商品マスタ内の個々の商品IDには、その商品IDが属する商品IDグループのIDを属性値として対応付けることができる。
 属性値列追加部6は、指定された各フォーリンキーの参照先となる個々の表毎に、その表のプライマリキー列のキー値が属するグループのIDを属性値とする属性値列を追加する。本例では、属性値列追加部6は、顧客マスタに対して、顧客IDが属する顧客IDグループのIDを属性値とする属性値列を追加する。同様に、属性値列追加部6は、商品マスタに対して、商品IDが属する商品IDグループのIDを属性値とする属性値列を追加する。
 図6は、新たに属性値列が追加された顧客マスタおよび商品マスタの例を示す。なお、図6では、図1に示す購買テーブルおよび店舗マスタの図示を省略している。本例では、フォーリンキー列のうち、「顧客ID」列および「商品ID」列が指定された場合を例にして説明したので、顧客マスタおよび商品マスタに新たに属性値列が追加される。指定されるフォーリンキー列の中に、「店舗ID」列が含まれていれば、「店舗ID」列の参照先となる店舗マスタに新たに属性値列が追加されることになる。
 なお、本実施形態では、顧客IDグループのIDや、商品IDグループのIDを番号で表しているため、追加される属性値列の属性値も番号で示している。顧客IDグループのIDや、商品IDグループのIDを、分析者が理解しやすい名称で表し、追加される属性値列の属性値を、そのような理解しやすい名称としてもよい。この点は、後述の第2の実施形態においても同様である。
 DB管理部2、指定受付部3、データ取得部4、グルーピング部5および属性値列追加部6は、例えば、プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUは、コンピュータのプログラム記憶装置(図3において図示略)等のプログラム記録媒体から表操作プログラムを読み込み、その表操作プログラムに従って、DB管理部2、指定受付部3、データ取得部4、グルーピング部5および属性値列追加部6として動作すればよい。また、DB管理部2、指定受付部3、データ取得部4、グルーピング部5および属性値列追加部6がそれぞれ別のハードウェアで実現されていてもよい。これらの点は、後述の第2の実施形態においても同様である。
 また、表操作システム1は、2つ以上の物理的に分離した装置が有線または無線で接続されている構成であってもよい。この点も、後述の第2の実施形態において同様である。
 次に、処理経過について説明する。図7は、本発明の第1の実施形態の処理経過の例を示すフローチャートである。
 指定受付部3は、2以上のフォーリンキー列と1以上の関係値列を持つ表における少なくとも2つのフォーリンキー列の指定を受け付けるとともに、その表における1つの関係値列の指定と、その関係値列に対応付けられる統計モデルの種別の指定とを受け付ける(ステップS1)。ステップS1において、指定受付部3は、これらの項目をユーザが入力するためのGUIをディスプレイ装置(図3において図示略)に表示し、そのGUIを介して、上記の各項目の指定を受け付ける。GUIの具体例については後述する。
 以下の説明においても、フォーリンキー列として、図1に示す購買テーブルの「顧客ID」列および「商品ID」列が指定され、関係値列としてその購買テーブルの「購買数」列が指定される場合を例にする。また、統計モデルの種別としてポアソン分布が指定される場合を例にする。
 次に、データ取得部4は、ステップS1で指定されたフォーリンキー列の参照先となる各表を特定する。本例では、データ取得部4は、購買テーブルの「顧客ID」列および「商品ID」列それぞれの参照先である顧客マスタおよび商品マスタ(図1参照)を特定する。そして、データ取得部4は、その個々の表のプライマリキー列のキー値の組み合わせ毎に、指定された関係値列の関係値の集計値をRDB7の購買テーブルから取得する(ステップS2)。本例では、データ取得部4は、顧客マスタの「顧客ID」列に格納されている各顧客IDと商品マスタの「商品ID」列に格納されている各商品IDの組み合わせ毎に、購買数の集計値を要求するSQLを生成し、そのSQLをDB管理部2に入力する。DB管理部2は、そのSQLに応じて、顧客IDと商品IDの組み合わせに合致する行を購買テーブル(図1参照)から検索し、検索した行における購買数の合計値を算出する処理を、顧客IDと商品IDの組み合わせ毎に実行する。DB管理部2は、顧客IDと商品IDの組み合わせ毎に算出した、購買数の合計値をデータ取得部4に返す。この結果、データ取得部4は、組み合わせ毎の購買数の集計値を取得する。
 次に、グルーピング部5は、ステップS2で特定された各表のプライマリキー列のキー値をそれぞれグループ分けする(ステップS3)。本例では、グルーピング部5は、式(2)で算出される尤度が増加するように、個々の顧客IDが属する顧客IDグループ(z )、個々の商品IDが属する商品IDグループ(z )、および“z ”と“z ”との組み合わせに対応するポアソン分布のパラメータθ(z ,z )を更新していき、各顧客IDグループ、各商品IDグループ、および、顧客IDグループと商品IDグループの組み合わせに応じたポアソン分布のパラメータをそれぞれ確定する。
 次に、属性値列追加部6は、ステップS2で特定された表毎に、その表のプライマリキー列のキー値が属するグループのIDを属性とする属性値列を追加する(ステップS4)。本例では、属性値列追加部6は、顧客マスタに対して、顧客IDが属する顧客IDグループのIDを属性値とする属性値列を追加する。同様に、属性値列追加部6は、商品マスタに対して、商品IDが属する商品IDグループのIDを属性値とする属性値列を追加する。この結果、図6に示すように、顧客マスタおよび商品マスタに、新たな属性値列が追加される。
 本実施形態によれば、スキーマ設定情報で規定されていなかった属性値列が、ステップS1で指定されたフォーリンキー列の参照先となる表に追加される。よって、分析者は、所望の条件に合致する情報をBIツールに提示させるときに、追加された属性値列の属性値(プライマリキーが属するグループのID)を条件に含めることができる。例えば、分析者が、顧客IDグループ“5”に属する顧客が商品IDグループ“11”に属する商品を購買した購買数を知りたい場合、その分析者は、顧客に関して「顧客IDグループ“5”」という条件を指定し、商品に関して「商品IDグループ“11”」という条件を指定することができる。
 グルーピング部5は、グループやパラメータの尤度が増加するように、プライマリキー列のキー値をグループ分けする。この結果得られる各グループは、スキーマ設定情報に従って作成されたRDB7から分析者が把握することができないものである。本発明は、そのようなグループのIDを新たな属性値として参照先となる表に追加する。従って、本発明によれば、スキーマ設定情報で規定された表の構成からは分析者が気付くことができなかった条件を分析者が指定できるようになる。その結果、より分析しやすい情報を、BIツールがRDB7から抽出して、分析者に提示できるようになる。
 なお、上記の説明では、操作者によって2つのフォーリンキー列が指定される場合を説明した。操作者によって3つ以上のフォーリンキー列が指定されてもよい。例えば、購買テーブル(図1参照)の「顧客ID」列、「商品ID」列、「店舗ID」列が指定されてもよい。この場合、データ取得部4は、顧客マスタ内の顧客IDと、商品マスタ内の商品IDと、店舗マスタ内の店舗IDとの組み合わせ毎に、関係値の集計値を取得すればよい。また、グルーピング部5は、顧客ID、商品IDおよび店舗IDに関して、それぞれグループ分けを行えばよい。この場合、グルーピング部5は、グループ分けの対象となる各キーが属する各グループ、その各グループの組み合わせに応じた分布(指定された種別の統計モデル)のパラメータを更新し、各グループ、および各グループの組み合わせに応じた分布のパラメータの尤度を増加させるようにして、各グループ、および各グループの組み合わせに応じた分布のパラメータを確定すればよい。より具体的には、グルーピング部5は、顧客マスタの個々の顧客IDが属する顧客IDグループ、商品マスタの個々の商品IDが属する商品IDグループ、店舗マスタの個々の店舗IDが属する店舗IDグループ、および、顧客IDグループと商品IDグループと店舗IDグループとの組み合わせに応じた分布のパラメータを更新し、それらの尤度を増加させるようにして、各商品IDグループ、各顧客IDグループ、各店舗IDグループおよび分布のパラメータを確定すればよい。また、属性値列追加部6は、顧客マスタ、商品マスタおよび店舗マスタにそれぞれ新たに属性値列を追加すればよい。
実施形態2.
 本発明の第2の実施形態の表操作システムは、第1の実施形態の表操作システムと同様に、図3に示すブロック図で表すことができるので、図3を用いて第2の実施形態を説明する。第1の実施形態と同様の事項については、適宜説明を省略する。
 第2の実施形態の表操作システム1は、DB管理部2と、指定受付部3と、データ取得部4と、グルーピング部5と、属性値列追加部6とを備える(図3参照)。
 DB管理部2は、第1の実施形態におけるDB管理部2と同様である。また、第2の実施形態においても、スキーマ設定情報によって各表の構成や表の参照関係が規定されたRDB7が、図1に例示するRDBであるものとして説明する。
 指定受付部3は、2以上のフォーリンキー列と1以上の関係値列を持つ表における少なくとも2つのフォーリンキー列の指定を受け付けるとともに、その表における1つの関係値列の指定と、その関係値列に対応付けられる統計モデルの種別の指定を受け付ける。この動作は、第1の実施形態と同様である。説明を簡単にするため、本実施形態でも、フォーリンキー列として、図1に示す購買テーブルの「顧客ID」列および「商品ID」列が指定され、関係値列としてその購買テーブルの「購買数」列が指定される場合を例にする。また、統計モデルの種別としてポアソン分布が指定される場合を例にする。
 第2の実施形態では、指定受付部3は、さらに、指定されたフォーリンキー列の参照先となる表が持つ属性値列の指定も受け付け、その属性値列に対応付けられる統計モデルの種別の指定も受け付ける。なお、第2の実施形態で指定される属性値列の数は1つ以上である。指定されたフォーリンキー列の参照先となる表は、複数存在するが、その表のうち、属性値列が指定されない表があってもよい。また、指定された属性値列毎に、統計モデルの種別が指定される。
 フォーリンキー列として、購買テーブルの「顧客ID」列および「商品ID」列が指定されるとする。すると、その「顧客ID」列の参照先となる表は顧客マスタであり、「商品ID」列の参照先となる表は商品マスタである(図1参照)。そして、顧客マスタは、属性値列として、「年齢」列および「性別」列を持ち、商品マスタは、属性値列として、「商品カテゴリ」列を持つ(図1参照)。指定受付部3は、「年齢」列、「性別」列および「商品カテゴリ」列のうち、1つ以上の属性値列の指定を受け付ける。
 ここでは、説明を簡単にするため、指定受付部3が1つの属性値列の指定を受け付ける場合を例にして説明する。また、その属性値列が「年齢」列である場合を例にして説明する。操作者は、指定する属性値列に応じて、統計モデルの種別を指定すればよい。例えば、操作者は、属性値列として「年齢」列を指定する場合、「年齢」列に対応付ける統計モデルの種別として、ガウス分布を指定すればよい。以下、「年齢」列に対応付ける統計モデルの種別として、ガウス分布が指定された場合を例にして説明する。
 また、例えば、操作者は、属性値列として「性別」列を指定する場合、ベルヌーイ分布を指定すればよい。また、例えば、操作者は、属性値列として「商品カテゴリ」列を指定する場合、多項分布を指定すればよい。
 データ取得部4は、操作者によって指定された各フォーリンキーの参照先となる個々の表を特定する。そして、データ取得部4は、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、指定された関係値列の関係値の集計値をRDB7から取得する。この動作は、第1の実施形態と同様である。
 第2の実施形態では、データ取得部4は、さらに、指定された属性値列の属性値を、その属性値列を持つ表のプライマリキー列のキー値毎に取得する。本例では、属性値列として「年齢」列を指定されている。その「年齢」列を持つ表は、顧客マスタであり、その顧客マスタのプライマリキー列は「顧客ID」列である(図1参照)。従って、この場合、データ取得部4は、「年齢」列の属性値を、顧客マスタに含まれている顧客ID毎に取得する。
 データ取得部4は、指定された属性値列の属性値を、その属性値列を持つ表のプライマリキー列のキー値毎に要求するSQLを生成し、そのSQLをDB管理部2に入力することによって、キー値毎に属性値を取得すればよい。
 グルーピング部5は、指定された各フォーリンキー列の参照先となる個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、関係値列に対応付けられた種別の統計モデルと、指定された属性値列を持つ表のプライマリキー列のキー値毎に取得された属性値と、その属性値列に対応付けられた種別の統計モデルとに基づいて、その個々の表のプライマリキー列のキー値をグループ分けする。換言すれば、グルーピング部5は、指定された属性値列の属性値も用いて、プライマリキー列のキー値をグループ分けする。
 顧客ID“c”に対応する年齢をaとする。統計モデルのパラメータのもとで年齢aが生じる確率(換言すれば、顧客ID“c”に対応する年齢がaである確率)をp(a)と記す。具体的には、p(a)は、以下の式(3)のように表される。
 p(a)=p(a|α(z ))    ・・・式(3)
 式(3)において、α(z )は、顧客ID“c”が属する顧客IDグループ“z ”に対応する年齢の分布のパラメータである。この分布は、属性値列に対応付けられた種別の統計モデルである。また、この種別は、操作者によって指定されたものである。本例では、この分布は、ガウス分布である。
 グルーピング部5は、以下に示す式(4)を用いる。
Figure JPOXMLDOC01-appb-M000002
 式(4)は、個々の顧客IDが属する各顧客IDグループ、個々の商品IDが属する各商品IDグループ、顧客IDグループと商品IDグループの組み合わせに応じた分布のパラメータ(θ(z ,z ))、および顧客IDグループに応じた分布のパラメータ(α(z ))の組み合わせの尤度である。
 グルーピング部5は、式(4)で算出される尤度を用いて、各顧客IDグループおよび各商品IDグループを決定する。このとき、グルーピング部5は、顧客IDグループと商品IDグループの組み合わせに応じた分布のパラメータ(θ(z ,z ))も組み合わせ毎に決定し、また、各顧客IDグループに応じた分布のパラメータ(α(z ))も顧客IDグループ毎に決定する。
 例えば、グルーピング部5は、式(4)で算出される尤度が増加するように、式(4)におけるz ,z ,θ(z ,z ),α(z )を更新していき、各顧客IDグループ、各商品IDグループ、顧客IDグループと商品IDグループの組み合わせに応じた分布のパラメータ、および、顧客IDグループに応じた分布のパラメータをそれぞれ確定すればよい。
 尤度が増加するようにしてグルーピング部5が各グループやパラメータを更新し、各グループやパラメータを確定する動作は、第1の実施形態における動作と同様である。
 各顧客IDグループが決定されることによって、顧客マスタ内の個々の顧客IDには、その顧客IDが属する顧客IDグループのIDを属性値として対応付けることができる。同様に、各商品IDグループが決定されることによって、商品マスタ内の個々の商品IDには、その商品IDが属する商品IDグループのIDを属性値として対応付けることができる。
 属性値列追加部6は、指定された各フォーリンキーの参照先となる個々の表毎に、その表のプライマリキー列のキー値が属するグループのIDを属性値とする属性値列を追加する。第2の実施形態における属性値列追加部6の動作は、第1の実施形態における属性値列追加部6の動作と同様である。本例では、属性値列追加部6は、顧客マスタに対して、顧客IDが属する顧客IDグループのIDを属性値とする属性値列を追加する。同様に、属性値列追加部6は、商品マスタに対して、商品IDが属する商品IDグループのIDを属性値とする属性値列を追加する。この結果、図6に例示するように、新たに属性値列が追加された顧客マスタおよび商品マスタが得られる。
 次に、処理経過について説明する。図8は、本発明の第2の実施形態の処理経過の例を示すフローチャートである。
 指定受付部3は、2以上のフォーリンキー列と1以上の関係値列を持つ表における少なくとも2つのフォーリンキー列の指定を受け付けるとともに、その表における1つの関係値列の指定と、その関係値列に対応付けられる統計モデルの種別の指定とを受け付ける。さらに、指定受付部3は、そのフォーリンキー列の参照先となる表が持つ属性値列の指定と、その属性値列に対応付けられる統計モデルの種別の指定とを受け付ける(ステップS11)。指定受付部3は、これらの項目をユーザが入力するためのGUIをディスプレイ装置(図3において図示略)に表示し、そのGUIを介して、上記の各項目の指定を受け付ける。GUIの具体例については後述する。
 以下の説明においても、フォーリンキー列として、図1に示す購買テーブルの「顧客ID」列および「商品ID」列が指定され、関係値列としてその購買テーブルの「購買数」列が指定される場合を例にする。また、関係値列に対応付けられる統計モデルの種別としてポアソン分布が指定される場合を例にする。さらに、属性値列として「年齢」列が指定され、属性値列に対応付けられる統計モデルの種別としてガウス分布が指定される場合を例にする。
 次のステップS12において、データ取得部4は、ステップS11で指定されたフォーリンキー列の参照先となる各表を特定する。本例では、データ取得部4は、購買テーブルの「顧客ID」列および「商品ID」列それぞれの参照先である顧客マスタおよび商品マスタ(図1参照)を特定する。そして、データ取得部4は、その個々の表のプライマリキー列のキー値の組み合わせ毎に、指定された関係値列の関係値の集計値をRDB7の購買テーブルから取得する。この動作は、第1の実施形態におけるステップS2と同様である。
 さらに、ステップS12において、データ取得部4は、指定された属性値列の属性値を、その属性値列を持つ表のプライマリキー列のキー毎に取得する(ステップS12)。属性値列として指定された「年齢」列を持つ表は顧客マスタである(図1参照)。従って、本例では、データ取得部4は、「年齢」列の属性値を、顧客マスタの「顧客ID」列に格納されている顧客ID毎に取得する。データ取得部4は、「年齢」列の属性値を、顧客マスタの「顧客ID」列に格納されている顧客ID毎に要求するSQLを生成し、そのSQLをDB管理部2に入力する。DB管理部2は、そのSQLに応じて、「年齢」列の属性値を、顧客マスタの「顧客ID」列に格納されている顧客ID毎に抽出する処理を実行し、顧客ID毎に抽出した「年齢」列の属性値をデータ取得部4に返す。この結果、データ取得部4は、顧客ID毎の属性値を取得する。
 次に、グルーピング部5は、ステップS12で特定された各表(顧客マスタおよび商品マスタ)のプライマリキー列のキー値をそれぞれグループ分けする(ステップS13)。本例では、グルーピング部5は、式(4)で算出される尤度が増加するように、個々の顧客IDが属する顧客IDグループ(z )、個々の商品IDが属する商品IDグループ(z )、 “z ”と“z ”との組み合わせに対応するポアソン分布のパラメータθ(z ,z )、および、“z ”に対応するガウス分布のパラメータα(z )を更新していき、各顧客IDグループ、各商品IDグループ、顧客IDグループと商品IDグループの組み合わせに応じたポアソン分布のパラメータ、顧客IDグループに応じたガウス分布のパラメータをそれぞれ確定する。
 次に、属性値列追加部6は、ステップS12で特定された表毎に、その表のプライマリキー列のキー値が属するグループのIDを属性とする属性値列を追加する(ステップS14)。ステップS14の処理は、第1の実施形態におけるステップS4の処理と同様である。この結果、図6に示すように、顧客マスタおよび商品マスタに、新たな属性値列が追加される。
 第2の実施形態においても、第1の実施形態と同様の効果が得られる。特に、第2の実施形態では、指定されたフォーリンキーの参照先となる表のプライマリキー列のキー値をグループ分けする際、指定された属性値列も考慮してグループ分けを行う。従って、プライマリキー列のキー値のグループ分けの精度が向上する。その結果、分析者は、分析しやすい情報を得るための条件指定をより適切に行えるようになる。
 上記の第2の実施形態では、属性値列として、顧客マスタの「年齢」列が指定される場合を例にして説明した。「年齢」列は、属性値列の例であり、「年齢」列以外の属性値列が指定されてもよい。また、操作者によって指定される属性値列の数は、2以上であってもよい。グルーピング部5は、指定された属性値列に応じた尤度の算出式を用いて、ステップS13におけるグループ分けを行えばよい。
 次に、第1の実施形態および第2の実施形態において、指定受付部3が各種項目の指定を受け付けるときに表示するGUIについて説明する。第1の実施形態および第2の実施形態は、共通のGUIを用いることができる。
 図9および図10は、本発明で用いられるGUIの例を示す説明図である。GUIとして用いられる画面は、例えば、表名表示欄51と、選択表名表示欄52と、列名表示欄53と、第1の選択列名表示欄54と、参照先表名表示欄55,56と、第2の選択列名表示欄57と、種別選択欄58と、ボタン61~64とを含む。
 選択表名表示欄52、列名表示欄53、第1の選択列名表示欄54、参照先表名表示欄55,56、第2の選択列名表示欄57、および種別選択欄58は、初期状態で空欄である。
 表名表示欄51は、各表の表名を表示する欄である。指定受付部3は、スキーマ設定情報で規定されている各表の表名を表名表示欄51に表示する。図9および図10では、指定受付部3が、“order ”等の3つの表名を表名表示欄51に表示した状態を例示している。
 選択表名表示欄52は、操作者に選択された表名を表示する欄である。例えば、指定受付部3は、表名表示欄51に表示した表名のうちの1つの表名に対してクリック操作が行われた場合、その表名が選択されたと判定し、その表名を選択表名表示欄52に表示する。図9および図10では、操作者が表名表示欄51内の“order ”をクリックしたことによって、指定受付部3が選択表名表示欄52に表名“order ”を表示した状態を例示している。
 列名表示欄53は、選択された表名が示す表が持つ各列の列名を表示する欄である。図9および図10では、“order ”という表名の表が持っている各列の列名を指定受付部3が列名表示欄53に表示した状態を例示している。なお、図9および図10では、プライマリキー列の列名には“PK”という符号を付加し、フォーリンキー列の列名には“FK”という符号を付加している。
 第1の選択列名表示欄54は、選択されたフォーリンキー列の列名を表示する欄である。第1の選択列名表示欄54に列名が表示されているフォーリンキー列は、操作者によって指定されたフォーリンキー列である。フォーリンキー列の選択操作(換言すれば、指定操作)は、例えば、列名表示欄53に表示されたフォーリンキー列の列名をクリックし、続いて、ボタン61をクリックする操作である。このような操作が行われた場合、指定受付部3は、そのフォーリンキー列の列名を第1の選択列名表示欄54に表示し、列名表示欄53からその列名を削除する。操作者は、少なくとも2つのフォーリンキー列に対して、上記の選択操作を行い、指定受付部3は、それらのフォーリンキー列が指定されたと判定する。図10では、“customer_cd ”という列名のフォーリンキー列と、“item_cd”という列名のフォーリンキー列が操作者によって指定された状態を例示している。
 なお、操作者は、フォーリンキー列の指定を解除する場合、第1の選択列名表示欄54に表示された列名のうち、指定を解除しようとするフォーリンキー列の列名をクリックし、続いて、ボタン62をクリックすればよい。このような操作が行われた場合、指定受付部3は、そのフォーリンキー列の列名を第1の選択列名表示欄54から削除し、その列名を、再度、列名表示欄53に表示する。
 また、指定受付部3は、第1の選択列名表示欄54に列名を表示したフォーリンキー列(すなわち、操作者に指定されたフォーリンキー列)の参照先となる表の表名を、参照先表名表示欄55,56に表示する。図10では、“customer_cd ”という列名のフォーリンキー列の参照先となる表の表名“customer”および“item_cd ” という列名のフォーリンキー列の参照先となる表の表名“item”が、参照先表名表示欄55,56に表示された状態を例示している。操作者は、参照先表名表示欄55,56を見ることによって、指定したフォーリンキー列の参照先となる表を把握することができる。
 第2の選択列名表示欄57は、選択された関係値列の列名または選択された属性値列の列名を表示する欄である。第2の選択列名表示欄57に列名が表示されている値列は、操作者によって指定された関係値列または属性値列である。
 関係値列の選択操作(換言すれば、指定操作)は、例えば、列名表示欄53に表示された関係値列の列名をクリックし、続いて、ボタン63をクリックする操作である。このような操作が行われた場合、指定受付部3は、その関係値列の列名を第2の選択列名表示欄57に表示し、列名表示欄53からその列名を削除する。操作者は1つの関係値列に対して、上記の選択操作を行い、指定受付部3は、その関係値列が指定されたと判定する。
 種別選択欄58は、第2の選択列名表示欄57に表示された列名が示す値列に対応する統計モデルの種別を選択するための欄である。図10に示す例では、種別選択欄58がプルダウンメニューである場合を例示している。操作者は、種別選択欄58を操作することによって、第2の選択列名表示欄57に表示された列名が示す値列に対応する統計モデルの種別を選択すればよい。この操作が行われると、指定受付部3は、第2の選択列名表示欄57に表示された列名が示す値列に対応する統計モデルの種別が指定されたと判定する。
 図10に示す例では、“quantity”という列名の関係値列が指定され、その関係値列に対応する統計モデルの種別としてポアソン分布が指定された場合を例示している。
 属性値列の選択操作およびその属性値列に対応する統計モデルの種別の選択操作は、関係値列の選択操作およびその関係値列に対応する統計モデルの種別の選択操作と同様である。例えば、操作者は、列名表示欄53に表示された属性値列の列名をクリックし、ボタン63をクリックすればよい。このような操作が行われた場合、指定受付部3は、その属性値列の列名を第2の選択列名表示欄57に表示し、列名表示欄53からその列名を削除する。操作者は選択しようとする属性値列に対して上記の操作を行い、指定受付部3は、その属性値列が指定されたと判定する。
 また、操作者は、指定した属性値列が第2の選択列名表示欄57に表示された状態で、種別選択欄58を操作することによって、属性値列に対応する統計モデルの種別を選択すればよい。この操作が行われると、第2の選択列名表示欄57に表示された属性値列に対応する統計モデルの種別が選択されたと判定する。
 なお、第1の実施形態では、属性値列の選択操作およびその属性値列に対応する統計モデルの種別の選択操作が行われた場合であっても、表操作システム1は、その属性値列や統計モデルを用いなくてよい。
 なお、操作者は、関係値列または属性値列の指定を解除する場合、第2の選択列名表示欄57に表示されている関係値列の列名または属性値列の列名をクリックし、続いて、ボタン64をクリックすればよい。このような操作が行われた場合、指定受付部3は、その関係値列の列名または属性値列の列名を第2の選択列名表示欄57から削除し、その列名を、再度、列名表示欄53に表示する。
 上記のようなGUIによって、第1の実施形態および第2の実施形態において、指定受付部3は各種項目の指定を受け付けることができる。ただし、GUIは、図9および図10に例示するGUIに限定されない。また、指定受付部3は、GUIを用いずに、各種項目の指定を受け付けてもよい。
 また、前述の各実施形態では、グルーピング部5が1つのキー値が1つのグループのみに属するようにグループ分けを行う場合を例にして説明した。グルーピング部5は、1つのキー値が複数のグループに属することを許容してキー値をグループ分けしてもよい。例えば、上記の各実施形態に示した例において、グルーピング部5は、個々の顧客IDが1つまたは複数の顧客IDグループに属し、個々の商品IDが1つまたは複数の商品IDグループに属するようにして、顧客IDグループや商品IDグループを決定してもよい。
 また、本発明において、キー列は、複数の列を含んでいてもよい。キー列が複数の列を含む場合、例えば、キー値をベクトルで表してもよい。図11は、キー列が複数の列を含む場合の例を示す説明図である。図11は、グループ会社に属する個々の社員を一意に識別するためのキー列を例示している。図11に例示するキー列は、「会社ID」列と、「社内社員ID」列とを含んでいる。グループ会社を形成する複数の会社が、同一の社内社員IDを用いる場合もある。例えば、図11に示すように、会社“1001”と会社“1002”に、同一の社内社員ID“12345”を有する別々の社員がいるとする。このような場合、社内社員IDだけでは、グループ会社に属する個々の社員を一意に識別することができない。しかし、「会社ID」列と「社内社員ID」列との組み合わせをキー列として用いることで、グループ会社に属する個々の社員を一意に識別することができる。例えば、図11に示す例では、(1001,12345)というキー値と、(1002,12345)というキー値により、別々の社員をそれぞれ一意に識別することができる。図11では、キー列が2つの列を含む場合を例示したが、キー列は3つ以上の列を含んでいてもよい。
 また、本発明において、関係値列は、複数の列を含んでいてもよい。関係値列が複数の列を含む場合、例えば、関係値をベクトルで表してもよい。図12は、関係値列が複数の列を含む場合の例を示す説明図である。図12は、購買個数を格納する関係値列を例示している。そして、購買個数を格納する関係値列が、「昼間の購買個数」列と、「夜間の購買個数」列とを含む場合を例示している。例えば、図12に示す行Pでは、購買数を(12,5)というベクトルで表すことができる。同様に、図12に示す行Qでは、購買数を(7,10)というベクトルで表すことができる。図12では、関係値列が2つの列を含む場合を例示したが、関係値列は3つ以上の列を含んでいてもよい。
 また、複数のキー列を持つ表において、関係値列が明示的に示されていない場合に、関係値列が存在しているとみなしてもよい。図13は、関係値列が明示的に示されていない表の例を示す説明図である。図13に示す表は、キー列として「顧客ID」列と「会社ID」列とを含んでいる。「会社ID」列は、顧客IDによって特定される人物が勤務している会社のIDを格納する。図13では、関係値列が明示的に示されていない。しかし、図13では、「顧客と会社の雇用関係の有無」という関係値を格納する関係値列が存在しているとみなすことができる。「顧客と会社の雇用関係の有無」という関係値は、二値(本例では“0”および“1”とする。)のいずれかの値である。ここでは、顧客IDで識別される顧客と会社IDで識別される会社の雇用関係があれば、この関係値の値は“1”であり、雇用関係がなければ、この関係値の値は“0”である。「顧客ID」列と「会社ID」列とにそれぞれキー値が格納されている行では、「顧客と会社の雇用関係の有無」という関係値は“1”である。従って、図13に例示する全ての行において、「顧客と会社の雇用関係の有無」という関係値として“1”が格納された関係値列が存在するとみなすことができる。また、例えば、顧客ID“180”と会社ID“1355”とが対応付けられた行が図13に例示する表に存在しないとする。この場合、顧客ID“180”と会社ID“1355”との関係に関しては、「顧客と会社の雇用関係の有無」という関係値は“0”である。
 図14は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005と、入力デバイス1006とを備える。
 各実施形態の表操作システムは、コンピュータ1000に実装される。表操作システムの動作は、プログラム(表操作プログラム)の形式で補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って上記の処理を実行する。
 補助記憶装置1003は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
 また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置1003に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
 次に、本発明の概要について説明する。図15は、本発明の概要を示すブロック図である。本発明の表操作システムは、指定受付手段71と、データ取得手段72と、グルーピング手段73と、属性値列追加手段74とを備える。
 指定受付手段71(例えば、指定受付部3)は、2以上のフォーリンキー列と1以上の関係値列とを持つ表における少なくとも2つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付ける。
 データ取得手段72(例えば、データ取得部4)は、指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、関係値列の関係値の集計値を取得する。
 グルーピング手段73(例えば、グルーピング部5)は、個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けする。
 属性値列追加手段74(例えば、属性値列追加部6)は、個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する。
 そのような構成によって、より分析しやすい情報を得るための条件指定が行えるように表の構成を変更することができる。
 指定受付手段71が、指定されたフォーリンキー列の参照先となる表が持つ属性値列の指定と、当該属性値列に対応付けられる統計モデルの種別の指定とを受け付け、データ取得手段72が、指定された属性値列の属性値を、当該属性値列を持つ表のプライマリキー列のキー値毎に取得し、グルーピング手段73が、指定された各フォーリンキー列の参照先となる個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、関係値列に対応付けられた種別の統計モデルと、属性値列を持つ表のプライマリキー列のキー値毎に取得された属性値と、属性値列に対応付けられた種別の統計モデルとに基づいて、個々の表のプライマリキー列のキー値をそれぞれグループ分けする構成であってもよい。
 また、指定受付手段71が、各表の表名を表示する表名表示欄(例えば、表名表示欄51)と、選択された表名が示す表が持つ各列の列名を表示する列名表示欄(例えば、列名表示欄53)と、選択された関係値列の列名または選択された属性値列の列名を表示する選択列名表示欄(例えば、第2の選択列名表示欄57)と、選択列名表示欄に表示された列名に対応する統計モデルの種別を選択するための種別選択欄(例えば、種別選択欄58)とを含む画面を表示し、列名表示欄に表示された列名の中から少なくとも2つのフォーリンキー列の列名が選択されることによって、少なくとも2つのフォーリンキー列の指定を受け付け、列名表示欄に表示された列名の中から関係値列の列名が選択され、かつ、種別選択欄で統計モデルの種別が選択されることによって、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定を受け付け、列名表示欄に表示された列名の中から属性値列の列名が選択され、かつ、種別選択欄で統計モデルの種別が選択されることによって、属性値列の指定と、当該属性値列に対応付けられる統計モデルの種別の指定を受け付ける構成であってもよい。
 また、グルーピング手段73が、1つのキー値が1つのグループのみに属するようにキー値をグループ分けする構成であってもよい。
 また、グルーピング手段73が、1つのキー値が複数のグループに属することを許容してキー値をグループ分けする構成であってもよい。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2015年3月30日に出願された日本特許出願2015-069370を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
 本発明は、予め定められているデータベースの表を操作する表操作システムに好適に適用される。
 1 表操作システム
 2 データベース管理部(DB管理部)
 3 指定受付部
 4 データ取得部
 5 グルーピング部
 6 属性値列追加部

Claims (7)

  1.  2以上のフォーリンキー列と1以上の関係値列とを持つ表における少なくとも2つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付ける指定受付手段と、
     指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、前記関係値列の関係値の集計値を取得するデータ取得手段と、
     前記個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、前記個々の表のプライマリキー列のキー値をそれぞれグループ分けするグルーピング手段と、
     前記個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する属性値列追加手段とを備える
     ことを特徴とする表操作システム。
  2.  指定受付手段は、
     指定されたフォーリンキー列の参照先となる表が持つ属性値列の指定と、当該属性値列に対応付けられる統計モデルの種別の指定とを受け付け、
     データ取得手段は、
     指定された属性値列の属性値を、当該属性値列を持つ表のプライマリキー列のキー値毎に取得し、
     グルーピング手段は、
     指定された各フォーリンキー列の参照先となる個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、関係値列に対応付けられた種別の統計モデルと、前記属性値列を持つ表のプライマリキー列のキー値毎に取得された属性値と、前記属性値列に対応付けられた種別の統計モデルとに基づいて、前記個々の表のプライマリキー列のキー値をそれぞれグループ分けする
     請求項1に記載の表操作システム。
  3.  指定受付手段は、
     各表の表名を表示する表名表示欄と、
     選択された表名が示す表が持つ各列の列名を表示する列名表示欄と、
     選択された関係値列の列名または選択された属性値列の列名を表示する選択列名表示欄と、
     前記選択列名表示欄に表示された列名に対応する統計モデルの種別を選択するための種別選択欄とを含む画面を表示し、
     前記列名表示欄に表示された列名の中から少なくとも2つのフォーリンキー列の列名が選択されることによって、前記少なくとも2つのフォーリンキー列の指定を受け付け、
     前記列名表示欄に表示された列名の中から関係値列の列名が選択され、かつ、前記種別選択欄で統計モデルの種別が選択されることによって、前記関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定を受け付け、
     前記列名表示欄に表示された列名の中から属性値列の列名が選択され、かつ、前記種別選択欄で統計モデルの種別が選択されることによって、前記属性値列の指定と、当該属性値列に対応付けられる統計モデルの種別の指定を受け付ける
     請求項2に記載の表操作システム。
  4.  グルーピング手段は、1つのキー値が1つのグループのみに属するようにキー値をグループ分けする
     請求項1から請求項3のうちのいずれか1項に記載の表操作システム。
  5.  グルーピング手段は、1つのキー値が複数のグループに属することを許容してキー値をグループ分けする
     請求項1から請求項3のうちのいずれか1項に記載の表操作システム。
  6.  2以上のフォーリンキー列と1以上の関係値列とを持つ表における少なくとも2つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付け、
     指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、前記関係値列の関係値の集計値を取得し、
     前記個々の表のプライマリキー列のキー値の組み合わせ毎に取得した集計値と、指定された種別の統計モデルとに基づいて、前記個々の表のプライマリキー列のキー値をそれぞれグループ分けし、
     前記個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する
     ことを特徴とする表操作方法。
  7.  コンピュータに、
     2以上のフォーリンキー列と1以上の関係値列とを持つ表における少なくとも2つのフォーリンキー列の指定と、関係値列の指定と、当該関係値列に対応付けられる統計モデルの種別の指定とを受け付ける指定受付処理、
     指定された各フォーリンキー列の参照先となる個々の表を特定し、特定した個々の表のプライマリキー列のキー値の組み合わせ毎に、前記関係値列の関係値の集計値を取得するデータ取得処理、
     前記個々の表のプライマリキー列のキー値の組み合わせ毎に取得された集計値と、指定された種別の統計モデルとに基づいて、前記個々の表のプライマリキー列のキー値をそれぞれグループ分けするグルーピング処理、および、
     前記個々の表毎に、当該表のプライマリキー列のキー値が属するグループの識別情報を属性値とする属性値列を追加する属性値列追加処理
     を実行させるための表操作プログラム。
PCT/JP2016/001011 2015-03-30 2016-02-25 表操作システム、方法およびプログラム WO2016157707A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/562,542 US10698874B2 (en) 2015-03-30 2016-02-25 System, method, and program for business intelligence using table operations in a relational database
JP2017509208A JPWO2016157707A1 (ja) 2015-03-30 2016-02-25 表操作システム、方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015069370 2015-03-30
JP2015-069370 2015-03-30

Publications (1)

Publication Number Publication Date
WO2016157707A1 true WO2016157707A1 (ja) 2016-10-06

Family

ID=57006912

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/001011 WO2016157707A1 (ja) 2015-03-30 2016-02-25 表操作システム、方法およびプログラム

Country Status (3)

Country Link
US (1) US10698874B2 (ja)
JP (1) JPWO2016157707A1 (ja)
WO (1) WO2016157707A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11481364B2 (en) * 2019-12-16 2022-10-25 Alibaba Group Holding Limited Row-column formatting for relational databases

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216307A (ja) * 2000-01-31 2001-08-10 Teijin Ltd リレーショナルデータベース管理システム及びそれを記憶した記憶媒体
US20030018620A1 (en) * 2001-06-26 2003-01-23 International Business Machines Corporation Storing data mining clustering results in a relational database for querying and reporting
JP2015026188A (ja) * 2013-07-25 2015-02-05 株式会社日立製作所 データベース分析装置及び方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4154264B2 (ja) 2003-03-24 2008-09-24 株式会社日立情報システムズ 多次元分析システム
US7103588B2 (en) * 2003-05-05 2006-09-05 International Business Machines Corporation Range-clustered tables in a database management system
US7596584B2 (en) * 2007-04-25 2009-09-29 Microsoft Corporation Predicate based group management
US20120109875A1 (en) * 2010-10-31 2012-05-03 Microsoft Corporation Organization of data mart using clustered key
US20120254173A1 (en) * 2011-03-31 2012-10-04 Goetz Graefe Grouping data
US9235633B2 (en) * 2011-12-06 2016-01-12 International Business Machines Corporation Processing data in a data warehouse
US9449068B2 (en) * 2012-06-13 2016-09-20 Oracle International Corporation Information retrieval and navigation using a semantic layer and dynamic objects
JP6409572B2 (ja) * 2012-08-03 2018-10-24 日本電気株式会社 生産物管理方法、生産物管理装置、生産物管理システム、及びプログラム
US8856126B2 (en) * 2012-10-10 2014-10-07 Oracle Financial Services Software Limited Simplifying grouping of data items stored in a database
WO2016136147A1 (ja) * 2015-02-25 2016-09-01 日本電気株式会社 グルーピングシステムおよび推薦商品決定システム
US20180225581A1 (en) * 2016-03-16 2018-08-09 Nec Corporation Prediction system, method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216307A (ja) * 2000-01-31 2001-08-10 Teijin Ltd リレーショナルデータベース管理システム及びそれを記憶した記憶媒体
US20030018620A1 (en) * 2001-06-26 2003-01-23 International Business Machines Corporation Storing data mining clustering results in a relational database for querying and reporting
JP2015026188A (ja) * 2013-07-25 2015-02-05 株式会社日立製作所 データベース分析装置及び方法

Also Published As

Publication number Publication date
JPWO2016157707A1 (ja) 2018-02-01
US10698874B2 (en) 2020-06-30
US20180107699A1 (en) 2018-04-19

Similar Documents

Publication Publication Date Title
JP6843882B2 (ja) 履歴ログからの学習と、etlツール内のデータアセットに関するデータベースオペレーションの推奨
US11734233B2 (en) Method for classifying an unmanaged dataset
US10628775B2 (en) Sankey diagram graphical user interface customization
US20170039577A1 (en) Generating metadata and visuals related to mined data habits
KR102213627B1 (ko) 분석 소프트웨어 관리 시스템 및 분석 소프트웨어 관리 방법
JP6810745B2 (ja) ターゲットクラスタリング手法を利用して、属性タイプが混合した顧客をセグメント化するためのシステムおよび方法
JPWO2015049797A1 (ja) データ管理方法、データ管理装置及び記憶媒体
JP6696568B2 (ja) アイテム推奨方法、アイテム推奨プログラムおよびアイテム推奨装置
JP6242540B1 (ja) データ変換システム及びデータ変換方法
US20190042639A1 (en) Technology for generating a model in response to user selection of data
US11308102B2 (en) Data catalog automatic generation system and data catalog automatic generation method
WO2018185899A1 (ja) ライブラリ検索装置、ライブラリ検索システム、及びライブラリ検索方法
US7992126B2 (en) Apparatus and method for quantitatively measuring the balance within a balanced scorecard
WO2016157707A1 (ja) 表操作システム、方法およびプログラム
JP5771476B2 (ja) データ管理システム及びデータ管理方法
WO2009006028A2 (en) Explaining changes in measures thru data mining
Girsang et al. Decision support system using data warehouse for hotel reservation system
US8856126B2 (en) Simplifying grouping of data items stored in a database
JP5061996B2 (ja) データベースの検索プログラム、検索装置及び検索方法
JP2018124930A (ja) 業者検索システム、業者検索方法及び業者検索プログラム
JP5444282B2 (ja) データ整形システム、方法、及びプログラム
Ying et al. Research on E-commerce Data Mining and Managing Model in The Process of Farmers' Welfare Growth
Ragulan et al. Designing a data warehouse system for sales and distribution company
JP2012118612A (ja) マーケティング提案支援システム
Trabelsi et al. Employing Data and Process Mining Techniques for Redundancy Detection and Analystics in Business Processes.

Legal Events

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

Ref document number: 16771601

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017509208

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15562542

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16771601

Country of ref document: EP

Kind code of ref document: A1