JP4463431B2 - データベースから情報を抽出するための方法 - Google Patents
データベースから情報を抽出するための方法 Download PDFInfo
- Publication number
- JP4463431B2 JP4463431B2 JP2000605924A JP2000605924A JP4463431B2 JP 4463431 B2 JP4463431 B2 JP 4463431B2 JP 2000605924 A JP2000605924 A JP 2000605924A JP 2000605924 A JP2000605924 A JP 2000605924A JP 4463431 B2 JP4463431 B2 JP 4463431B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- variable
- variables
- value
- data record
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
技術分野
本発明は、データベースから情報を抽出するための方法に関する。データベースは、複数の変数の値を含む複数のデータテーブルから構成され、各データテーブルは、少なくとも前記変数値の2つを含む少なくとも一つのデータレコードから成る。情報が、一つあるいは複数の選択された計算変数に関して演算する少なくとも一つの数学的関数を評価することで抽出される。さらに、抽出された情報が一つあるいは複数の選択された分類変数に基づいて分割される。
【0002】
従来の技術
しばしば、コンピュータの二次メモリ上に格納されているデータベースから特定の情報を抽出することが必要となる。より具体的には、データベース内の多量のデータを要約し、要約されたデータを明快なやり方でユーザに提出することが必要とされる。例えば、ユーザは、大きな会社に対する取引データを含むデータベースから、年および顧客別の総売上を抽出することを必要とすることがある。この抽出には、数学的関数、例えば、計算変数(x,y)、例えば販売された項目の数("Number")と項目当たりの価格("Price")の組合せに関して演算する数学的関数、例えば合計("SUM(x×y)")を評価することが必要となる。この抽出には、さらに、情報を、分類変数、例えば"年(Year)"および"顧客(Client)"に従って分割することが必要となる。こうして、これら分類変数は、数学演算の結果がどのように提出されるべきかを定義する。この特定のケースにおいては、年および顧客別に総売上を抽出するためには、"年および顧客別に合計(数x価格)を評価すること、つまり、SUM(Number*Price) per Year,Clientを評価することが必要となる。
【0003】
一つの従来の技術による解決策においては、コンピュータプログラムがデータベースを処理し、次元とも呼ばれる全ての考え得る分類変数に基づいて分割された、全ての考え得る計算変数に関して演算する、全ての考え得る数学的関数を評価するように設計される。この演算の結果として通常多次元立方体として知られる大きなデータ構造が得られる。この多次元立方体は、非常に時間の掛かる演算を通じて得られ、典型的には演算が夜通し遂行される。この多次元立方体は、分類変数の発生する値の個々の全ての一意な組合せに対する数学的関数の評価結果を含む。ユーザは、次に、この多次元立方体に関して動作する別個のコンピュータプログラムを用いて、データベースのデータを、例えばピボットテーブル内の選択されたデータを視覚化することによって、あるいは、2次元もしくは3次元チャートにて探索する。ユーザが、ある数学的関数と一つあるいは複数の分類変数を定義すると、他の全ての分類変数は多次元立方体内にこの数学的関数に対して格納されている結果を合計することで削除される。この合計は、他の全ての分類変数に対して行なわれる。こうして、ユーザは、分類変数を追加あるいは除去することで、多次元立方体の次元内を上下に移動する。
【0004】
上述のアプローチは、幾つかの望ましくない制約を持つ。この多次元立方体が評価の後平均量、例えば、複数の分類変数に基づいて分割された平均売上高を含む場合は、平均量の合計は正しい総平均を与えないために、一つあるいは複数のこれら分類変数を削除することができなくなる。このような場合、この多次元立方体は分類変数の各考え得る組合せに基づいて分割された平均量を含むことを要求され、多次元立方体を構築する動作は一層複雑なものとなる。同一の問題が他の量、例えば、中央値についても発生する。
【0005】
しばしば、全ての関与する数学的関数、計算変数および分類変数を予測することは、データベース内のデータを実際に探索するまでは困難である。このため、傾向およびパターンを識別した結果、ユーザは、そのデータ内の底辺に横たわる詳細に到達するためには、関数あるいは変数を追加する必要があることに気付くこともある。このような場合、新たな多次元立方体を構築するための時間の掛かる手続きを再び遂行することが必要となる。
【0006】
発明の概要
従って、本発明の一つの目的は上述の短所を緩和すること、より具体的には、ユーザが数学的関数を自由に選択すること、数学的変数をこれら数学的関数内に自由に組み込むこと、および結果の提出のために分類変数を自由に選択することを可能とするデータベースからの情報を抽出するための方法を提供することにある。
【0007】
この目的が独立請求項1に記載される特徴を有する方法によって達成され、幾つかの好ましい実施例が従属項に列挙される。
【0008】
本発明によると、データベース内のデータから最終データ構造、つまり、多次元立方体を処理時間およびメモリ要件の両方の点で効率的なやり方にて生成するための方法が提供される。この多次元立方体は、従来の技術による解決策よりかなり速く生成できるために、多次元立方体をアドホックに生成することが可能となる。ユーザは、多次元立方体を極く少数の数学的関数および変数に制限されることなく対話的に定義および生成することができる。数学的関数は、通常は、数式の組合せから構成される。ユーザが数学的関数を変更すること、例えば、数式を変更、追加もしくは削除することを望む場合、通常はユーザの仕事の妨げとならないほど十分に短時間に新たな多次元立方体を生成することができる。同様に、ユーザが変数を追加あるいは除去することを希望する場合も、多次元立方体を迅速に再構成することができる。
【0009】
これを達成するためには、全ての考慮中のデータテーブルが境界テーブルにクレバーグルーピング(clever grouping)され、これらテーブルが各テーブル内に含まれる変数のタイプに基づいて互いに接続される。これらテーブルの一つが開始点として選択され、適当な変換構造が構築され、この変換構造を用いて最終データ構造が開始テーブルから効率的に生成される。
【0010】
好ましくは、最初に、データベースのデータレコードがデータをオフラインにて処理できるようにコンピュータの一次メモリ内に読み込まれる。これによって、データベースを探索するため、および最終データ構造を生成するために必要とされる時間はさらに短縮化される。データベースは二次メモリ上に格納することも、あるいは遠隔地に格納し、これにコンピュータをモデムにて接続することもできる。こうして一次メモリ内に読み込まれるデータベースは、より大きなデータベースの選択された部分であっても、2つあるいはそれ以上のデータベースの組合せであっても構わない。
【0011】
一つの好ましい実施例においては、各データ変数の各異なる値に2進コードが割当てられ、データレコードは2進コード化された形式にて格納される。2進コード化することで、データテーブル内の探索を高速化することが可能となることに加えて、冗長情報を除去し、結果としてデータの量を削減することが可能となる。
【0012】
もう一つの好ましい実施例においては、頻度データを必要とする計算変数、つまり、数学的関数を正しく評価するためには各値の複製回数が必要とされる計算変数を含む全ての境界および接続テーブルによってサブセットが定義される。このサブセットから開始テーブルを選択し、変換構造内に頻度データを含めることで、最終データ構造を構築する際に複製を、メモリ効率良く格納することが可能となる。
【0013】
変換構造内には、頻度データが各値を複製させることで含められる。つまり、変換構造は、開始テーブル内の接続変数の各値から境界テーブル内の少なくとも一つの対応する選択された変数の各値の正しい番号へのリンクを含む。代替として、変換構造内に、開始テーブル内の各接続変数の各一意な値に対するカウンタを含めることもできる。
【0014】
好ましくは、境界あるいは接続テーブルの内の最も多数のデータレコードを持つ一つが開始テーブルとして選択される。このやり方によると、傾向として、変換構造内に組み込まれるべき頻度データの量が少なくなり、従って、変換構造をより迅速に構築することが可能となる。
【0015】
もう一つの好ましい実施例においては、開始テーブルのデータレコードを読み出し、変換構造を用いてこのデータレコード内の各接続変数の各値を少なくとも一つの対応する選択された変数の値に変換することで仮想データレコードが生成される。こうして、この仮想データレコードは、選択された複数の変数の複数の値の現在の組合せを含む。この実施例では、最終データ構造を漸進的に構築することができる。つまり、このためには、開始テーブルからデータレコードが順次的に読み出され、仮想データレコードの内容が各読み出されたデータレコードの内容に基づいて更新され、数学的関数が各更新された仮想データレコードの内容に基づいて評価される。この手続きは、データベースから所望の情報を抽出するために要求されるコンピュータメモリの量を最小化する。さらに、任意の計算変数の未定義の値、いわゆる無効(NULL)値を含む仮想データレコードは、しばしば、とりわけ全ての計算変数が無効(NULL)値を示す場合は、直ちに削除することができる。これは、多くのケースにおいて、このような無効値は数学的関数の評価には用いられないためである。これは性能をさらに最適化することに寄与する。
【0016】
もう一つの実施例においては、中間データ構造が仮想データレコードの内容に基づいて構築される。中間データ構造の各データレコードは、各選択された分類変数に対するフィールドおよび数学的関数内に含まれる各数式に対する総合フィールドを含む。仮想データレコードが更新される度に、各数式が評価され、結果が各選択された分類変数の現在の値に基づいて該当する総合フィールド内に集められる。この中間データ構造を用いると、頻度データに対する異なる必要性を持つ複数の数式を、一つの数学的関数に結合することが可能となる。対応する頻度データを組み込む複数の変換構造が構築され、開始テーブルのデータレコードが、各これら数式に関して、対応する変換構造に基づいて評価され、評価結果が一つの中間データ構造に併合される。同様にして、数学的関数を修正したい場合、例えば、既に選択されている計算変数に関して演算する新たな数式を追加したい場合は、現存の中間データ構造に一つの総合フィールドを追加すること、あるいは現存の総合フィールドを拡張することのみが必要とされる。
【0017】
仮想データレコード一般は、事実、仮想であるとに、つまり、仮想データレコードには、開始テーブルのデータレコードから最終データ構造への遷移の際に、物理的に、いかなるメモリも割当てられないことに注意する。ただし、この仮想データレコードは、少なくともインプリシットに、開始テーブルのデータレコードの内容を選択された変数の現在の値に変換する手続きにおいて、常に、識別することができる。
【0018】
発明の実施の形態
以下に本発明を単に一例として付録Aのテーブルおよび図面の図1〜2との関連で説明する。
【0019】
図1に示すように、データベースは複数のデータテーブル(テーブル1〜5)から構成される。各データテーブルは複数のデータ変数のデータ値を含む。例えば、テーブル1においては、各データレコードは、データ変数:"製品(Product)"、"価格(Price)"および"部品(Part)"のデータ値を含む。データレコードのあるフィールド内に特定な値が存在しない場合は、このフィールドは無効(NULL)値を保持するものとみなされる。同様に、テーブル2においては、各データレコードは変数:"日付(Date)"、"顧客(Client)"、"製品(Product)"、および"数(Number)"の値を含む。典型的には、日付の値はASCII-コード化された文字列の形式内に格納される。
【0020】
本発明による方法はコンピュータプログラムによって実現される。第一のステップ(ステップ101)において、プログラムは、データベース内の全てのデータレコードを読み出す。これは、例えば、データベースの全てのテーブル、つまり、説明の実施例においては、テーブル1〜5を選択するSELECT(選択)ステートメントを用いて行なわれる。典型的には、このデータベースは、コンピュータの一次メモリ内に読み込まれる。
【0021】
評価速度を向上させるために、好ましくは、前記データベース内の各データ変数の各一意な値に異なる2進コードが割当てられ、これらデータレコードは二進コード化された形式にて格納される(ステップ101)。これは、典型的には、プログラムが最初にデータベースからデータレコードを読み出すとき行なわれる。各入力テーブルに対して、以下のステップが遂行される。最初に、テーブルの列名、つまり、変数が順次的に読み出される。新たなデータ変数が現われる度に、それに対するデータ構造が例示(instantiated)される(データ変数に対応するデータ構造のインスタンスが作成される)。次に、全てのデータレコードを二進形式にて含む内部テーブル構造が例示され(内部テーブル構造のインスタンスが作成され)、その後、データレコードが順次的に読み出され、二進コード化される。各データ値について、対応するデータ変数のデータ構造が、その値に既に2進コードが割当てられていないか確定するためにチェックされる。割当てられている場合は、その2進コードが上述のテーブル構造内に適切な位置に挿入される。割当てられていない場合は、そのデータ値がそのデータ構造に追加され、新たな2進コード、好ましくは、昇順にて次のコードが割当てられ、割当てられたコードがそのテーブル構造内に挿入される。換言すれば、各データ変数について、一意な2進コードが各一意なデータ値に割当てられる。
【0022】
付録Aのテーブル6〜12は、図1のデータベース内に含まれる様々なデータ変数の異なるデータ値に割当てられた2進コードを示す。
【0023】
データベース内の全てのデータレコードを読み出した後に、プログラムはデータテーブル間の全ての接続を識別するためにデータベースを分析する(ステップ102)。2つのデータテーブル間の接続は、これらデータテーブルが一つの変数を共通に持つことを意味する。このような分析を遂行するための様々なアルゴリズムが当分野において周知である。分析の後、全てのデータテーブルが仮想的に接続される。図1においては、このような仮想接続が両端に矢印を持つ矢(a)によって示される。仮想的に接続されたデータテーブルは、少なくとも一つのいわゆるスノーフレーク構造(snowflake structure)、すな わち、ブランチングデータ構造(branching data structure)を形成すべきである。このスノーフレーク構造においては、データベース内の任意の2つのデータテーブル間にたった一つのみの接続経路が存在し、このため、スノーフレーク構造はどのようなループも含まない。万一、仮想接続されたデータテーブル間にループが発生した場合でも、つまり、2つのテーブルが複数の変数を共通に持つ場合でも、幾つかのケースにおいては、このようなループを解決するための当分野において周知の特別なアルゴリズムを用いてスノーフレーク構造を形成することができる。
【0024】
この初期分析の後、ユーザはデータベースの探索を開始する。探索を遂行するためには、ユーザは数学的関数を定義するが、これは数式の組合せであり得る(ステップ103)。ユーザは、図1のデータベースから、年ごとおよび顧客ごとの総売上を抽出することを望むものと想定する。ユーザは、対応する数学的関数"合計(x×y)"を定義し、この関数内に含まれるべき計算変数:"価格"と"数"を選択する。ユーザは、さらに、分類変数:"顧客"と"年"を選択する。
【0025】
コンピュータプログラムは、次に、スノーフレーク構造内の全ての対象となるデータテーブル、つまり、選択された計算変数および分類変数の任意の1つを含む全てのデータテーブル(これらデータテーブルは境界テーブルと呼ばれる)、並びに、これら境界テーブル間の接続経路内の全ての中間データテーブル(これらデータテーブルは接続テーブルと呼ばれる)を識別する(ステップ104)。明快さの目的で、これら対象となるデータテーブルのグループ(テーブル1〜3)が図1の第一の枠(A)内に含まれる。図からわかるように、この特定のケースにおいては接続テーブルは存在しない。
【0026】
説明のケースにおいては、数学的関数の評価のために、選択された計算変数の個々の値、つまり、頻度データの全ての発生を含めることが要求される。図1において、このような頻度データを必要とする選択された変数("価格"と"数")は太い矢印(b)によって示され、残りの選択された変数は点線(b’)によって示される。次に、スノーフレーク構造内のこれら計算変数を含む全ての境界テーブル(テーブル1〜2)およびこれら境界テーブル間の任意の接続テーブルを含むサブセット(B)が定義される。特定の変数の頻度要件は、その変数がその中に含まれる数式によって決定されることに注意する。つまり、平均あるいは中間値の決定には頻度情報が必要となる。一般に合計の決定にも頻度情報が必要とされるが、最大あるいは最小の決定には計算変数の頻度データは必要とされない。分類変数も一般に頻度データを必要としない。
【0027】
次に、好ましくは、サブセット(B)内のデータテーブル、より好ましくは、このサブセット内の最も多数のデータレコードを持つデータテーブルから開始テーブルが選択される(ステップ105)。図1においては、テーブル2が開始テーブルとして選択される。こうして、開始テーブルは、選択された変数("顧客"、"数")、および接続変数("日付"、"製品")を含む。これら接続変数は、開始テーブル(テーブル2)を境界テーブル(テーブル1および3)にリンクする。
【0028】
その後、テーブル13および14に示すような変換構造が構築される(ステップ106)。この変換構造は、開始テーブル(テーブル2)内の各接続変数("日付"、"製品")の各値を、境界テーブル(それぞれ、テーブル3および1)内の対応する選択された変数("年"、"価格")の値に翻訳するために用いられる。テーブル13は、テーブル3のデータレコードを順次的に読み出し、接続変数("日付")の各一意な値と選択された変数("年")の対応する値との間のリンクを作成することで構築される。値4("日付:1999-01-12")からのリンクは、この値が境界テーブル内には含まれていないために存在しないことに注意する。同様に、テーブル14は、テーブル1のデータレコードを順次的に読み出し、接続変数"製品"の各一意な値と選択された変数("価格")の対応する値との間のリンクを作成することで構築される。説明のケースにおいては、値2("製品:練り歯磨き")が、この接続が境界テーブル内で2度発生するために、選択された変数("価 格:6.5")の2つの値にリンクされ、こうして、この変換構造内には頻度データが含められることに注意する。さらに、値3("製品:シャンプー")からのリンクは存在しないことにも注意する。
【0029】
変換構造の構築を終えると、仮想データレコードが作成される。仮想データレコードはテーブル15に示すように、データベース内の全ての選択された変数("顧客"、"年"、"価格"、"数")を含む。仮想データレコードの構築(ステップ107〜108)においては、最初に開始テーブル(テーブル2)からデータレコードが読み出される。次に、開始テーブルの現在のデータレコード内の各選択された変数("顧客"、"数")の値が仮想データレコード内に組み込まれる。さらに、変換構造(テーブル13〜14)を用いることで、開始テーブルの現在のデータレコード内の各接続変数("日付"、"製品")の各値が対応する選択された変数("年"、"価格")の値に変換され、この値が仮想データレコード内にも組み込まれる。
【0030】
この段階で(ステップ109)、仮想データレコード(テーブル15)を用いて、中間データ構造(テーブル16)が構築される。中間データ構造の各データレコードは、各選択された分類変数(次元)および数学的関数によって含意される各数式に対する総合フィールドを含む。中間データ構造(テーブル16)は、仮想データレコード(テーブル15)内の選択された変数の値に基づいて構築される。こうして、各数式が仮想データレコード(テーブル15)内の一つあるいは複数の考慮中の計算変数に基づいて評価され、結果が、該当する総合フィールド内に、分類変数("顧客"、"年")の現在の値の組合せに基づいて合計される。
【0031】
上述の手続きが開始テーブルの全てのデータレコードに対して反復される(ステップ110)。こうして、開始テーブルのデータレコードを順次的に読み出し、選択された変数の現在の値を仮想データレコード内に組み込み、各数式を仮想データレコードの内容に基づいて評価することで中間データ構造が構築される。仮想データレコード内の分類変数の値の現在の組合せが新たなものである場合は、新たなデータレコードが中間データ構造内に評価の結果を保持するために作成される。新たなものでない場合は、該当するデータレコードが迅速に見つけられ、評価の結果が総合フィールド内で合計される。こうして、開始テーブルが横断(探索)される度に、データレコードが中間データ構造に追加される。好ましくは、中間データ構造は、効率的な索引系、例えば、AVLあるいはハッシュ構造と関連するデータテーブルから構成される。殆どのケースにおいては、総合フィールドは総合レジスタとして実現され、この中に評価された数式の結果が累積される。幾つかのケース、例えば、中間値を評価する場合は、総合フィールドは、代わりに、指定された分類変数の値の一意な組合せに対する全ての個々の結果を保持するように実現される。開始テーブルから中間データ構造を構築するための手続きにおいては、たった一つの仮想データレコードが必要とされるのみであることに注意する。こうして、仮想データレコードの内容が、開始テーブルの各データレコードに対して更新される。これによってコンピュータのプログラムを実行する際のメモリ要件が最小化される。
【0032】
以下では中間データ構造を構築する手続きについて、テーブル15〜16との関連でさらに詳しく説明する。テーブル15内に示す第一の仮想データレコードR1を作成するためには、選択された変数:" 顧客"および"数"の値が、開始テーブル(テーブル2)の第一のデータレコードから直接に取られる。次に、接続変数:"日付"の値"1999-01-02"が、変換構造(テーブル13)を用いて、選択された変数:"年"の値"1999"に変換される。同様にして、接続変数:"製品"の値"練り歯磨き"が、変換構造(テーブル14)を用いて、選択された変数:"価格"の値"6.5"に変換され、この結果として仮想データレコードR1が作成される。次に、中間データ構造内のデータレコードがテーブル16に示すように作成される。説明のケースにおいては、中間データ構造は、3つの列を持ち、2つの列は、選択された分類変数("顧客"、"年")を保持し、第三の列は、合計欄を保持する。総合フィールド内には、選択された計算変数("数"、"価格")に関して動作(演算)する数式("x×y")の評価結果が合計される。仮想データレコードR1を評価するためには、最初に分類変数の現在の値(2進コード:0,0)が読み出され、中間データ構造の対応するデータレコード内に組み込まれる。次に、計算変数の現在の値(2進コード:2,0)が読み出され、これら値に対して数式が評価され、結果が関連する総合フィールドに加えられる。
【0033】
次に、開始テーブルに基づいて仮想データレコードが更新される。変換構造(テーブル14)が、選択された変数"価格"の値"6.5"が、接続変数"製品"の値"練り歯磨き"について重複することを示すために、更新された仮想データレコードR2は変更されず、R1と同一とされる。次に、仮想データレコードR2が上述と同様にして評価される。説明のケースにおいては、中間データ構造は、分類変数の現在の値(2進コード:0,0)に対応するデータレコードを含む。こうして、数式を評価した結果が関連する総合フィールド内に累積される。
【0034】
次に、開始テーブルの第二のデータレコードに基づいて仮想データレコードが更新される。更新された仮想データレコードR3を評価するために、中間データ構造内に新たなデータレコードが作成され、同様な動作が繰り返される。
【0035】
説明の例においては、無効(NULL)値は、−2なる2進コードにて表されることに注意する。さらに、説明の例において、計算変数の任意の1つに無効値(−2)を保持する全ての仮想データレコードは、無効値は数式("x×y")においては評価されることはないために、直接削除されることに注意する。さらに、分類変数の全ての無効値(−2)は全ての他の有効(valid)値と同様に扱われ、中間データ構造内に置かれることにも注意する。
【0036】
開始テーブルを横断した後で、中間データ構造は、4個のレコードを持ち、おのおのが、分類変数の値の一意な組合せ(0,0;1,0;2,0;3,-2)、および対応する評価された数式の累積結果(41;37.5;60;75)を含む。
【0037】
好ましくは、中間データ構造は一つあるいはそれ以上の分類変数(次元)を削除するためにも処理される。好ましくは、これは上述の中間データ構造を構築する過程の際に行なわれる。仮想データレコードが評価される度に、中間データ構造内に追加のデータレコードが作成され、あるいはそれらが既に存在する場合は見つけられる。追加の各データレコードは、一つあるいは複数の分類変数の全ての値に対する数式の評価結果の合計を保持するよう予定される。こうして、中間データ構造は、開始テーブルの横断(探索)が完了した時点で、分類変数の値の全ての一意な組合せに対する合計結果、および関連する各分類変数が削除された後の合計結果の両方を含むこととなる。
【0038】
以下では、中間データ構造の次元を削除するためのこの手続きについて、テーブル15および16との関連でさらに詳しく説明する。仮想データレコードR1(テーブル15)が評価され、中間データ構造内に第一のデータレコード(0,0)が作成されると、中間データ構造内に追加のデータレコードが作成される。これら追加のデータレコードは、一つあるいは複数の次元が削除されたときの対応する結果を保持することを予定される。テーブル16において、中間データ構造内の分類変数に−1なる2進コードが割当てられている場合、これはその変数の全ての値が評価されることを示す。説明のケースにおいては、3つの追加のデータレコードが作成され、各データレコードは分類変数の値の新たな組合せ(-1,0;0,-1;-1,-1)を保持する。評価結果がこれら追加のデータレコードの関連する総合フィールド内に合計される。これら追加のデータレコードの第一のレコード(-1,0)は、分類変数"年"が値"1999"を持つときの、分類変数"顧客"の全ての値に対する合計結果を保持することを予定される。第二の追加のデータレコード(0,-1)は、分類変数"顧客"が"Nisse"であるときの、分類変数"年"の全ての値に対する合計結果を保持することを予定される。第三の追加のデータレコード(-1,-1)は、分類変数"顧客"および"年"の両方の全ての値に対する合計結果を保持するように予定される。
【0039】
仮想データレコードR2が評価されると、結果が、分類変数の値の現在の組合せ(2進コード:0,0)と関連する総合フィールド内、並びに考慮中の追加のデータレコード(2進コード:-1,0;0,-1;-1,-1)と関連する総合フィールド内に合計される。仮想データレコードR3が評価されると、結果が、分類変数の値の現在の組合せ(2進コード:1,0)と関連する総合フィールド内に合計される。この結果は、さらに、中間データ構造内に新に作成された追加のデータレコード(2進コード:1,-1)の総合フィールドおよび考慮中の現存のデータレコード(2進コード:-1,0;-1,-1)と関連する総合フィールド内にも合計される。
【0040】
開始テーブルが横断(探索)を終えた時点で、中間データ構造はテーブル16に示すような11個のデータレコードを含む。
【0041】
好ましくは、中間データ構造が2つより多くの分類変数を含む場合は、中間データ構造は、各削除された分類変数に対して、この分類変数の全ての値について合計された評価結果を、残りの分類変数の値の各一意な組合せに対して含む。
【0042】
中間データ構造の構築を終えると、最終データ構造、つまり、テーブル17に非2進表記にて示すような多次元立方体が、数学的関数("合計(x×y))を中間データ構造内に含まれる数式("x×y)"の結果に基づいて評価することで作成される(ステップ111)。これを行なうためには、分類変数の値の各一意な組合せに対する総合フィールド内の結果が結合される。説明のケースにおいては、最終データ構造の作成は、この数学的関数が本質的に単純であるために非常に率直なものとなる。最終データ構造の内容は、その後、ユーザに、テーブル18に示されるような2次元テーブルにて提出することも(ステップ112)、代替として、最終データ構造が多くの次元を含む場合は、データをピボットテーブルにて提出し、当分野において周知のように、ユーザがこれら次元内に対話的に上下に移動できるようにすることもできる。
【0043】
以下では、本発明の第二の実施例についてテーブル20〜29との関連で説明する。説明はこの実施例の幾つかの特徴についてのみ、つまり、接続テーブルからのデータを含む変換構造の構築、およびより複雑な数学的関数に対する中間データ構造の構築についてのみ行なわれる。この実施例においては、ユーザは、テーブル20〜23に示すようなデータテーブルを含むデータベースから顧客ごとの売上データを抽出することを希望するものと想定する。理解を容易にするために、この実施例においては2進コード化については省略されている。
【0044】
ユーザは、結果がそれに対して顧客ごとに分割されるべき以下の数学的関数を指定するものと想定する:
a)"IF(Only (環境インデックス)='I') THEN
合計(数×価格)×2, ELSE 合計(数×価格))"、and
b)"平均((数×価格)"
数学的関数(a)は、売上高が'I'なる環境インデックスを持つ製品群に属する製品に対しては2倍されるべきであり、他の製品に対しては実際の売上高が用いられるべきことを指定する。数学的関数(b)は参照の目的で含めるられている。
【0045】
この実施例においては、分類変数として"環境インデックス(Environment index)"と"顧客"選択され、計算変数として"数"と"価格"選択される。テーブル20、22および23は境界テーブルとして識別され、テーブル21は接続テーブルとして識別される。テーブル20が開始テーブルとして選択される。こうして、開始テーブルは、選択された変数("数"、"顧客")、および接続変数("製品")を含む。接続変数は、開始テーブル(テーブル20)を、接続テーブル(テーブル21)を介して境界テーブル(テーブル22〜23)にリンクする。
【0046】
次に、変換構造の作成についてテーブル24〜26との関連で説明する。変換構造の第一の部分(テーブル24)は、第一の境界テーブル(テーブル23)のデータレコードを順次的に読み出し、接続変数("製品群")の各一意な値と選択された変数("環境インデックス")の対応する値との間にリンクを作成することで構築される。同様にして、変換構造の第二の部分(テーブル25)が第二の境界テーブル(22)のデータレコードを順次的に読み出し、接続変数("価格群")の各一意な値と選択された変数("価格")の対応する値との間にリンクを作成することで構築される。次に、接続テーブル(テーブル21)のデータレコードが順次的に読み出される。テーブル24と25内の接続変数(それぞれ、"製品群"と"価格群")の各値がテーブル21内の接続変数("製品")の対応する値に代わりとして用いられ、結果が、テーブル26に示すような一つの最終変換構造に併合される。
【0047】
次に、中間データ構造が構築される。これは、開始テーブル(テーブル20)のデータレコードを順次的に読み出し、変換構造(テーブル26)を用いて、選択された変数("環境インデックス"、"顧客"、"数"、"価格")の現在の値を仮想データレコード内に組み込み、各数式を仮想データレコードの現在の内容に基づいて評価することで行なわれる。
【0048】
簡潔さの目的で、テーブル27は、開始テーブルの各データレコードに対する仮想データレコードの対応する内容を表示する。第一の実施例との関連でも説明したように、たった1つの仮想データレコードのみが必要とされる。この仮想データレコードの内容が、開始テーブルの各データレコードに対して、更新、つまり、置換される。
【0049】
中間データ構造の各データレコードは、テーブル28に示すように、各選択された分類変数("顧客"、"環境インデックス")の値、および数学的関数によって含意される各数式に対する総合フィールドを含む。このケースにおいては、中間データ構造は2つの総合フィールドを含む。一方の総合フィールドは、選択された計算変数("数"、"価格")に関して演算する数式("x×y")の合計結果、並びにこれら動作の回数のカウンタを含む。この総合フィールドのレイアウトは、平均量("平均(x×y))が計算されるべきである事実のために与えられる。他方の総合フィールドは分類変数の値の各組合せに対して、分類変数"環境インデックス"の最低値と最高値を保持するように設計される。
【0050】
第一の実施例の場合と同様に、中間データ構造(テーブル28)は、数式を仮想データレコード(テーブル27内の各行)の現在の内容に対して評価し、結果を分類変数("顧 客"、"環境インデックス")の現在の値の組合せに基づいて該当する総合フィールド内に合計することで構築される。中間データ構造は、さらに、値"<ALL>"が分類変数の一方あるいは両方に割当てられているデータレコードを含み、対応する総合フィールドは、この一つあるいは複数の変数(次元)が削除されたときの合計結果を含む。
【0051】
中間データ構造の構築を終えると、最終データ構造、つまり、多次元立方体が、数学的関数を中間データ構造内に含まれる数式の評価結果に基づいて評価することで作成される。最終データ構造の各データレコードは、テーブル29に示すように、各選択された分類変数("顧客"、"環境インデックス")の値、およびユーザによって選択された各数学的関数に対する総合フィールドを含む。
【0052】
最終データ構造は、分類変数の値の各一意な組合せに対する中間データ構造の総合フィールド内の結果に基づいて構築される。関数(a)を、テーブル28のデータレコードを順次的に読み出すことで評価されるときは、プログラムは、最初に、テーブル28の最後の列内の両方の値が'I'に等しいかチェックする。そうである場合は、テーブル28の第一の総合フィールド内に含まれる関連結果に2が乗じられ、テーブル29内に格納される。そうでない場合は、テーブル28の第一の総合フィールド内に含まれる関連結果が直接にテーブル29内に格納される。関数(b)を評価するときは、選択された計算変数("数"、"価格")に関して動作する数式("x×y")の合計結果が、動作の回数によって割られ(合計結果と動作の回数は両方ともテーブル28の第一の総合フィールド内に格納されている)、結果がテーブル29の第二の総合フィールド内に格納される。
【0053】
上の説明から明らかなように、本発明によると、ユーザは数学的関数を自由に選択し、これら数学的関数内に計算変数を組み入れることができるとともに、分類変数を自由に選択し、その結果を得ることができる。
【0054】
上述の開始テーブルからデータレコードを順次的に読み出すことに基づいて中間データ構造を構築する手続きに対する代替として、メモリ効率は落ちるが、最初に、いわゆる結合テーブル(join table)を作成することもできる。結合テーブルを構築するためには、開始テーブルの全てのデータレコードを横断(探索)され、変換構造を用いて、開始テーブル内の各接続変数が、境界テーブル内の少なくとも一つの対応する選択された変数の値に変換される。こうして、結合テーブルのデータレコードは、選択された変数の値の全ての発生する組合せを含むこととなる。次に、結合テーブルの内容に基づいて中間データ構造が構築される。このためには、結合テーブルの各レコードに対して、各数式が評価され、結果が、各選択された分類変数の現在の値に基づいて、該当する総合フィールド内に合計される。ただし、この代替の手続きは、所望の情報を抽出するためにより多くのコンピュータメモリを必要とする。
【0055】
数学的関数が、頻度データに対する異なる矛盾する要求を持つ数式を含むこともあり得る。この場合は、ステップ104〜110(図2)がこれら各数式に対して反復され、結果が一つの共通の中間データ構造内に格納される。代替として、一つの最終データ構造、つまり、多次元立方体を各数式に対して構築し、これら多次元立方体の内容をユーザへの提出の際に融合することもできる。
【表1】
【表2】
【表3】
【表4】
【図面の簡単な説明】
【図1】 本発明の方法に従って考慮中のデータテーブルの識別の後のデータテーブルの内容を示す。
【図2】 本発明の方法の一つの実施例のステップのシーケンスを示す。
Claims (15)
- データベースが複数の変数の値を含む複数のデータテーブルから構成され、各データテーブルが前記複数の変数の値の少なくとも2つを含む少なくとも一つのデータレコードから成り、前記情報が一つあるいは複数の選択された計算変数に関して演算する少なくとも一つの数学的関数を評価することで抽出され、前記抽出された情報が一つあるいは複数の選択された分類変数に基づいて分割される、データベースから情報を抽出するための方法において:
前記選択された変数の一つの少なくとも一つの値を含む全てのデータテーブルであって、これらデータテーブルが境界テーブルであるデータテーブルを識別するステップと、
直接的あるいは間接的に前記境界テーブルと共通の変数を持ち、これらを接続する全てのデータテーブルであって、これらのデータテーブルが接続テーブルであるデータテーブルを識別するステップと、
前記境界テーブルおよび接続テーブルの間から開始テーブルを選択するステップと、
前記境界テーブル内の各選択された変数の値を前記開始テーブル内の一つあるいは複数の接続変数の対応する値にリンクする変換構造を構築するステップと、 前記変換構造を用いて各接続テーブルの各値を少なくとも一つの対応する選択された変数の少なくとも一つの値に変換することによって、前記開始テーブルの各データレコードに対して前記数学的関数を評価するステップとを含み、
この評価によって、各分類変数の個々の全ての一意な値に対する前記数学的関数の結果を含む最終データ構造が得られることを特徴とするデータベースから情報を抽出するための方法。 - さらに、結果としてのデータ構造の関連部分を人が読むことが可能な形式でユーザに提出するステップを含むことを特徴とする請求項1記載の方法。
- さらに、最初に前記データベースの前記データレコードをコンピュータの一次メモリ内に読み出すステップを含むことを特徴とする請求項1または2記載の方法。
- さらに、最初に前記データベース内の各データ変数の各一意な値に異なる2進コードを割当るステップと、前記データレコードを2進コード化された形式にて格納するステップを含むことを特徴とする請求項1乃至3のいずれかに記載の方法。
- さらに、最初に前記データベース内の、変数を共通に持つ全てのデータテーブルを識別するステップと、データテーブルの間に仮想接続を割当るステップと、これによりスノーフレーク構造を持つデータベースを作成するステップと、を備え、前記接続テーブルが前記スノーフレーク構造内において前記複数の境界テーブルの間に位置するように構成されていることを特徴とする請求項1乃至4のいずれかに記載の方法。
- さらに、前記数学的関数の正確な評価にはそれらの各値の発生の回数が必要とされる全ての計算変数を識別するステップと、このような変数を含む境界テーブルとこのような境界テーブルを接続するデータテーブルから成るデータテーブルのサブセットを定義するステップと、前記サブセットから前記開始テーブルを選択するステップと、各値の前記発生の回数に関するデータを前記変換構造内に含めるステップと、を備えたことを特徴とする請求項1乃至5のいずれかに記載の方法。
- 前記開始テーブルが前記境界テーブルおよび接続テーブルの内の最も多数のデータレコードを持つデータテーブルから選択されることを特徴とする請求項1乃至6のいずれかに記載の方法。
- さらに、複数のデータレコードを含み、各データレコードが各選択された分類変数に対するフィールドおよび前記数学的関数に対する総合フィールドを含む前記最終データ構造を構築するステップを含み、この最終データ構築ステップが、前記開始テーブルのデータレコードを順次的に読み出すステップと、前記変換構造を用いて、前記データレコード内の各接続変数の各値を少なくとも一つの対応する選択された変数の値に変換することで前記選択された変数の複数の値の現在の値の組合せを作成するステップと、前記数学的関数を前記値の現在の組合せに対して評価するステップと、前記評価の結果を各選択された分類変数の現在の値に基づいて該当する総合フィールド内に集めるステップとを含むことを特徴とする請求項1乃至7のいずれかに記載の方法。
- さらに、前記選択された変数の値の組合せを含む仮想データレコードを作成するステップを含み、この作成ステップが前記開始テーブルのデータレコードを読み出すステップと、前記変換構造を用いて前記データレコード内の各接続変数の各値を少なくとも一つの対応する選択された変数の値に変換するステップとを含むことを特徴とする請求項1乃至7のいずれかに記載の方法。
- さらに、複数のデータレコードを含み、各データレコードが各選択された分類変数に対するフィールドおよび前記数学的関数に対する総合フィールドを含む前記最終データ構造を構築するステップを含み、この構築ステップが、前記開始テーブルのデータレコードを順次的に読み出すステップと、前記仮想データレコードの内容をこうして読み出される各データレコードの内容に基づいて更新するステップと、前記数学的関数を前記更新された仮想データレコードに基づいて評価するステップと、および前記評価の結果を前記更新された仮想データレコード内の各選択された分類変数の現在の値に基づいて該当する総合フィールド内に集めるステップと、を含むことを特徴とする請求項9記載の方法。
- さらに、複数のデータレコードを含み、各データレコードが各選択された分類変数に対するフィールドおよび前記数学的関数によって含意される各数式に対する総合フィールドを含む中間データ構造を構築するステップを含み、この構築ステップが、前記開始テーブルのデータレコードを順次的に読み出すステップと、前記仮想データレコードの内容をこうして読み出される各データレコードの内容に基づいて更新するステップと、各数式を前記更新された仮想データレコードに基づいて評価するステップと、前記評価の結果を前記更新された仮想データレコード内の各選択された分類変数の現在の値に基づいて該当する総合フィールド内に集めるステップとを含むことを特徴とする請求項9記載の方法。
- 前記中間データ構造を構築するステップが:
前記中間データ構造内の前記分類変数の一つを削除するステップを含み、この削除ステップが、前記結果を前記一つの分類変数の全ての値を通じて残りの分類変数の複数の値の各一意な組合せに対して集めるステップと、追加のデータレコードを作成するステップと、前記合計結果を前記中間データ構造の前記追加のデータレコード内に組み込むステップと、を含むことを特徴とする請求項11記載の方法。 - さらに、前記数学的関数を前記分類変数の値の各一意な組合せに対して前記総合フィールド内の結果に基づいて評価することで、前記最終データ構造を構築するステップを含むことを特徴とする請求項11乃至12記載の方法。
- 前記変換構造を構築するステップが、
a)境界テーブルのデータレコードを読み出し、前記境界テーブル内の少なくとも一つの接続変数の各一意な値とこの中の少なくとも一つの選択された変数の各対応する値との間のリンクを含む変換構造を作成するステップと、
b)前記境界テーブルから前記開始テーブルに向って移動するステップと、
c)接続テーブルが見つかった場合は、前記接続テーブルのデータレコードを読み出し、前記変換構造内の前記少なくとも一つの接続変数の各一意な値を前記接続テーブル内の少なくとも一つの接続変数の少なくとも一つの対応する一意な値の代わりに用いるステップと、
d)ステップ(b)〜(c)を前記開始テーブルが見つかるまで反復するステップと、を含むことを特徴とする請求項1乃至13のいずれかに記載の方法。 - 請求項1乃至14のいずれかに記載するデータベースから情報を抽出するための方法の前記複数のステップを実行するためのコンピュータプログラムを格納するコンピュータにて読み出し可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9900894-8 | 1999-03-12 | ||
SE9900894A SE516562C2 (sv) | 1999-03-12 | 1999-03-12 | Förfarande för extrahering av information från en databas |
PCT/SE2000/000482 WO2000055766A1 (en) | 1999-03-12 | 2000-03-10 | Method for extracting information from a database |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002539563A JP2002539563A (ja) | 2002-11-19 |
JP4463431B2 true JP4463431B2 (ja) | 2010-05-19 |
Family
ID=20414818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000605924A Expired - Lifetime JP4463431B2 (ja) | 1999-03-12 | 2000-03-10 | データベースから情報を抽出するための方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7058621B1 (ja) |
EP (3) | EP1177512A1 (ja) |
JP (1) | JP4463431B2 (ja) |
AU (1) | AU3851800A (ja) |
CA (1) | CA2367181C (ja) |
SE (1) | SE516562C2 (ja) |
WO (1) | WO2000055766A1 (ja) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE516562C2 (sv) | 1999-03-12 | 2002-01-29 | Qliktech Internat Ab | Förfarande för extrahering av information från en databas |
FR2876474B1 (fr) * | 2004-10-12 | 2006-12-29 | Progilys Sarl | Dispositif de traitement de donnees a definition formelle |
EP1934719A2 (en) * | 2005-09-20 | 2008-06-25 | Sterna Technologies (2005) Ltd. | A method and system for managing data and organizational constraints |
US7873598B2 (en) * | 2008-04-15 | 2011-01-18 | Microsoft Corporation | Slicing of relational databases |
EP2146292B8 (en) * | 2008-07-18 | 2019-03-20 | QlikTech International AB | Method and apparatus for extracting information from a database |
US8463739B2 (en) * | 2008-08-28 | 2013-06-11 | Red Hat, Inc. | Systems and methods for generating multi-population statistical measures using middleware |
US8595610B2 (en) * | 2011-01-25 | 2013-11-26 | Infineon Technologies Ag | Method, software and computer system for manipulating aggregated data |
US9244990B2 (en) * | 2011-10-07 | 2016-01-26 | Oracle International Corporation | Representation of data records in graphic tables |
US8745099B2 (en) * | 2011-11-11 | 2014-06-03 | Håkan Wolgé | Dimension limits in information mining and analysis |
US9390240B1 (en) * | 2012-06-11 | 2016-07-12 | Dell Software Inc. | System and method for querying data |
US9501744B1 (en) | 2012-06-11 | 2016-11-22 | Dell Software Inc. | System and method for classifying data |
US9779260B1 (en) | 2012-06-11 | 2017-10-03 | Dell Software Inc. | Aggregation and classification of secure data |
US9578060B1 (en) | 2012-06-11 | 2017-02-21 | Dell Software Inc. | System and method for data loss prevention across heterogeneous communications platforms |
US10324917B2 (en) * | 2012-10-15 | 2019-06-18 | Qliktech International Ab | Methods and systems for data management |
US10698918B2 (en) | 2013-11-20 | 2020-06-30 | Qliktech International Ab | Methods and systems for wavelet based representation |
US11144184B2 (en) | 2014-01-23 | 2021-10-12 | Mineset, Inc. | Selection thresholds in a visualization interface |
US9349016B1 (en) | 2014-06-06 | 2016-05-24 | Dell Software Inc. | System and method for user-context-based data loss prevention |
US10262021B2 (en) | 2014-06-09 | 2019-04-16 | Qliktech International Ab | Methods and systems for processing data using QR factorization |
US10326748B1 (en) | 2015-02-25 | 2019-06-18 | Quest Software Inc. | Systems and methods for event-based authentication |
US10417613B1 (en) | 2015-03-17 | 2019-09-17 | Quest Software Inc. | Systems and methods of patternizing logged user-initiated events for scheduling functions |
US9990506B1 (en) | 2015-03-30 | 2018-06-05 | Quest Software Inc. | Systems and methods of securing network-accessible peripheral devices |
US9569626B1 (en) | 2015-04-10 | 2017-02-14 | Dell Software Inc. | Systems and methods of reporting content-exposure events |
US9563782B1 (en) | 2015-04-10 | 2017-02-07 | Dell Software Inc. | Systems and methods of secure self-service access to content |
US9842218B1 (en) | 2015-04-10 | 2017-12-12 | Dell Software Inc. | Systems and methods of secure self-service access to content |
US9842220B1 (en) | 2015-04-10 | 2017-12-12 | Dell Software Inc. | Systems and methods of secure self-service access to content |
US9641555B1 (en) | 2015-04-10 | 2017-05-02 | Dell Software Inc. | Systems and methods of tracking content-exposure events |
US10536352B1 (en) | 2015-08-05 | 2020-01-14 | Quest Software Inc. | Systems and methods for tuning cross-platform data collection |
US10218588B1 (en) | 2015-10-05 | 2019-02-26 | Quest Software Inc. | Systems and methods for multi-stream performance patternization and optimization of virtual meetings |
US10157358B1 (en) | 2015-10-05 | 2018-12-18 | Quest Software Inc. | Systems and methods for multi-stream performance patternization and interval-based prediction |
US11681704B2 (en) | 2016-02-01 | 2023-06-20 | Qliktech International Ab | Methods and systems for distributed data analysis |
US10142391B1 (en) | 2016-03-25 | 2018-11-27 | Quest Software Inc. | Systems and methods of diagnosing down-layer performance problems via multi-stream performance patternization |
US10628401B2 (en) * | 2016-04-14 | 2020-04-21 | Qliktech International Ab | Methods and systems for bidirectional indexing |
EP3239862B1 (en) | 2016-04-29 | 2020-06-03 | QlikTech International AB | Selection query language methods and systems |
EP3869357A1 (en) | 2016-04-29 | 2021-08-25 | QlikTech International AB | System and method for interactive discovery of inter-data set relationships |
EP3364314B1 (en) | 2017-02-15 | 2022-10-19 | QlikTech International AB | Methods and systems for indexing using indexlets |
EP3483738A1 (en) | 2017-05-12 | 2019-05-15 | QlikTech International AB | Index machine |
EP3401808A1 (en) | 2017-05-12 | 2018-11-14 | QlikTech International AB | Interactive data exploration |
EP3979092A1 (en) | 2017-05-12 | 2022-04-06 | QlikTech International AB | Method for querying indexed, partitioned dimension tables |
EP3483739A1 (en) | 2017-05-12 | 2019-05-15 | QlikTech International AB | Cognitive rule engine |
EP3617898A1 (en) | 2018-08-30 | 2020-03-04 | QlikTech International AB | Scalable indexing architecture |
EP3678033A1 (en) | 2019-01-07 | 2020-07-08 | QlikTech International AB | A computer implemented method for indexlet based aggregation |
EP3678032A1 (en) | 2019-01-07 | 2020-07-08 | QlikTech International AB | Computer implemented methods and systems for improved data retrieval |
CN111400305B (zh) * | 2020-02-20 | 2022-03-08 | 深圳市魔数智擎人工智能有限公司 | 基于特征工程血缘关系的可回溯、可视化方法 |
US20240004509A1 (en) | 2022-07-03 | 2024-01-04 | Qliktech International Ab | Closed-loop generation of insights from source data |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517641A (en) * | 1992-05-27 | 1996-05-14 | Cdb Software, Inc. | Restartable method to reorganize DB2 tablespace records by determining new physical positions for the records prior to moving using a non sorting technic |
US5423035A (en) | 1992-12-23 | 1995-06-06 | Hughes Aircraft Company | Method for evaluating relational database queries with automatic indexing and ordering of join components |
US5842209A (en) | 1996-09-03 | 1998-11-24 | International Business Machines Corporation | User interface for visually depicting inner/outer/left/right joins in a database system |
US5960428A (en) * | 1997-08-28 | 1999-09-28 | International Business Machines Corporation | Star/join query optimization |
US6480836B1 (en) * | 1998-03-27 | 2002-11-12 | International Business Machines Corporation | System and method for determining and generating candidate views for a database |
US6434545B1 (en) * | 1998-12-16 | 2002-08-13 | Microsoft Corporation | Graphical query analyzer |
SE516562C2 (sv) | 1999-03-12 | 2002-01-29 | Qliktech Internat Ab | Förfarande för extrahering av information från en databas |
US6356900B1 (en) * | 1999-12-30 | 2002-03-12 | Decode Genetics Ehf | Online modifications of relations in multidimensional processing |
US6775681B1 (en) * | 2002-02-26 | 2004-08-10 | Oracle International Corporation | Evaluation of grouping sets by reduction to group-by clause, with or without a rollup operator, using temporary tables |
-
1999
- 1999-03-12 SE SE9900894A patent/SE516562C2/sv not_active IP Right Cessation
-
2000
- 2000-03-10 WO PCT/SE2000/000482 patent/WO2000055766A1/en active Application Filing
- 2000-03-10 EP EP00917562A patent/EP1177512A1/en not_active Ceased
- 2000-03-10 EP EP11189942A patent/EP2450810A3/en not_active Withdrawn
- 2000-03-10 CA CA2367181A patent/CA2367181C/en not_active Expired - Lifetime
- 2000-03-10 AU AU38518/00A patent/AU3851800A/en not_active Abandoned
- 2000-03-10 JP JP2000605924A patent/JP4463431B2/ja not_active Expired - Lifetime
- 2000-03-10 US US09/936,500 patent/US7058621B1/en not_active Expired - Lifetime
- 2000-03-10 EP EP11189938.1A patent/EP2450809B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7058621B1 (en) | 2006-06-06 |
CA2367181A1 (en) | 2000-09-21 |
EP2450809B1 (en) | 2019-11-27 |
JP2002539563A (ja) | 2002-11-19 |
EP1177512A1 (en) | 2002-02-06 |
EP2450809A2 (en) | 2012-05-09 |
EP2450810A2 (en) | 2012-05-09 |
EP2450809A3 (en) | 2013-01-02 |
AU3851800A (en) | 2000-10-04 |
SE9900894D0 (sv) | 1999-03-12 |
CA2367181C (en) | 2010-11-02 |
EP2450810A3 (en) | 2013-01-09 |
SE9900894L (sv) | 2000-09-13 |
SE516562C2 (sv) | 2002-01-29 |
WO2000055766A1 (en) | 2000-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4463431B2 (ja) | データベースから情報を抽出するための方法 | |
US6633883B2 (en) | Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods | |
US6711563B1 (en) | Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods | |
US6564212B2 (en) | Method of processing queries in a database system, and database system and software product for implementing such method | |
US6141655A (en) | Method and apparatus for optimizing and structuring data by designing a cube forest data structure for hierarchically split cube forest template | |
US6226634B1 (en) | Association rule generation and group-by processing system | |
KR100201299B1 (ko) | 데이터화일의 갱신처리 장치 | |
JPH08272825A (ja) | データ分析方法 | |
JP3452531B2 (ja) | データ・マイニングする方法およびシステム | |
JP2003141158A (ja) | 順序を考慮したパターンを用いた検索装置および方法 | |
JP2008269643A (ja) | データベース・システムでデータを編成し、問合せを処理する方法、およびそのような方法を実施するためのデータベース・システムおよびソフトウェア製品 | |
EP0398884A1 (en) | A relational database representation with relational database operation capability | |
KR101030250B1 (ko) | 데이터 처리방법 및 데이터 처리 프로그램 | |
CN107609110B (zh) | 基于分类树的最大多样频繁模式的挖掘方法及装置 | |
JP3552339B2 (ja) | データベースシステム | |
Christen et al. | Scalable parallel algorithms for surface fitting and data mining | |
Pravallika et al. | Analysis on Medical Data sets using Apriori Algorithm Based on Association Rules | |
JPH11232283A (ja) | 情報検索方法 | |
JP2996938B2 (ja) | 時系列データの格納方法及び記録媒体 | |
JP5512817B2 (ja) | 情報処理装置、情報処理方法、プログラム、および媒体 | |
Yen | Mining interesting sequential patterns for intelligent systems | |
Viswanadapalli et al. | Extrication of Apriori Algorithm using Association Rules on Medical Data sets | |
JPH0535483A (ja) | 類似性判定方法 | |
Venkatesan | Frequent Pattern Mining in Health Care Database | |
Muppalla et al. | Emancipation of FP Growth Algorithm using Association Rules on Spatial Data Sets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091009 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091217 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100122 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100217 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130226 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4463431 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140226 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |