摄影三要素是什么| 什么是职业暴露| 青梅竹马什么意思| oa期刊是什么意思| 蓝矾对人有什么危害| 拉大便有血是什么原因| 先天愚型是什么病| 子嗣是什么意思| 邮政编码有什么用| 2001年是什么命| 超声心动图是什么| 六十天打一字是什么字| 上门女婿什么意思| 瘁是什么意思| 毒瘤是什么意思| 水当当是什么意思| 宫外孕是什么症状| 控制欲强的人最怕什么| 肺气肿挂什么科| 男人阳萎吃什么药最好| 术后吃什么营养品好| 左眼皮跳什么预兆| beauty是什么意思| 脑瘫是什么症状| mra是什么意思| 1978年属什么生肖| 诸君是什么意思| 乳头为什么会痒| 天上九头鸟地上湖北佬是什么意思| 裤子前浪后浪是什么| 酵素是什么| 联通查流量发什么短信| 一什么牛| 电子商务有限公司是做什么的| 看正月初一是什么生肖| lg手机是什么牌子| 检查胰腺挂什么科| 苡米和薏米有什么区别| 脸痒是什么原因| 巴黎世家是什么| 地主之谊是什么意思| 属马的跟什么属相最配| 边字是什么结构| 冬五行属什么| 法西斯是什么意思| 惠字五行属什么| 初中学历能做什么工作| 万圣节应该送什么礼物| 三月生日是什么星座| 蓝牙耳机什么牌子好| 眩晕症是什么原因引起| 垂体泌乳素是什么意思| 吃酒是什么意思| 虾头部黄黄的是什么| h 是什么意思| 百步穿杨是什么生肖| 人见人爱是什么生肖| 使用年限是什么意思| 月经期适合吃什么水果| 踏青是什么意思| bpa是什么意思| 老公不交工资意味什么| 切除甲状腺有什么影响| 舅舅和外甥女是什么关系| 利是是什么意思| 叶酸有什么作用| 吃什么补脾虚| 情感细腻是什么意思| 变色龙形容什么样的人| 脖子上长小肉粒是什么原因| 一班三检是指什么| 为什么要打破伤风| 多喝白开水有什么好处| 游离三碘甲状腺原氨酸是什么意思| 倒膜是什么意思| 方阵是什么意思| 特药是什么意思| 胆汁反流吃什么食物好| 血容量不足是什么意思| 右眼皮跳是什么预兆男| 降头是什么意思| 口什么心什么| 跳楼是什么感觉| 兰桂齐芳是什么意思| 虾皮不能和什么一起吃| 血热吃什么药| 小便有刺痛感什么原因| 什么样的女人最旺夫| 舌苔厚口臭吃什么药好| 甘油三酯偏高说明什么问题| 一个土一个斤念什么| 黄色裤子配什么颜色上衣| 飘了是什么意思| 25羟维生素d测定是什么| 92年属什么的生肖| dna倍体异常细胞是什么意思| 吃维生素b6有什么好处和副作用| 养胃吃什么最好| 蜂蜜什么时候喝最佳| 纳米是什么单位| 什么的什么是什么的伞| 吃什么丰胸效果好又快| 巴基斯坦用什么语言| 贴切是什么意思| 刮痧有什么作用| 马拉色菌毛囊炎用什么药治疗最好| 身份证照片穿什么颜色衣服| 牙齿酸是什么原因| 什么是时装| 眉尾长痘是什么原因| pr什么意思| 布病吃什么药| 螨虫怕什么| 重庆有什么好大学| 月经推迟什么原因引起的| 2023年是属什么生肖| 杏林春暖的杏林指什么| 什么猫| 子宫轻度下垂有什么办法恢复| 皮肤瘙痒症用什么药| 高血压吃什么药最好| 7月25日什么星座| 花代表什么生肖| 酱油是什么做的| 除是什么意思| 补肝血吃什么药| 王景读什么| 96166是什么电话| 眼带用什么方法消除| 小便失禁是什么原因| 端字五行属什么| 桃花是什么季节开的| 尿激酶的作用及功效是什么| 12月13日是什么纪念日| 皮粉色是什么颜色| 人流需要准备什么| 面试要带什么| 全科医学科看什么病| 越南人说什么语言| 海选是什么意思| 马蜂窝能治什么病| 福尔马林是什么味道| 子宫内膜厚是什么原因引起的| 甲沟炎是什么样子的| 梦见大山是什么预兆| 月蚀是什么意思| 印度是什么教| 第二职业干点什么好呢| 不过如此是什么意思| 外科主要看什么病| 伏案工作是什么意思| 蚊子怕什么植物| 改良碱性土壤用什么| 00年属什么| 六月什么星座| 内秀是什么意思| 依云矿泉水为什么贵| 去医院看肛门挂什么科| 梦见狗咬别人是什么意思| 面首是什么意思| 红细胞压积偏高是什么原因| 人参不能和什么一起吃| lodge是什么意思| thc是什么意思| 舌头麻什么原因| 牙龈出血是什么病的前兆| 无证之罪什么意思| 乙肝五项15阳性是什么意思| 钟点房是什么意思| 疱疹是一种什么病| 导管是什么意思| 梦见火烧房子是什么预兆| 西安古代叫什么名字| charleskeith什么牌子| 牙龈黑紫色是什么原因| 载脂蛋白a1偏高是什么原因| 女的学什么手艺最赚钱| 为什么趴着睡觉会胀气然后打嗝| 颜艺是什么意思| 清明节的习俗是什么| 腿酸胀是什么原因| 自我安慰是什么意思| 同舟共济是什么意思| 晨五行属什么| 咳黄痰是什么原因| 艾灸后放屁多是什么原因| 大便失禁是什么原因| 双胞胎是什么意思| 魂牵梦绕的意思是什么| 理工科是什么意思| 壅是什么意思| 老头乐是什么| 心肌缺血吃什么中药| 失眠吃什么水果| 花胶和什么煲汤最适合| 感染艾滋病有什么症状| 七月十三号是什么星座| 孕妇可以吃什么零食| 淼怎么读什么意思| 98年属什么| 松果体囊肿是什么病| 西安五行属什么| 四季豆不能和什么一起吃| 牛属相和什么属相配| 乔迁对联什么时候贴| 米干是什么| 公务员是做什么工作的| 什么嫩芽| 男人都喜欢什么样的女人| 乙肝病毒表面抗体弱阳性什么意思| 肝火旺盛吃什么食物| 驿是什么意思| 打鼾是什么原因导致的| 发髻是什么意思| 左腿麻木是什么征兆| 兰蔻适合什么年龄的人用| 维生素b是什么食物| 碳酸钙d3颗粒什么时候吃最好| 是什么日子| 骨折不能吃什么东西| 什么属相不能养龙鱼| 10月21是什么星座| 手脚冰凉吃什么药| 男士脸黑穿什么颜色好| 老登是什么意思| En什么意思| 温字五行属什么| 苯磺酸氨氯地平片什么时候吃最好| 淋巴结有血流信号预示着什么| 梦见系鞋带是什么意思| 慢慢地什么| dk是什么牌子| 樱桃不能和什么一起吃| 菊花搭配什么泡茶最好| 羊水偏多是什么原因| 广州立冬吃什么| 庄子是什么学派| 梦见自己手机丢了是什么意思| 微信为什么加不了好友| 什么病会吐血| 什么是三焦| 上炕是什么意思| 麒麟什么意思| 贞操是什么意思| 嗓子突然哑了是什么原因引起的| 临盆是什么意思| 灰指甲是什么原因| 儿童用什么牙膏最好可以保护牙齿| 初一的月亮是什么形状| 火疖子是什么| 猪肚子和什么煲汤最好| 什么是生源地| minute什么意思| 小麦什么时候成熟| 牛和什么生肖相冲| 死皮是什么| 6月15日是什么日子| 供给侧改革什么意思| 下巴脖子长痘痘是什么原因| 自言自语是什么| 脾肺两虚吃什么中成药| 暴跳如雷是什么意思| 做梦梦见蛇是什么征兆| 八格牙路是什么意思| 百度

高通骁龙652手机有哪些 2016六款热门骁龙652手机推荐

Data filtering Download PDF

Info

Publication number
US20160132496A1
US20160132496A1 US14/535,051 US201414535051A US2016132496A1 US 20160132496 A1 US20160132496 A1 US 20160132496A1 US 201414535051 A US201414535051 A US 201414535051A US 2016132496 A1 US2016132496 A1 US 2016132496A1
Authority
US
United States
Prior art keywords
attribute
group
query
product
file
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.)
Granted
Application number
US14/535,051
Other versions
US10579589B2 (en
Inventor
Unmesh Gandhi
Ives Toe
Sebastien Phan
Evelyna Holban
Tim Gast
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US14/535,051 priority Critical patent/US10579589B2/en
Assigned to SAP SE reassignment SAP SE ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GANDHI, UNMESH, GAST, TIM, HOLBAN, EVELYNA, PHAN, SEBASTIEN, TOTES, IVES
Publication of US20160132496A1 publication Critical patent/US20160132496A1/en
Application granted granted Critical
Publication of US10579589B2 publication Critical patent/US10579589B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • G06F17/3012
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/244Grouping and aggregation
    • G06F17/30106
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs

Definitions

  • data collection entities e.g., market research organizations
  • the collected data may be multi-dimensional and also include multiple attributes for each data dimension.
  • End-users e.g., product manufacturers, merchandisers or retailers, etc.
  • a method for filtering a product transaction data file includes receiving, by a computer, a query including one or more alternate groups of attribute conditions for filtering the product transaction data file.
  • the attribute conditions may be applicable to product attribute data records that are split or present across a set of vertically split attribute data files.
  • the method further includes determining which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query and identifying keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query, and using the identified keys to filter product data records in the transaction data file.
  • FIG. 1 is an illustration of example vertically split master data files that include attribute data for one or more attributes of a product data dimension.
  • FIG. 2 is an illustration of an example transaction data file that includes data for the three Master Data dimensions (viz. product, location, and time dimensions) and data for transaction metrics or key figures
  • FIG. 3 is a block diagram illustration of an example system an example system 300 for filtering Transaction Data files, in accordance with the principles of the present disclosure.
  • FIG. 4 is a block diagram illustration of an example schema of the processes of system of FIG. 3 for filtering Transaction Data using filter criteria involving Master Data dimensions and attributes, in accordance with the principles of the disclosure herein.
  • FIG. 5 is an illustration of example filtered transaction data file, which may be obtained by using a filter engine configured to filter transaction data files, in accordance with the principles of the disclosure herein.
  • FIG. 6 is an illustration of example vertically split product dimension files and an example transaction data file.
  • FIG. 7 is an illustration of an example output of a filter engine using product keys to filter a transaction data file, in accordance with the principles of the invention herein.
  • FIG. 8 is an illustration of an example method for filtering a transaction data file based on multi attribute and multi-dimensional master product data, which may be available in vertically split data files, in accordance with the principles of the present disclosure.
  • FIG. 9 is an illustration of another example method for filtering a transaction data file based on multi attribute and multi-dimensional master product data, which may be available in vertically split data files, in accordance with the principles of the present disclosure.
  • MREs may collect and provide multiple attribute and multi-dimensional market data (e.g., “Master Data” and “Transaction Data”) related to a retailer's products or sales) in multiple data files.
  • Each data file may, for example, include data only for some of the attributes and/or only some of the dimensions of the multiple attribute and multi-dimensional market data.
  • Master Data records related to a retailer's products may include multi-dimensional data for three data dimensions (e.g., Product, Location and Time data dimensions). Data for each of the data dimensions (Product, Location and Time data dimensions) may be in separate data files (“master data files”). Further, each data dimension may have multiple attributes. For example, the Product data dimension may have data attributes such as Product ID, Description, EAN ? UPC, Volume, Unit of Measure, etc. For each data dimension of the Master Data, the MREs may provide attribute data in separate “attribute data” files. The separate attribute data files may include attribute data for non-overlapping subsets of the data dimension attributes.
  • the MREs may provide attribute data for the first five attributes in a “file 1,” data for the next ten attributes in a “file 2”, and attribute data for last five attributes in a “file 3.”
  • Such representation of the data for non-overlapping subsets of the data dimension attributes in different attribute data files many be referred to herein as a “vertical split” of data.
  • a complete set of vertically split attribute data files (e.g., file 1, file 2, and file 3) may be needed to have full information for all of the attributes of a data dimension (e.g., Product data dimension).
  • a full attribute data record for a product consists of smaller product attribute data records present in the vertically split attribute data files, and all of the smaller product attribute data records may be needed to describe or construct the full attribute data record for the product.
  • FIG. 1 shows, for purposes of illustration only, example vertically split master data files (e.g., files 101 , 102 , and 103 ) that include attribute data for one or more attributes (e.g., Product ID, Description, Category, Sub-Category, Brand, Level) for the Product data dimension in the foregoing example scenario.
  • attributes e.g., Product ID, Description, Category, Sub-Category, Brand, Level
  • example vertically split master data files e.g., files 104 and 105
  • attribute data for one or more attributes e.g., Location ID, Description, Category and Level
  • an example master data file e.g., file 106
  • attribute data for one or more attributes e.g., Time and Description
  • a MRE may further collect and provide information related to transactions (e.g., consumer sales in retail stores or other sales channels) that involve the end-user's products in Transaction Data files.
  • the Transaction Data files may include data on metrics or key figures (e.g., sales price, revenue, profit, number of items sold, etc.) that may characterize individual transactions involving the end-user's products in the market place.
  • the metrics or key figures e.g., sales price, number of items, etc.
  • a transaction data file may be viewed as another type of attribute data file, which includes data for the transaction-related attributes (e.g., transaction metrics or key figures).
  • FIG. 2 shows, for purposes of illustration only, an example transaction data file (e.g., file 200 ) that include data for the three Master Data dimensions (e.g., Product ID, Location ID, and Time) and data for transaction metrics or key figures (e.g. Sales and Volume) in the foregoing example scenario.
  • Master Data dimensions e.g., Product ID, Location ID, and Time
  • key figures e.g. Sales and Volume
  • transaction data file 200 may, for example, be physically entered (e.g., by merchants, store keepers or other personnel) or otherwise collected at points of sale of the end-user's products. While example transaction data file 200 is shown in FIG. 2 only for purposes of illustration as including only a few transaction data records (e.g., for three Product IDs P00000000001, P00000000002 and P00000000003, three location IDs G00001, G00002 and G00003), it will be understood that in many retailing scenarios Transaction Data (e.g., file 200 ) may include thousands if not millions of transaction data records.
  • Transaction Data (e.g., as received by the end-user from the MREs) may be filtered, for example, to a manageable or relevant size for data analytics on the end-user's computer system (e.g., business intelligence systems) by retaining only the transaction data relationships (with Master Data dimensions or attributes) that may be meaningful for the end-user's data analytics.
  • This filtering of the Transaction Data may involve filtering the transaction data (e.g., file 200 ), for example, based on filter criteria (e.g., Master Data attributes) which are external to and not a direct part of the transaction data files.
  • the Master Data as noted earlier may include more than one vertically split attribute data files.
  • filtering of the Transaction Data may involve filtering the transaction data based on the attributes of a Master Data dimension, which attributes may be provided in one file or in different vertically split attribute files.
  • FIG. 3 shows an example system 300 for filtering Transaction Data files, in accordance with the principles of the present disclosure.
  • System 300 may include a computing device 30 (e.g., an application server) coupled to a file system 340 or other source of product Master Data and Transaction Data (e.g., product data files 342 , location data files 344 , time data files 346 and transaction data files 348 ).
  • Computing device 30 may include a filter engine 400 , a file reader 410 , and data mapper 420 .
  • File reader 410 may be configured to retrieve or read data files (e.g., product data files 342 , location data files 344 , time data files 346 and transaction data files 348 ) from file system 340 for processing by filter engine 400 .
  • Filter engine 400 may be configured to filter a data file (e.g., transaction data file 440 ) according to filter conditions or criteria (which may be user-defined filter conditions or criteria entered on computing device 30 , for example, as a transaction data query via a user interface (UI) 36 ).
  • the filtered data file output ( 450 ) of filter engine 400 may be output to a receiving database or computer system (e.g., business intelligence datamart 350 ) or otherwise made available (e.g., on UI 36 ) to the user.
  • Computing device 30 may further include a data mapper 420 configured to prepare or format the filtered data file output 450 of filter engine 400 to be compatible, for example, with the data structure of the receiving database or computer system (e.g., business intelligence datamart 350 ).
  • filter engine 400 and other system components may be hosted on one or more standalone or networked physical or virtual computing machines.
  • FIG. 3 shows, for example, filter engine 400 hosted on computing device 30 (e.g., a desktop computer, a mainframe computer, an application server, a personal computer, a mobile computing device, a laptop, a tablet, or a smart phone), which may be available to a user.
  • Computing device 30 which includes an O/S 31 , a CPU 32 , a memory 33 , and I/O 34 , may further include or be coupled to user interface 36 .
  • computing device 30 is illustrated in the example of FIG. 3 as a single computer, it may be understood that computing device 30 may represent two or more computers in communication with one another. Therefore, it will also be appreciated that any two or more components of system 300 may similarly be executed using some or all of the two or more computing devices in communication with one another. Conversely, it also may be appreciated that various components illustrated as being external to computing device may actually be implemented therewith.
  • FIG. 4 shows an example schema of the processes of system 300 /filtering engine 400 for filtering Transaction Data (e.g., transaction data file 440 ) using filter criteria involving Master Data dimensions and attributes, in accordance with the principles of the disclosure herein.
  • Transaction Data e.g., transaction data file 440
  • FIG. 4 shows an example schema of the processes of system 300 /filtering engine 400 for filtering Transaction Data (e.g., transaction data file 440 ) using filter criteria involving Master Data dimensions and attributes, in accordance with the principles of the disclosure herein.
  • Filtering engine 400 may, for example, include several process modules (e.g., process modules 401 , 402 , 403 a - 403 c , and 404 ) to process transaction data files (e.g., transaction data file 440 ) and the Master Data.
  • Module 401 may include processes to determine if there are any active defined filter conditions (e.g., based on Product, Location and/or Time dimensions in the master data files) and accordingly create filter objects based on the defined filter conditions.
  • Filtering engine 400 may create a query to be applied to the transaction data file 440 to generate filtered transaction data 450 using the filter objects.
  • filtering engine 400 may further include a simulator/extractor module 402 that includes processes to determine, for example, based on metadata associated with the Master Data files, whether the Master Data files include vertically split files. Simulator/extractor module 402 may be configured to read, in a simulate mode, all the market data files (including vertically split files) related to the filter objects (e.g., Product, Location and/or Time dimensions).
  • System 300 /filtering engine 400 may include modules 403 a , 403 b , and 403 c that may include processes to read, for example, product, location and time dimension files, respectively.
  • Filtering engine 400 may apply the relevant filter objects or conditions to each dimension file (including vertically split attribute files) to identify the data record keys in each dimension file which pass or satisfy the filter conditions.
  • Module 404 may include processes to collect a list of the so-identified “passing” keys which pass or satisfy the filter conditions.
  • Module 404 may use the passing keys to create a filter (e.g., filter 405 ) to apply the transaction data query to the transaction data file 440 to generate filtered transaction data file 450 .
  • a filter e.g., filter 405
  • filter engine 400 may provide an end-user with the ability to filter the data present in transaction data file 440 based on attributes, which are not directly part of the transaction data file, but which may be part of other files (e.g., master data files that may be vertically split by data dimension and/or attributes). Filter engine 400 may establish a link between the other files, form a complex filter condition (which is shown in FIG. 4 , schematically, for example, as filter 450 ) and apply the complex filter condition to the data present in transaction data file 440 .
  • a complex filter condition which is shown in FIG. 4 , schematically, for example, as filter 450
  • example transaction data queries or filter conditions may be based on Product, Location and Time dimension attributes.
  • system 300 /filter engine 400 may, for example, allow an end-user to define transaction data queries or filter conditions (via user interface 36 ) to configure filter engine 400 to filter transaction data.
  • FIG. 5 shows an example filtered transaction data file 500 , which may be obtained by using filter engine 400 configured to filter transaction data file 200 ( FIG. 2 ) according to the foregoing user-defined filter condition or query based on the Product, Location and Time dimension attributes.
  • FIG. 6 shows, for purposes of illustration, two example vertically split product dimension files (e.g., file 601 and file 602 ) and an example transaction data file 602 .
  • File 601 may, for example, contain data records for product dimension attributes (Product key, Brand and Color) and file 602 may contain data records for product dimension attributes (Product key and Weight).
  • files 601 - 603 are referred to herein only as an example to illustrate an ability of filter engine 400 to construct a complex filter condition, which is defined using product attributes (e.g., Brand, Color, and Weight) distributed across vertically split master data files (e.g., file 601 and file 602 ) to filter transaction data (e.g., file 603 ).
  • product attributes e.g., Brand, Color, and Weight
  • filter engine 400 provides an end-user the ability to filter the transaction data file (e.g., file 603 ) based on product attributes, which are not directly part of the transaction data file (e.g., file 603 ).
  • filter engine 400 may process the attribute data records available in the vertically split master data files (e.g., file 601 and file 602 ) to identify product keys of the attribute data records which pass or satisfy the user-defined filter criteria, and then use the identified product keys from file 601 and file 602 to filter transaction data file 603 .
  • An example user-defined query or filter condition 604 which may be based on product attributes in files 601 and 602 , may be may be written using mathematical operators (e.g., “OR,” “AND,” and “EQ,” etc.) as:
  • query or filter condition 604 may be parsed as shown, for example, in TABLE I.
  • Group 1 and Group 2 may refer to the alternate attribute conditions (BRAND EQ ‘ADIUM’ AND COLOR EQ ‘PURPLE’ AND WEIGHT EQ ‘150 g’) and (PROD KEY EQ PROD3′) that respectively precede and succeed the “OR” operator in the foregoing example user-defined filter condition 604 .
  • sequence Nos. 1, 2, and 3 may refer to a sequence of attribute conditions BRAND EQ ‘ADIUM’, COLOR EQ ‘PURPLE,’ and WEIGHT EQ ‘150 g’, within Group 1.
  • the group counts may be used by filter engine 400 to determine whether all of the partial filter criteria (e.g., distinct attribute conditions in each of Group 1 and Group 2) have been applied to different files (e.g., files 601 and 602 ) by the end of the filtering process by keeping track of group counts applied during the filtering process.
  • partial filter criteria e.g., distinct attribute conditions in each of Group 1 and Group 2
  • filter engine 400 may apply filter condition 604 to vertically split product attribute files (e.g., files 601 and 602 ), turn-by-turn, and determine effective group counts for each of Group 1 and Group 2 for the files according to the numbers of attribute conditions (e.g., (BRAND EQ ‘ADIUM’, COLOR EQ ‘PURPLE,’ WEIGHT EQ ‘150 g’) or (PROD KEY EQ PROD3′)) in the group that may possibly match attribute data records in the files. For example, since file 601 contains only data records for two attributes (e.g., Brand and Color) but not the Weight attribute for each product key attribute (i.e.
  • attribute conditions e.g., (BRAND EQ ‘ADIUM’, COLOR EQ ‘PURPLE,’ WEIGHT EQ ‘150 g’) or (PROD KEY EQ PROD3′)
  • file 601 contains only data records for two attributes (e.g., Brand and Color) but not the Weight attribute for each product key attribute (i.
  • the effective group counts for Group 1 (BRAND EQ ‘ADIUM’, and COLOR EQ ‘PURPLE’) and Group 2 (PROD KEY EQ PROD3′) may be determined as being equal to 2 and 1 (for file 601 ), respectively.
  • filter engine 400 may determine the effective group counts for Group 1 (WEIGHT EQ ‘150 g’) and Group 2 (PROD KEY EQ PROD3′) as being equal to 1 and 1 (for file 602 ), respectively.
  • filter engine 400 may be configured to process file 601 to determine which product key (PROD KEY) data records in file 601 can pass the attribute conditions of filter condition 604 .
  • Filter engine 400 may, for example, determine after reading file 601 , that of the data records for the three PROD KEY values (e.g., PROD1, PROD2, AND PROD3) listed in file 601 only the data records for PROD1 and PROD2 may pass the two effective Group 1 conditions (i.e. BRAND EQ ‘ADIUM’ and COLOR EQ PURPLE,′) and only the data records for one PROD KEY value (i.e. PROD3) may pass the one effective Group 2 condition (i.e. PROD KEY EQ PROD3′).
  • This determination of which product keys pass the attribute conditions of filter condition 604 may be summarized as shown, for example, in TABLE 2 below.
  • Filter engine 400 may then process the next vertically split product attributes file (e.g., file 602 ) in a similar manner to determine which product keys (PROD KEY data records) in file 602 can pass the attribute conditions of filter condition 604 .
  • Filter engine 400 may, for example, determine after reading file 602 , that data records in file 602 for one PROD KEY value (i.e., PROD1) can pass the one effective Group 1 condition (WEIGHT EQ ‘150 g’), and one PROD KEY value (i.e. PROD3) can pass the one effective Group 2 condition (PROD KEY EQ PROD3′) of filter condition 604 .
  • PROD KEY value i.e., PROD1
  • PROD3 PROD KEY value
  • This determination of which keys pass the attribute conditions of filter condition 604 may be summarized as shown, for example, in TABLE 3 below.
  • Filter engine 400 may then select product keys PROD1 and PROD 3 for which the data records in both files 601 and 602 pass or satisfy the attribute conditions (in Group 1 and Group 2 of filter condition 604 ) to filter transaction data file 603 .
  • the “passing” data records may be distributed across vertically split files 601 and 602 .
  • Filter engine 400 may include algorithms to confirm that the selected product keys have reached the initial group counts, as shown in TABLE 4. Such confirmation may ensure that the selected product keys correspond to attribute data records that pass or satisfy all of the attribute conditions contained in filter condition 604 even though the attribute data records are split or distributed across vertically split files 601 and 602 .
  • FIG. 7 illustrates an example output 700 of filter engine 400 using product keys PROD1 and PROD 3 to filter transaction data file 603 .
  • FIGS. 8 and 9 show example methods 800 and 900 , respectively, for filtering a transaction data file (e.g., in a retailing industry scenario) based on multi attribute and multi-dimensional master product data, which may be available in vertically split data files, in accordance with the principles of the present disclosure.
  • a transaction data file e.g., in a retailing industry scenario
  • multi attribute and multi-dimensional master product data which may be available in vertically split data files
  • the multi attribute and multi-dimensional product data may, for example, be stored in one or more file systems or databases.
  • the multi attribute and multi-dimensional product data may include separate master data files for each product data dimension (e.g., for Product, Location, and Time data dimensions, etc.).
  • a master data file for any dimension e.g., Product dimension
  • Individual data records in the transaction data file and in the various vertically split attribute data files may, for example, be indexed, identified or associated with keys or identifiers (e.g., Product Keys).
  • a full attribute data record i.e. a data record with fields for a full set of attributes of a data dimension
  • Methods 800 and 900 may be used to apply a query or filter to extract a smaller number of data records from the transaction data file, based on attribute data that is included in the various vertically split attribute data files.
  • the query or filter e.g., filter condition 604 , FIG. 6
  • Methods 800 and 900 may involve using a filter engine hosted on one or more computers to process the vertically split attribute data files.
  • the filter engine may identify the keys associated with attribute data records in the vertically split attribute data files that can satisfy one or more of alternate groups of attribute conditions in the query or filter.
  • the filter engine may then use the so-identified keys to filter the transaction data file.
  • method 800 may involve receiving a user-defined query or filter condition including one or more groups of attribute conditions for filtering a transaction data file ( 801 ).
  • Method 800 may further involve converting or mapping attribute fieldnames used in the user-defined query or filter condition to equivalent or standardized attribute fieldnames (e.g., column names) that may be used in the master data and/or transaction data files ( 802 ).
  • attribute fieldnames e.g., column names
  • fieldname “Prod Key” which may be used in user-defined filter condition 604
  • Method 800 may also include determining initial group counts of the numbers of attribute conditions included in the one or more alternate groups of attribute conditions in the user-defined query or filter condition ( 803 ) prior to processing the vertically split attribute data files.
  • Method 800 may involve processing the vertically split attribute data files for a product dimension, one file at a time, to determine which data records in a vertically split data file satisfy the attribute conditions in the user-defined query, group-by-group ( 804 ).
  • the vertically split data file may be a file that has a changed format or data structure compared to a previously processed vertically split data file.
  • Processing the vertically split attribute data files 804 may include preparing the changed vertically split data file for filtering by determining attribute criteria from file column data, determining hierarchy criteria from the file column data, building a hierarchy query and building a regular expression query (“regex query”) based on the structure of data records in the changed file ( 805 ).
  • Processing the vertically split attribute data files 804 may further include filtering the vertically split data file (e.g., an unchanged file or a changed file prepared at 805 ) to determine which data records satisfy one or more of the alternate groups of attribute conditions in the query ( 806 ), and for each group of attribute conditions in the query, identifying “passing” keys associated with the data records that satisfy the group attribute conditions and also “rejected” keys associated with the data records that do not satisfy the group attribute conditions ( 807 ).
  • filtering the vertically split data file e.g., an unchanged file or a changed file prepared at 805
  • processing the vertically split attribute data files 804 may further include identifying the passing keys for which the initial group counts (determined at 803 ) have been reached ( 808 ).
  • method 800 may include using the passing keys for which the initial group counts have been reached to filter the transaction data file ( 809 ).
  • Method 800 may further include using the filtered transaction data file for data analytics, and based on the results of the data analytics modifying marketing campaigns, modifying assortment, merchandising or distribution of the products, and modifying operations in designing, making or distributing the products ( 810 ).
  • method 900 may be used for filtering a product transaction data file.
  • Method 900 may involve receiving, by a computer, a query including one or more alternate groups of attribute conditions for filtering the product transaction data file, the attribute conditions being applicable to product attribute data records split or present across a set of vertically split attribute data files ( 910 ).
  • Method 900 may further involve determining which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query ( 920 ), identifying keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query ( 930 ) and using the identified keys to filter product data records in the transaction data file ( 940 ).
  • Determining which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query may include initializing group counts of the attribute conditions in the one or more groups of attribute conditions in the query.
  • determining which of the product attribute data records split or present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query may include processing the set of vertically split attribute data files one file at a time, and when a product attribute data record in a current file satisfies a number of attribute conditions in a group of attribute conditions in the query, increasing an effective group count for the key associated with the product attribute data record in the current file by a count equal to the number of attribute conditions satisfied.
  • Identifying keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query may include confirming that effective group count ascribed to an identified key, after processing all of the set of vertically split attribute data files, equals an initial group count of the attribute conditions in at least one group of attribute conditions in the query.
  • determining which of the product attribute data records split or present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query includes filtering the current file using the at least one group of attribute conditions.
  • Filtering the current file using the at least one group of attribute conditions may include determining attribute criteria form file column data, determining hierarchy criteria from file column data, building a hierarchy query and building a regular expression query to filter the current file.
  • the various systems and techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, or in combinations of them.
  • the various techniques may implemented as a computer program product, i.e., a computer program tangibly embodied in a machine readable storage device, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
  • Method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
  • a processor will receive instructions and data from a read only memory or a random access memory or both.
  • Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data.
  • a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magnetooptical disks, or optical disks.
  • Information carriers suitable for embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magnetooptical disks; and CDROM and DVD-ROM disks.
  • semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
  • magnetic disks e.g., internal hard disks or removable disks
  • magnetooptical disks e.g., CDROM and DVD-ROM disks.
  • the processor and the memory may be supplemented by, or incorporated in special purpose logic circuitry.
  • implementations may be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
  • a display device e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor
  • keyboard and a pointing device e.g., a mouse or a trackball
  • Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
  • Implementations may be implemented in a computing system that includes a backend component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a frontend component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation, or any combination of such backend, middleware, or frontend components.
  • Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
  • LAN local area network
  • WAN wide area network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method for filtering a product transaction data file involves receiving, by a computer, a query including one or more groups of attribute conditions for filtering the product transaction data file. The attribute conditions in the query are applicable to product attribute data records split across a set of vertically split attribute data files. The method further includes determining which of the product attribute data records split across the set of vertically split attribute data files satisfy all of the one or more groups of attribute conditions in the query, identifying product keys associated with the product attribute data records that satisfy all of the one or more groups of attribute conditions in the query, and using the so-identified product keys to filter product data records in the transaction data file.

Description

    BACKGROUND
  • 百度 1900年,在迟重瑞事业当红时,他选择了结婚,而老婆是圈外人,叫陈丽华,家产丰厚,最让人注意的是比迟重瑞大了11岁,而且陈丽华是二婚,与前夫生了三个小孩,他们的结合受到了很大的压力,外界争议声很大,认为迟重瑞娶陈丽华是吃软饭,对于外界的种种传闻,迟重瑞一笑置之。
    With the expanding reach of computer networks and proliferation of connected devices, data collection entities (e.g., market research organizations) can collect a tremendous volume and variety of data related to sales or use of products in the market place from a wider range of sources than before (e.g., from point-of-sale (POS) systems, online transactions, social media, loyalty programs, call center records, etc.). The collected data may be multi-dimensional and also include multiple attributes for each data dimension. End-users (e.g., product manufacturers, merchandisers or retailers, etc.) can, in principle, analyze this data to generate valuable insights for improving the effectiveness of marketing campaigns, optimizing assortment and merchandising decisions, and removing inefficiencies in distribution and operations. However, it may not be necessary to analyze all of the large volumes and variety of the multiple attribute and multi-dimensional data that the end-users can receive from the data collection entities to extract meaningful or relevant content for the end-users' purposes. Further, storing all of the large volumes and variety of data that the end-users can receive (e.g., automatically or on-line) from the data collection entities may be also be unnecessary and burdensome.
  • Consideration is being given to systems and methods for consolidating or structuring multiple attribute and multi-dimensional data for storage or for further data analytics.
  • SUMMARY
  • In a general aspect a method for filtering a product transaction data file includes receiving, by a computer, a query including one or more alternate groups of attribute conditions for filtering the product transaction data file. The attribute conditions may be applicable to product attribute data records that are split or present across a set of vertically split attribute data files.
  • In a further aspect, the method further includes determining which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query and identifying keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query, and using the identified keys to filter product data records in the transaction data file.
  • The details of one or more implementations are set forth in the accompanying drawings and the description below. Further features of the disclosed subject matter, its nature and various advantages will be more apparent from the accompanying drawings the following detailed description, and the claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is an illustration of example vertically split master data files that include attribute data for one or more attributes of a product data dimension.
  • FIG. 2 is an illustration of an example transaction data file that includes data for the three Master Data dimensions (viz. product, location, and time dimensions) and data for transaction metrics or key figures
  • FIG. 3 is a block diagram illustration of an example system an example system 300 for filtering Transaction Data files, in accordance with the principles of the present disclosure.
  • FIG. 4 is a block diagram illustration of an example schema of the processes of system of FIG. 3 for filtering Transaction Data using filter criteria involving Master Data dimensions and attributes, in accordance with the principles of the disclosure herein.
  • FIG. 5 is an illustration of example filtered transaction data file, which may be obtained by using a filter engine configured to filter transaction data files, in accordance with the principles of the disclosure herein.
  • FIG. 6 is an illustration of example vertically split product dimension files and an example transaction data file.
  • FIG. 7 is an illustration of an example output of a filter engine using product keys to filter a transaction data file, in accordance with the principles of the invention herein.
  • FIG. 8 is an illustration of an example method for filtering a transaction data file based on multi attribute and multi-dimensional master product data, which may be available in vertically split data files, in accordance with the principles of the present disclosure.
  • FIG. 9 is an illustration of another example method for filtering a transaction data file based on multi attribute and multi-dimensional master product data, which may be available in vertically split data files, in accordance with the principles of the present disclosure.
  • DETAILED DESCRIPTION
  • Systems and methods for filtering, consolidating and structuring multiple attribute and multi-dimensional data are described herein.
  • In an example retailing industry scenario, internal or external market research entities (MREs) may collect and provide multiple attribute and multi-dimensional market data (e.g., “Master Data” and “Transaction Data”) related to a retailer's products or sales) in multiple data files. Each data file may, for example, include data only for some of the attributes and/or only some of the dimensions of the multiple attribute and multi-dimensional market data.
  • For example, Master Data records related to a retailer's products may include multi-dimensional data for three data dimensions (e.g., Product, Location and Time data dimensions). Data for each of the data dimensions (Product, Location and Time data dimensions) may be in separate data files (“master data files”). Further, each data dimension may have multiple attributes. For example, the Product data dimension may have data attributes such as Product ID, Description, EAN\UPC, Volume, Unit of Measure, etc. For each data dimension of the Master Data, the MREs may provide attribute data in separate “attribute data” files. The separate attribute data files may include attribute data for non-overlapping subsets of the data dimension attributes. For example, if the Product data dimension has twenty attributes, the MREs may provide attribute data for the first five attributes in a “file 1,” data for the next ten attributes in a “file 2”, and attribute data for last five attributes in a “file 3.” Such representation of the data for non-overlapping subsets of the data dimension attributes in different attribute data files many be referred to herein as a “vertical split” of data. A complete set of vertically split attribute data files (e.g., file 1, file 2, and file 3) may be needed to have full information for all of the attributes of a data dimension (e.g., Product data dimension). In other words, a full attribute data record for a product consists of smaller product attribute data records present in the vertically split attribute data files, and all of the smaller product attribute data records may be needed to describe or construct the full attribute data record for the product.
  • FIG. 1 shows, for purposes of illustration only, example vertically split master data files (e.g., files 101, 102, and 103) that include attribute data for one or more attributes (e.g., Product ID, Description, Category, Sub-Category, Brand, Level) for the Product data dimension in the foregoing example scenario. FIG. 1 also shows, for purposes of illustration only, example vertically split master data files (e.g., files 104 and 105) that include attribute data for one or more attributes (e.g., Location ID, Description, Category and Level) for the Location data dimension and an example master data file (e.g., file 106) that includes attribute data for one or more attributes (e.g., Time and Description) of the Time data dimension in the foregoing example scenario.
  • In the example retailing industry scenario, a MRE may further collect and provide information related to transactions (e.g., consumer sales in retail stores or other sales channels) that involve the end-user's products in Transaction Data files. In addition to identifying one or more master data dimensions (e.g., Product, Location and Time), the Transaction Data files may include data on metrics or key figures (e.g., sales price, revenue, profit, number of items sold, etc.) that may characterize individual transactions involving the end-user's products in the market place. The metrics or key figures (e.g., sales price, number of items, etc.) may be viewed as being additional attributes of the Master Data dimensions. Thus, a transaction data file may be viewed as another type of attribute data file, which includes data for the transaction-related attributes (e.g., transaction metrics or key figures).
  • FIG. 2 shows, for purposes of illustration only, an example transaction data file (e.g., file 200) that include data for the three Master Data dimensions (e.g., Product ID, Location ID, and Time) and data for transaction metrics or key figures (e.g. Sales and Volume) in the foregoing example scenario.
  • The data included in transaction data file 200 may, for example, be physically entered (e.g., by merchants, store keepers or other personnel) or otherwise collected at points of sale of the end-user's products. While example transaction data file 200 is shown in FIG. 2 only for purposes of illustration as including only a few transaction data records (e.g., for three Product IDs P00000000001, P00000000002 and P00000000003, three location IDs G00001, G00002 and G00003), it will be understood that in many retailing scenarios Transaction Data (e.g., file 200) may include thousands if not millions of transaction data records. It may be burdensome or even impractical for an end-user (e.g., a products manufacturer, a retail chain, etc.) of the data to store or process the large data files on the end-user's computer systems (e.g., computer systems for data analytics).
  • In accordance with the principles of the disclosure herein, Transaction Data (e.g., as received by the end-user from the MREs) may be filtered, for example, to a manageable or relevant size for data analytics on the end-user's computer system (e.g., business intelligence systems) by retaining only the transaction data relationships (with Master Data dimensions or attributes) that may be meaningful for the end-user's data analytics. This filtering of the Transaction Data may involve filtering the transaction data (e.g., file 200), for example, based on filter criteria (e.g., Master Data attributes) which are external to and not a direct part of the transaction data files. The Master Data as noted earlier may include more than one vertically split attribute data files. Thus, filtering of the Transaction Data may involve filtering the transaction data based on the attributes of a Master Data dimension, which attributes may be provided in one file or in different vertically split attribute files.
  • FIG. 3 shows an example system 300 for filtering Transaction Data files, in accordance with the principles of the present disclosure.
  • System 300 may include a computing device 30 (e.g., an application server) coupled to a file system 340 or other source of product Master Data and Transaction Data (e.g., product data files 342, location data files 344, time data files 346 and transaction data files 348). Computing device 30 may include a filter engine 400, a file reader 410, and data mapper 420. File reader 410 may be configured to retrieve or read data files (e.g., product data files 342, location data files 344, time data files 346 and transaction data files 348) from file system 340 for processing by filter engine 400. Filter engine 400 may be configured to filter a data file (e.g., transaction data file 440) according to filter conditions or criteria (which may be user-defined filter conditions or criteria entered on computing device 30, for example, as a transaction data query via a user interface (UI) 36). The filtered data file output (450) of filter engine 400 may be output to a receiving database or computer system (e.g., business intelligence datamart 350) or otherwise made available (e.g., on UI 36) to the user. Computing device 30 may further include a data mapper 420 configured to prepare or format the filtered data file output 450 of filter engine 400 to be compatible, for example, with the data structure of the receiving database or computer system (e.g., business intelligence datamart 350).
  • In system 300, filter engine 400 and other system components (e.g., file system 410, business intelligence datamart 350, etc.) may be hosted on one or more standalone or networked physical or virtual computing machines. FIG. 3 shows, for example, filter engine 400 hosted on computing device 30 (e.g., a desktop computer, a mainframe computer, an application server, a personal computer, a mobile computing device, a laptop, a tablet, or a smart phone), which may be available to a user. Computing device 30, which includes an O/S 31, a CPU 32, a memory 33, and I/O 34, may further include or be coupled to user interface 36.
  • Although computing device 30 is illustrated in the example of FIG. 3 as a single computer, it may be understood that computing device 30 may represent two or more computers in communication with one another. Therefore, it will also be appreciated that any two or more components of system 300 may similarly be executed using some or all of the two or more computing devices in communication with one another. Conversely, it also may be appreciated that various components illustrated as being external to computing device may actually be implemented therewith.
  • FIG. 4 shows an example schema of the processes of system 300/filtering engine 400 for filtering Transaction Data (e.g., transaction data file 440) using filter criteria involving Master Data dimensions and attributes, in accordance with the principles of the disclosure herein.
  • Filtering engine 400 may, for example, include several process modules (e.g., process modules 401, 402, 403 a-403 c, and 404) to process transaction data files (e.g., transaction data file 440) and the Master Data. Module 401 may include processes to determine if there are any active defined filter conditions (e.g., based on Product, Location and/or Time dimensions in the master data files) and accordingly create filter objects based on the defined filter conditions. Filtering engine 400 may create a query to be applied to the transaction data file 440 to generate filtered transaction data 450 using the filter objects. For this purpose, filtering engine 400 may further include a simulator/extractor module 402 that includes processes to determine, for example, based on metadata associated with the Master Data files, whether the Master Data files include vertically split files. Simulator/extractor module 402 may be configured to read, in a simulate mode, all the market data files (including vertically split files) related to the filter objects (e.g., Product, Location and/or Time dimensions). System 300/filtering engine 400 may include modules 403 a, 403 b, and 403 c that may include processes to read, for example, product, location and time dimension files, respectively. Filtering engine 400 may apply the relevant filter objects or conditions to each dimension file (including vertically split attribute files) to identify the data record keys in each dimension file which pass or satisfy the filter conditions. Module 404 may include processes to collect a list of the so-identified “passing” keys which pass or satisfy the filter conditions. Module 404 may use the passing keys to create a filter (e.g., filter 405) to apply the transaction data query to the transaction data file 440 to generate filtered transaction data file 450.
  • It is noted that filter engine 400 may provide an end-user with the ability to filter the data present in transaction data file 440 based on attributes, which are not directly part of the transaction data file, but which may be part of other files (e.g., master data files that may be vertically split by data dimension and/or attributes). Filter engine 400 may establish a link between the other files, form a complex filter condition (which is shown in FIG. 4, schematically, for example, as filter 450) and apply the complex filter condition to the data present in transaction data file 440.
  • As an example of the use of system 300/filter engine 400 to filter transaction data files (with reference to master data files 101-106, FIG. 1), example transaction data queries or filter conditions may be based on Product, Location and Time dimension attributes. An example user-defined filter condition or query (e.g. based on the Product, Location and Time data dimensions and attributes in files 101-106) may be: Filter transaction data for which Product Brand=SLC, Product Level=L_001, Product Subcategory=Blueberry, Location Level=001, Location Category=Store, and Time=W200933. As noted earlier system 300/filter engine 400 may, for example, allow an end-user to define transaction data queries or filter conditions (via user interface 36) to configure filter engine 400 to filter transaction data. FIG. 5 shows an example filtered transaction data file 500, which may be obtained by using filter engine 400 configured to filter transaction data file 200 (FIG. 2) according to the foregoing user-defined filter condition or query based on the Product, Location and Time dimension attributes.
  • As another example of the use of system 300/filter engine 400 to filter transaction data files, FIG. 6 shows, for purposes of illustration, two example vertically split product dimension files (e.g., file 601 and file 602) and an example transaction data file 602. File 601 may, for example, contain data records for product dimension attributes (Product key, Brand and Color) and file 602 may contain data records for product dimension attributes (Product key and Weight). It will be understood that files 601-603 are referred to herein only as an example to illustrate an ability of filter engine 400 to construct a complex filter condition, which is defined using product attributes (e.g., Brand, Color, and Weight) distributed across vertically split master data files (e.g., file 601 and file 602) to filter transaction data (e.g., file 603).
  • As previously noted filter engine 400 provides an end-user the ability to filter the transaction data file (e.g., file 603) based on product attributes, which are not directly part of the transaction data file (e.g., file 603). In an example implementation, filter engine 400 may process the attribute data records available in the vertically split master data files (e.g., file 601 and file 602) to identify product keys of the attribute data records which pass or satisfy the user-defined filter criteria, and then use the identified product keys from file 601 and file 602 to filter transaction data file 603.
  • An example user-defined query or filter condition 604, which may be based on product attributes in files 601 and 602, may be may be written using mathematical operators (e.g., “OR,” “AND,” and “EQ,” etc.) as:
  • (BRAND EQ ‘ADIUM’ AND COLOR EQ ‘PURPLE’ AND WEIGHT EQ ‘150 g’) OR (PROD KEY EQ PROD3′).
  • The foregoing user-defined query or filter condition 604 may be viewed as consisting of two groups of attribute conditions i.e. Group 1=(BRAND EQ ‘ADIUM’ AND COLOR EQ ‘PURPLE’ AND WEIGHT EQ ‘150 g’) and Group 2=(PROD KEY EQ PROD3′). For purposes of illustration, query or filter condition 604 may be parsed as shown, for example, in TABLE I.
  • TABLE I
    Group Sequence Field
    No No (Attribute) OP Value
    1 1 BRAND EQ ADIUM
    1 2 COLOR EQ PURPLE
    1 3 WEIGHT EQ 150 g
    2 1 PROD KEY EQ PROD3
  • In TABLE 1, Group 1 and Group 2 may refer to the alternate attribute conditions (BRAND EQ ‘ADIUM’ AND COLOR EQ ‘PURPLE’ AND WEIGHT EQ ‘150 g’) and (PROD KEY EQ PROD3′) that respectively precede and succeed the “OR” operator in the foregoing example user-defined filter condition 604. Further, sequence Nos. 1, 2, and 3 may refer to a sequence of attribute conditions BRAND EQ ‘ADIUM’, COLOR EQ ‘PURPLE,’ and WEIGHT EQ ‘150 g’, within Group 1.
  • To apply the foregoing example user-defined filter condition 604, filter engine 400 may be configured to count the number of distinct attribute conditions (“group counts”) in each of Group 1 and Group 2, with the following results: group count for Group 1=3 (corresponding to the three attribute conditions BRAND EQ ‘ADIUM’, COLOR EQ ‘PURPLE,’ and WEIGHT EQ ‘150 g’ in Group 1) and group count for Group 2=1 (corresponding to the one attribute condition PROD KEY EQ PROD3′ in Group 2). The group counts may be used by filter engine 400 to determine whether all of the partial filter criteria (e.g., distinct attribute conditions in each of Group 1 and Group 2) have been applied to different files (e.g., files 601 and 602) by the end of the filtering process by keeping track of group counts applied during the filtering process.
  • After generating the group counts for the attribute conditions in each of Group 1 and Group 2, filter engine 400 may apply filter condition 604 to vertically split product attribute files (e.g., files 601 and 602), turn-by-turn, and determine effective group counts for each of Group 1 and Group 2 for the files according to the numbers of attribute conditions (e.g., (BRAND EQ ‘ADIUM’, COLOR EQ ‘PURPLE,’ WEIGHT EQ ‘150 g’) or (PROD KEY EQ PROD3′)) in the group that may possibly match attribute data records in the files. For example, since file 601 contains only data records for two attributes (e.g., Brand and Color) but not the Weight attribute for each product key attribute (i.e. the condition WEIGHT EQ ‘150 g’ does not apply to file 601), the effective group counts for Group 1 (BRAND EQ ‘ADIUM’, and COLOR EQ ‘PURPLE’) and Group 2 (PROD KEY EQ PROD3′) may be determined as being equal to 2 and 1 (for file 601), respectively. Similarly, since file 602 contains only data records including data for only the Weight attribute and PROD KEY attribute, filter engine 400 may determine the effective group counts for Group 1 (WEIGHT EQ ‘150 g’) and Group 2 (PROD KEY EQ PROD3′) as being equal to 1 and 1 (for file 602), respectively.
  • Next, filter engine 400 may be configured to process file 601 to determine which product key (PROD KEY) data records in file 601 can pass the attribute conditions of filter condition 604. Filter engine 400 may, for example, determine after reading file 601, that of the data records for the three PROD KEY values (e.g., PROD1, PROD2, AND PROD3) listed in file 601 only the data records for PROD1 and PROD2 may pass the two effective Group 1 conditions (i.e. BRAND EQ ‘ADIUM’ and COLOR EQ PURPLE,′) and only the data records for one PROD KEY value (i.e. PROD3) may pass the one effective Group 2 condition (i.e. PROD KEY EQ PROD3′). This determination of which product keys pass the attribute conditions of filter condition 604 may be summarized as shown, for example, in TABLE 2 below.
  • TABLE 2
    (File 601 Keys passing attribute conditions)
    Group Effective Group
    Key No Count Is_intial_group_count_reached?
    PROD1 1 2 FALSE (<3)
    PROD2 1 2 FALSE (<3)
    PROD3 2 1 TRUE (=1)
  • Filter engine 400 may then process the next vertically split product attributes file (e.g., file 602) in a similar manner to determine which product keys (PROD KEY data records) in file 602 can pass the attribute conditions of filter condition 604. Filter engine 400 may, for example, determine after reading file 602, that data records in file 602 for one PROD KEY value (i.e., PROD1) can pass the one effective Group 1 condition (WEIGHT EQ ‘150 g’), and one PROD KEY value (i.e. PROD3) can pass the one effective Group 2 condition (PROD KEY EQ PROD3′) of filter condition 604. This determination of which keys pass the attribute conditions of filter condition 604 may be summarized as shown, for example, in TABLE 3 below.
  • TABLE 3
    (File 602 Keys passing attribute conditions)
    Group Effective Group
    Key No Count Is_initial_group_count_reached?
    PROD1 1 1 FALSE (<3)
    PROD3 2 1 TRUE (=1)
  • The determinations (e.g., TABLES 2 and 3) by filter engine 400 of which product keys in files 601 and 602 pass filter condition 604 may be combined (since the attribute conditions of filter 604 in each of Group 1 or Group 2 are cumulative) as shown, for example, in TABLE 4 below.
  • TABLE 4
    (File 601 and File 602 keys passing filter condition)
    Key Group no Group Count Is_intial_group_count_reached?
    PROD1 1 3 TRUE
    PROD3 2 2 TRUE
  • Filter engine 400 may then select product keys PROD1 and PROD 3 for which the data records in both files 601 and 602 pass or satisfy the attribute conditions (in Group 1 and Group 2 of filter condition 604) to filter transaction data file 603. The “passing” data records may be distributed across vertically split files 601 and 602. Filter engine 400 may include algorithms to confirm that the selected product keys have reached the initial group counts, as shown in TABLE 4. Such confirmation may ensure that the selected product keys correspond to attribute data records that pass or satisfy all of the attribute conditions contained in filter condition 604 even though the attribute data records are split or distributed across vertically split files 601 and 602. FIG. 7 illustrates an example output 700 of filter engine 400 using product keys PROD1 and PROD 3 to filter transaction data file 603.
  • FIGS. 8 and 9 show example methods 800 and 900, respectively, for filtering a transaction data file (e.g., in a retailing industry scenario) based on multi attribute and multi-dimensional master product data, which may be available in vertically split data files, in accordance with the principles of the present disclosure.
  • The multi attribute and multi-dimensional product data (which may be related to product characteristics) may, for example, be stored in one or more file systems or databases. The multi attribute and multi-dimensional product data may include separate master data files for each product data dimension (e.g., for Product, Location, and Time data dimensions, etc.). Further, a master data file for any dimension (e.g., Product dimension) may include vertically split attribute data files for that dimension. Individual data records in the transaction data file and in the various vertically split attribute data files may, for example, be indexed, identified or associated with keys or identifiers (e.g., Product Keys). A full attribute data record (i.e. a data record with fields for a full set of attributes of a data dimension) may be split and present across the various vertically split attribute data files as smaller length data records with data for non-overlapping sub-sets of the full set of attributes of a data dimension.
  • Methods 800 and 900 may be used to apply a query or filter to extract a smaller number of data records from the transaction data file, based on attribute data that is included in the various vertically split attribute data files. The query or filter (e.g., filter condition 604, FIG. 6), which may be a user-defined query, may include one or more of alternate groups of attribute conditions (i.e. conditions or requirements on the attribute field values in the data records of the vertically split attribute data files). The attribute conditions may be expressed using mathematics or logic terminology (e.g., “=”, “>”, “<”, True, False, etc.),
  • Methods 800 and 900 may involve using a filter engine hosted on one or more computers to process the vertically split attribute data files. The filter engine may identify the keys associated with attribute data records in the vertically split attribute data files that can satisfy one or more of alternate groups of attribute conditions in the query or filter. The filter engine may then use the so-identified keys to filter the transaction data file.
  • In an example implementation, method 800 may involve receiving a user-defined query or filter condition including one or more groups of attribute conditions for filtering a transaction data file (801). Method 800 may further involve converting or mapping attribute fieldnames used in the user-defined query or filter condition to equivalent or standardized attribute fieldnames (e.g., column names) that may be used in the master data and/or transaction data files (802). For example, fieldname “Prod Key,” which may be used in user-defined filter condition 604, may be mapped to equivalent or standardized fieldnames “Key”, “Product Key” or “Product ID” that may be used in the data files. Method 800 may also include determining initial group counts of the numbers of attribute conditions included in the one or more alternate groups of attribute conditions in the user-defined query or filter condition (803) prior to processing the vertically split attribute data files.
  • Method 800 may involve processing the vertically split attribute data files for a product dimension, one file at a time, to determine which data records in a vertically split data file satisfy the attribute conditions in the user-defined query, group-by-group (804). The vertically split data file may be a file that has a changed format or data structure compared to a previously processed vertically split data file. Processing the vertically split attribute data files 804 may include preparing the changed vertically split data file for filtering by determining attribute criteria from file column data, determining hierarchy criteria from the file column data, building a hierarchy query and building a regular expression query (“regex query”) based on the structure of data records in the changed file (805).
  • Processing the vertically split attribute data files 804 may further include filtering the vertically split data file (e.g., an unchanged file or a changed file prepared at 805) to determine which data records satisfy one or more of the alternate groups of attribute conditions in the query (806), and for each group of attribute conditions in the query, identifying “passing” keys associated with the data records that satisfy the group attribute conditions and also “rejected” keys associated with the data records that do not satisfy the group attribute conditions (807).
  • In method 800, processing the vertically split attribute data files 804 may further include identifying the passing keys for which the initial group counts (determined at 803) have been reached (808).
  • After determining which data records in the vertically split data files satisfy the attribute conditions in the user-defined query 804, method 800 may include using the passing keys for which the initial group counts have been reached to filter the transaction data file (809).
  • Method 800 may further include using the filtered transaction data file for data analytics, and based on the results of the data analytics modifying marketing campaigns, modifying assortment, merchandising or distribution of the products, and modifying operations in designing, making or distributing the products (810).
  • Like method 800, method 900 may be used for filtering a product transaction data file. Method 900 may involve receiving, by a computer, a query including one or more alternate groups of attribute conditions for filtering the product transaction data file, the attribute conditions being applicable to product attribute data records split or present across a set of vertically split attribute data files (910). Method 900 may further involve determining which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query (920), identifying keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query (930) and using the identified keys to filter product data records in the transaction data file (940).
  • Determining which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query may include initializing group counts of the attribute conditions in the one or more groups of attribute conditions in the query.
  • In method 900, determining which of the product attribute data records split or present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query may include processing the set of vertically split attribute data files one file at a time, and when a product attribute data record in a current file satisfies a number of attribute conditions in a group of attribute conditions in the query, increasing an effective group count for the key associated with the product attribute data record in the current file by a count equal to the number of attribute conditions satisfied.
  • Identifying keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query may include confirming that effective group count ascribed to an identified key, after processing all of the set of vertically split attribute data files, equals an initial group count of the attribute conditions in at least one group of attribute conditions in the query.
  • Further, in method 900, determining which of the product attribute data records split or present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query includes filtering the current file using the at least one group of attribute conditions. Filtering the current file using the at least one group of attribute conditions may include determining attribute criteria form file column data, determining hierarchy criteria from file column data, building a hierarchy query and building a regular expression query to filter the current file.
  • The various systems and techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, or in combinations of them. The various techniques may implemented as a computer program product, i.e., a computer program tangibly embodied in a machine readable storage device, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
  • Method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
  • Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magnetooptical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magnetooptical disks; and CDROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in special purpose logic circuitry.
  • To provide for interaction with a user, implementations may be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
  • Implementations may be implemented in a computing system that includes a backend component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a frontend component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation, or any combination of such backend, middleware, or frontend components. Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
  • While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the scope of the embodiments.

Claims (20)

What is claimed is:
1. A method for filtering a product transaction data file, the method comprising:
receiving, by a computer, a query including one or more alternate groups of attribute conditions for filtering the product transaction data file, the attribute conditions being applicable to product attribute data records present across a set of vertically split attribute data files;
determining which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query;
identifying keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query; and
using the identified keys to filter product data records in the transaction data file.
2. The method of claim 1, wherein determining which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query includes initializing group counts of the attribute conditions in the one or more groups of attribute conditions in the query.
3. The method of claim 1, wherein determining which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query includes processing the set of vertically split attribute data files one file at a time, and when a product attribute data record in a current file satisfies a number of attribute conditions in a group of attribute conditions in the query, increasing an effective group count for the key associated with the product attribute data record in the current file by a count equal to the number of attribute conditions satisfied.
4. The method of claim 3, wherein identifying keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query includes confirming that effective group count ascribed to an identified key, after processing all of the set of vertically split attribute data files, equals an initial group count of the attribute conditions in at least one group of attribute conditions in the query.
5. The method of claim 3, wherein determining which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query includes filtering the current file using the at least one group of attribute conditions.
6. The method of claim 5, wherein filtering the current file using the at least one group of attribute conditions includes determining attribute criteria form file column data, determining hierarchy criteria from file column data, building a hierarchy query and building a regular expression query to filter the current file.
7. The method of claim 1, further comprising, mapping attribute field names used in the query to equivalent attribute field names used in the set of vertically split attribute data files and/or transaction data file.
8. A system for filtering a product transaction data file, the system comprising a memory and a semiconductor-based processor, the memory and the processor forming one or more logic circuits configured to:
receive a query including one or more alternate groups of attribute conditions for filtering the product transaction data file, the attribute conditions being applicable to product attribute data records present across a set of vertically split attribute data files;
determine which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query;
identify keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query; and
use the identified keys to filter product data records in the transaction data file.
9. The system of claim 8, wherein one or more logic circuits are configured initialize group counts of the attribute conditions in the one or more groups of attribute conditions in the query.
10. The system of claim 8, wherein the logic circuits are configured to determine which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query by processing the set of vertically split attribute data files one file at a time, and when a product attribute data record in a current file satisfies a number of attribute conditions in a group of attribute conditions in the query, increase an effective group count for the key associated with the product attribute data record in the current file by a count equal to the number of attribute conditions satisfied.
11. The system of claim 10, wherein the logic circuits are configured to identify keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query by confirming that effective group count ascribed to an identified key, after processing all of the set of vertically split attribute data files, equals an initial group count of the attribute conditions in at least one group of attribute conditions in the query.
12. The system of claim 10, wherein the logic circuits are further configured to determine which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query by filtering the current file using the at least one group of attribute conditions.
13. The system of claim 12, wherein the logic circuits are configured to filter the current file using the at least one group of attribute conditions by determining attribute criteria from file column data, determining hierarchy criteria from file column data, building a hierarchy query and building a regular expression query to filter the current file.
14. The system of claim 8, wherein the logic circuits are configured to map attribute field names used in the query to equivalent attribute field names used in the set of vertically split attribute data files and/or transaction data file.
15. A non-transitory computer readable storage medium having instructions stored thereon, including instructions which, when executed by a microprocessor, cause a computer system to:
receive a query including one or more alternate groups of attribute conditions for filtering the product transaction data file, the attribute conditions being applicable to product attribute data records present across a set of vertically split attribute data files;
determine which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query;
identify keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query; and
use the identified keys to filter product data records in the transaction data file.
16. The non-transitory computer readable storage medium of claim 15, wherein instructions stored thereon include instructions, which when executed cause the computer system to initialize group counts of the attribute conditions in the one or more groups of attribute conditions in the query.
17. The non-transitory computer readable storage medium of claim 15, wherein instructions stored thereon include instructions, which when executed cause the computer system to determine which of the product attribute data records split across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query by processing the set of vertically split attribute data files one file at a time, and when a product attribute data record in a current file satisfies a number of attribute conditions in a group of attribute conditions in the query, increase an effective group count for the key associated with the product attribute data record in the current file by a count equal to the number of attribute conditions satisfied.
18. The non-transitory computer readable storage medium of claim 17, wherein the instructions stored thereon include instructions, which when executed cause the computer system to identify keys associated with the product attribute data records that satisfy at least one group of attribute conditions in the query by confirming that effective group count ascribed to an identified key, after processing all of the set of vertically split attribute data files, equals an initial group count of the attribute conditions in at least one group of attribute conditions in the query.
19. The non-transitory computer readable storage medium of claim 17, wherein the instructions stored thereon include instructions, which when executed cause the computer system to determine which of the product attribute data records present across the set of vertically split attribute data files satisfy at least one group of attribute conditions in the query by filtering the current file using the at least one group of attribute conditions.
20. The non-transitory computer readable storage medium of claim 19, wherein the instructions stored thereon include instructions, which when executed cause the computer system to filter the current file using the at least one group of attribute conditions by determining attribute criteria from file column data, determining hierarchy criteria from file column data, building a hierarchy query and building a regular expression query to filter the current file.
US14/535,051 2025-08-06 2025-08-06 Data filtering Active 2025-08-06 US10579589B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/535,051 US10579589B2 (en) 2025-08-06 2025-08-06 Data filtering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/535,051 US10579589B2 (en) 2025-08-06 2025-08-06 Data filtering

Publications (2)

Publication Number Publication Date
US20160132496A1 true US20160132496A1 (en) 2025-08-06
US10579589B2 US10579589B2 (en) 2025-08-06

Family

ID=55912350

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/535,051 Active 2025-08-06 US10579589B2 (en) 2025-08-06 2025-08-06 Data filtering

Country Status (1)

Country Link
US (1) US10579589B2 (en)

Cited By (8)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20160110398A1 (en) * 2025-08-06 2025-08-06 Unmesh Gandhi Runtime Generation of a Mapping Table for Uploading Data into Structured Data Marts
CN107908628A (en) * 2025-08-06 2025-08-06 上海壹账通金融科技有限公司 Electronic device, information inquiry control method and computer-readable recording medium
CN108804533A (en) * 2025-08-06 2025-08-06 佛山科学技术学院 A kind of filter method and device of isomery big data information
CN110096504A (en) * 2025-08-06 2025-08-06 北京奇安信科技有限公司 Streaming events feature matching method and device
US10929441B1 (en) * 2025-08-06 2025-08-06 Capital One Services, Llc System and techniques for data record merging
US20210200717A1 (en) * 2025-08-06 2025-08-06 Oath Inc. Generating full metadata from partial distributed metadata
CN113268765A (en) * 2025-08-06 2025-08-06 杭州安恒信息技术股份有限公司 Credential detection method, system, electronic device and storage medium
US20230206333A1 (en) * 2025-08-06 2025-08-06 Damian Ariel Scavo Systems and methods for measurement of data to provide decision support

Families Citing this family (1)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US12210821B2 (en) * 2025-08-06 2025-08-06 Motorola Mobility Llc Manage computational power and display resources of connected devices

Citations (21)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135495A1 (en) * 2025-08-06 2025-08-06 Isc, Inc. Database indexing method and apparatus
US20040015438A1 (en) * 2025-08-06 2025-08-06 First Data Corporation Methods and apparatus for mapping sources and uses of consumer funds
US20040093323A1 (en) * 2025-08-06 2025-08-06 Mark Bluhm Electronic document repository management and access system
US20050097084A1 (en) * 2025-08-06 2025-08-06 Balmin Andrey L. XPath containment for index and materialized view matching
US20060271884A1 (en) * 2025-08-06 2025-08-06 Cogniscape, Llc Methods for defining queries, generating query results and displaying same
US20080052275A1 (en) * 2025-08-06 2025-08-06 Darshan Vishwanath Kantak Structured match in a directory sponsored search system
US20080082514A1 (en) * 2025-08-06 2025-08-06 International Business Machines Corporation Method and apparatus for integrating relational and hierarchical data
US20080162305A1 (en) * 2025-08-06 2025-08-06 Armand Rousso Apparatuses, methods and systems for a product manipulation and modification interface
US20080183458A1 (en) * 2025-08-06 2025-08-06 Gabor Bobok Method, system and program product supporting print events in the simulation of a digital system
US20080263006A1 (en) * 2025-08-06 2025-08-06 Sap Ag Concurrent searching of structured and unstructured data
US20080281820A1 (en) * 2025-08-06 2025-08-06 Sap Ag Schema Matching for Data Migration
US20080288889A1 (en) * 2025-08-06 2025-08-06 Herbert Dennis Hunt Data visualization application
US7512614B2 (en) * 2025-08-06 2025-08-06 International Business Machines Corporation System and method for data ETL in a data warehouse environment
US20110246294A1 (en) * 2025-08-06 2025-08-06 Beet, Inc. System and method for content management and distribution
US20120023116A1 (en) * 2025-08-06 2025-08-06 Oracle International Corporation System and method for conversion of jms message data into database transactions for application to multiple heterogeneous databases
US20120226492A1 (en) * 2025-08-06 2025-08-06 International Business Machines Corporation Information processing apparatus, natural language analysis method, program and recording medium
US20120323846A1 (en) * 2025-08-06 2025-08-06 Alibaba Group Holding Limited Sending Category Information
US20130060662A1 (en) * 2025-08-06 2025-08-06 Google Inc. Identifying product variants
US20130159324A1 (en) * 2025-08-06 2025-08-06 Sap Ag Multi-Source Multi-Step Search in Enterprise Software Systems
US20150363414A1 (en) * 2025-08-06 2025-08-06 International Business Machines Corporation Processing large xml files by splitting and hierarchical ordering
US20160078398A1 (en) * 2025-08-06 2025-08-06 The Nielsen Company (Us), Llc Methods and apparatus to categorize items

Family Cites Families (1)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US7620642B2 (en) * 2025-08-06 2025-08-06 Sap Ag Mapping data structures

Patent Citations (21)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015438A1 (en) * 2025-08-06 2025-08-06 First Data Corporation Methods and apparatus for mapping sources and uses of consumer funds
US20030135495A1 (en) * 2025-08-06 2025-08-06 Isc, Inc. Database indexing method and apparatus
US20040093323A1 (en) * 2025-08-06 2025-08-06 Mark Bluhm Electronic document repository management and access system
US7512614B2 (en) * 2025-08-06 2025-08-06 International Business Machines Corporation System and method for data ETL in a data warehouse environment
US20050097084A1 (en) * 2025-08-06 2025-08-06 Balmin Andrey L. XPath containment for index and materialized view matching
US20080288889A1 (en) * 2025-08-06 2025-08-06 Herbert Dennis Hunt Data visualization application
US20060271884A1 (en) * 2025-08-06 2025-08-06 Cogniscape, Llc Methods for defining queries, generating query results and displaying same
US20080052275A1 (en) * 2025-08-06 2025-08-06 Darshan Vishwanath Kantak Structured match in a directory sponsored search system
US20080082514A1 (en) * 2025-08-06 2025-08-06 International Business Machines Corporation Method and apparatus for integrating relational and hierarchical data
US20080162305A1 (en) * 2025-08-06 2025-08-06 Armand Rousso Apparatuses, methods and systems for a product manipulation and modification interface
US20080183458A1 (en) * 2025-08-06 2025-08-06 Gabor Bobok Method, system and program product supporting print events in the simulation of a digital system
US20080263006A1 (en) * 2025-08-06 2025-08-06 Sap Ag Concurrent searching of structured and unstructured data
US20080281820A1 (en) * 2025-08-06 2025-08-06 Sap Ag Schema Matching for Data Migration
US20110246294A1 (en) * 2025-08-06 2025-08-06 Beet, Inc. System and method for content management and distribution
US20120023116A1 (en) * 2025-08-06 2025-08-06 Oracle International Corporation System and method for conversion of jms message data into database transactions for application to multiple heterogeneous databases
US20120226492A1 (en) * 2025-08-06 2025-08-06 International Business Machines Corporation Information processing apparatus, natural language analysis method, program and recording medium
US20120323846A1 (en) * 2025-08-06 2025-08-06 Alibaba Group Holding Limited Sending Category Information
US20130060662A1 (en) * 2025-08-06 2025-08-06 Google Inc. Identifying product variants
US20130159324A1 (en) * 2025-08-06 2025-08-06 Sap Ag Multi-Source Multi-Step Search in Enterprise Software Systems
US20150363414A1 (en) * 2025-08-06 2025-08-06 International Business Machines Corporation Processing large xml files by splitting and hierarchical ordering
US20160078398A1 (en) * 2025-08-06 2025-08-06 The Nielsen Company (Us), Llc Methods and apparatus to categorize items

Non-Patent Citations (2)

* Cited by examiner, ? Cited by third party
Title
B. Houser, "Hierarchical Queries with DB2 Connect By, A new method for recursively processing data relationships", 2011, IBM. *
Chang et al. "Mining the World Wide Web - An Information Search Approach", 2001, Springer Science + Media, pages 130-135. *

Cited By (9)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20160110398A1 (en) * 2025-08-06 2025-08-06 Unmesh Gandhi Runtime Generation of a Mapping Table for Uploading Data into Structured Data Marts
US9898493B2 (en) * 2025-08-06 2025-08-06 Sap Se Runtime generation of a mapping table for uploading data into structured data marts
CN107908628A (en) * 2025-08-06 2025-08-06 上海壹账通金融科技有限公司 Electronic device, information inquiry control method and computer-readable recording medium
CN108804533A (en) * 2025-08-06 2025-08-06 佛山科学技术学院 A kind of filter method and device of isomery big data information
CN110096504A (en) * 2025-08-06 2025-08-06 北京奇安信科技有限公司 Streaming events feature matching method and device
US20230206333A1 (en) * 2025-08-06 2025-08-06 Damian Ariel Scavo Systems and methods for measurement of data to provide decision support
US20210200717A1 (en) * 2025-08-06 2025-08-06 Oath Inc. Generating full metadata from partial distributed metadata
US10929441B1 (en) * 2025-08-06 2025-08-06 Capital One Services, Llc System and techniques for data record merging
CN113268765A (en) * 2025-08-06 2025-08-06 杭州安恒信息技术股份有限公司 Credential detection method, system, electronic device and storage medium

Also Published As

Publication number Publication date
US10579589B2 (en) 2025-08-06

Similar Documents

Publication Publication Date Title
US10579589B2 (en) Data filtering
US10521446B2 (en) System and method for dynamically refactoring business data objects
US8983895B2 (en) Representation of multiplicities for Docflow reporting
US20190164176A1 (en) Systems and methods for processing transaction data
US20220245103A1 (en) Maintaining a dataset based on periodic cleansing of raw source data
CN112182071B (en) Data association relation mining method and device, electronic equipment and storage medium
US10467636B2 (en) Implementing retail customer analytics data model in a distributed computing environment
US10318546B2 (en) System and method for test data management
CN105051729A (en) Data records selection
US20200160121A1 (en) Systems and method for scoring entities and networks in a knowledge graph
US9639596B2 (en) Processing data in a data warehouse
US10891258B2 (en) Systems and methods for de-normalized data structure files based generation of intelligence reports
US10210585B2 (en) Systems and methods for use in compressing data structures
US20160246705A1 (en) Data fabrication based on test requirements
US10691663B2 (en) Database table copy
US20160232541A1 (en) Using source data to predict and detect software deployment and shelfware
US20200175530A1 (en) Pathing and attribution in marketing analytics
US20230004560A1 (en) Systems and methods for monitoring user-defined metrics
US7992126B2 (en) Apparatus and method for quantitatively measuring the balance within a balanced scorecard
US11170046B2 (en) Network node consolidation
US20160203501A1 (en) Systems and methods for merchant business intelligence tools
US20150302429A1 (en) Report generation system and method
US20160154797A1 (en) Keyword Frequency Analysis System
CN114596147A (en) Data reconciliation method and device, computer equipment and storage medium
US10949410B2 (en) Multi-threaded data analytics

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAP SE, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GANDHI, UNMESH;TOTES, IVES;PHAN, SEBASTIEN;AND OTHERS;REEL/FRAME:035050/0346

Effective date: 20141106

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

脸皮最厚是什么生肖 牛属相和什么属相配 怎么知道自己什么血型 阿甘正传珍妮得了什么病 舌头红是什么原因
人流是什么 长期低烧是什么原因 骞是什么意思 什么菜炒肉好吃 狮子座是什么象星座
苹果越狱是什么意思啊 瑶五行属性是什么 儿童鸡胸挂什么科 什么药可以催月经来 猫为什么吃老鼠
七月六号是什么星座 马车标志是什么品牌 扳机是什么意思 戏是什么意思 什么东西可以去口臭呀
酸菜鱼一般用什么鱼hcv7jop9ns5r.cn 什么是跨性别者hcv8jop8ns2r.cn 对食什么意思hcv8jop7ns4r.cn 伪军是什么意思hcv8jop8ns3r.cn 矬是什么意思hcv9jop7ns5r.cn
按摩脸部有什么好处xianpinbao.com 什么动物吃猫hcv9jop0ns6r.cn 121什么意思hcv9jop2ns7r.cn 想什么来什么是什么定律hcv9jop2ns3r.cn 什么水果是碱性的sscsqa.com
小囊性灶是什么意思yanzhenzixun.com 桃子不能跟什么一起吃hcv9jop3ns6r.cn 肝胃不和吃什么药hcv8jop7ns2r.cn 嗓子不舒服挂什么科hcv8jop6ns5r.cn 主任科员是什么级别zhongyiyatai.com
胃食管反流咳嗽吃什么药hcv9jop6ns4r.cn 宫颈lsil是什么意思hcv9jop6ns7r.cn 什么字五行属金hcv9jop5ns8r.cn vk是什么hcv9jop4ns4r.cn 什么原因造成高血压xjhesheng.com
百度