IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 当商品跨多个分类时,如何精确统计总销售额? -> 正文阅读

[人工智能]当商品跨多个分类时,如何精确统计总销售额?

Kyligence MDX 支持创建层级结构。层级结构是基于维度的级别集合,可以显著提升数据分析人员的分析能力。此外,Kyligence MDX 还支持对指定的层级指定权重,方便您自定义成员值的汇总方式。本篇博客我们以一家虚拟的餐饮公司?Curly's 为例,查看当同一件商品分别存在于不同的商品分类时,如何通过 Kyligence MDX 的自定义上卷实现去重。

业务场景介绍

首先我们来看下 Curly's 公司的主营业务。Curly's 是一家快速增长中的中型餐饮公司,在全国有十多家门店,提供优质低价的快餐食品,其中精品冰淇淋、咖啡、炸鸡等更是广受好评。为了更方便不同消费群体的消费需求,他们在点单系统将产品进行了非常友好的分类,比如有专门针对朋友聚会的 Party Specials 分类。很显然,分类对用户友好的同时,也给后台分析系统造成了一定的困扰,如下所示,“鸡翅”和“鸡块”同时位于“炸鸡”和“小食”分类之下;即某一个维度值存在上一级的共享维度,这就意味着当该层级结构和事实表进行连接的时候,会造成“鸡翅”和“鸡块”的事实表数据出现重复。

CategoryProductPID
炸鸡鸡肉卷P001
鸡腿P002
鸡翅P003
鸡块P004
鸡米花P005
小食蛋挞P006
鸡翅P003
鸡块P004
薯条P007
冰激凌P008

比如在上表中,如果单纯把销售金额加总,那鸡块和鸡翅的销售金额必然会被重复计算。为解决此类问题,Kyligence MDX 引入了自定义上卷功能,比如在本例中,我们将对“鸡翅”和“鸡块”相对其上级层级设置一个权重,例如:从业务的视角,认为“鸡翅”对“炸鸡”和“小食”分类的贡献相同,因此“鸡翅”在“炸鸡”上的权重值设为 0.5,在“小食”上的权重也设为 0.5,因此鸡翅和鸡块在各分类下的计算公式如下:

总数量 = 实际销售量 * 分类权重 * 产品权重

假设鸡翅的销售量为 100 件,

那它在炸鸡分类的计算销售量就是 :100 * 0.5 * 1 = 50 (件)

它在小食分类的计算销售量也是 :100 * 0.5 * 1 = 50 (件)

具体实现如下表所示:

CategoryC_WeightProductP_WeightPIDPiece_Sold
炸鸡1鸡肉卷1P001100
炸鸡1鸡腿1P002100
炸鸡0.5鸡翅1P003100*0.5 = 50
炸鸡0.5鸡块1P004100*0.5 = 50
炸鸡1鸡米花1P005100
小食1蛋挞1P006100
小食0.5鸡翅1P003100*0.5 = 50
小食0.5鸡块1P004100*0.5 = 50
小食1薯条1P007100
小食1冰激凌1P008100

操作环境

  • Kyligence Test drive:推荐前往 Kyligence 英文官网进行注册, 一站式体验模型和数据集相关操作。账号注册及相关操作,可以参考 Kyligence 快速上手指南。每次启动 Test Drive 环境有两小时的操作时长限制,请注意时间控制。

  • Excel: 2007 及以上版本(Window 环境)

  • 数据集:本案例中用的事实表和维度表如下,请保存为 .csv 文件方便后续上传。

事实表:FACT_CATEGORY_PRODUCT

TRANSID

TRANSDATEKEYPIDPiece_SoldPRICEAMOUNT
120210202P0033927
120210202P00721224
120210202P00841040
120210202P004188
120210202P00151575
120210202P0053618
220210202P00741248
220210202P00851050
220210202P0048864
320210203P0033927
420210203P00761272
520210203P00871070
620210203P0045840
720210202P00711212
820210203P00831030
920210203P00721224
1020210203P00861060

维度表 DIM_CATEGORY_PRODUCT

CategoryCWeightPRODNAMEPIDPWeight
炸鸡1鸡肉卷P0011
炸鸡1鸡腿P0021
炸鸡1鸡翅P0031
炸鸡1鸡块P0041
炸鸡1鸡米花P0051
小食1蛋挞P0061
小食1鸡翅P0030
小食1鸡块P0040
小食1薯条P0071
小食1冰激凌P0081

操作步骤:

数据准备

1. 在试用页面,点击开始新的试用。系统将跳转至在线试用环境界面,点击开始。系统将开始准备您的试用环境,预计将在 15 分钟内准备完毕。当试用环境准备就绪,我们会向您发送通知邮件,您可以点击试用页面或邮件中的按钮(链接)开始试用。

2. 我们接下来将开始数据源的准备,点击数据源下的管理

3. 点击创建表,选择上传 CSV,我们将针对本项目创建一个新的数据库,并命名为 MDX_ROLLUP,同时输入表名,点击下一步,在随后的页面中点击提交,至此,我们完成了第一张表的上传。重复这一步骤,完成第二张表的上传,唯一的不同是我们这次将选择已经创建好的 MDX_ROLLUP 数据集。

4.?创建表之后,我们需要继续进行表的加载,点击数据源 > 加载表,点击选择 MDX_ROLLUP,点击提交。系统将返回数据加载成功,至此,我们完成了数据准备工作。

创建模型

由于表关系较为简单,我们只需在 Kyligence 中定义表的关联关系即可,无需通过 SQL 建

1. 点击 模型 > + 模型,输入模型名称 MDX_ROLLUP,点击提交

2. 系统跳转到模型页,在左侧的数据源中选中事实表,将其拖拽至右侧画布中,并将其定义为事实表,再次拖拽维度表到画布中。通过 PID (产品 ID)列定义两表的关联关系。

?3.?接下来,点击画布右上角的维度窗口添加维度,我们这里将增加事实表和维度表中的所有列为维度,点击提交

4. 接下来我们将增加度量,通过事实表中的 AMOUNT 列计算总的销售额,点击右侧的度量窗口,点击?号,在弹出的添加度量对话框中,选择 SUM (column) 函数,并选中事实表中的 AMOUNT 列,输入一个业务友好的度量名称,点击提交。?

?5.?至此,我们完成了表关联关系、维度和度量的添加,点击保存,在随即弹出的保存对话框中选择全量加载,点击提交

6. 系统随即提示模型保存成功,点击查看索引前往索引页面。在索引总览页签,点击勾选全部索引,并点击构建索引,充分发挥 Kyligence 的预计算能力加速查询。

?至此我们已经完成模型的创建,接下来我们将点击左侧导航窗口的连接 BI,进行 Kyligence MDX 进行数据集的设置。

定义数据集?

?1. 通过 Test drive 账户继续登陆 Kyligence MDX,在左侧导航栏点击数据集,点击创建数据集。输入新数据集名称,例如 MDX_ROLLUP。

2. 定义关系页面,从左侧的模型列表中选择刚刚创建的 MDX_ROLLUP 模型,并将其拖入右侧的画布中,随后点击下一步

3.?在定义语义页签,我们将创建一个新的层级关系来关联模型中的代表产品的维度列和权重列。在维度一栏,点击增加层级按钮,在右侧出现的增加层级结构栏中,输入层级名称,如 Product_Category,在模型/表中,选择我们创建的 MDX_ROLLUP 模型以及维度表 DIM_PRODUCT_CATEGORY,在层级结构中,选择我们的 CATEGORYPRODNAME 列。?

?4. 随即点击层级结构右上角的设置权重,关联我们维度表中的商品、分类列和对应的权重列,点击确定。

5.?接下来的翻译和维度用法可直接点击下一步,最后点击确定,可以看到我们刚刚创建的 MDX_ROLLUP 已经出现在数据集列表中。

至此,我们完成了商品、分类和对应权重的关联,接下来可以前往 excel 进行数据分析。

Excel 分析

1. 回到 Test Drive 的连接 BI 页签,点击 Excel,您可以在弹窗中获取 Excel连接信息。

2.?打开 Excel,选择 数据 -> 获取数据 -> 来自数据库 -> 自 Analysis Services。将服务器地址输入名称栏,输入 Kyligence 账号用户名和密码,点击下一步,即可完成数据集和 Excel 间的连接。

?

如下图所示,勾选 COUNT_ALL,总销售额、Product_Category_Hierarchy,我们就可以在 Excel 中按照商品分类查看各商品的销售额以及总的销售额。

除文中提到的方法外,我们也可以通过 Kyligence 的可计算列实现赋权操作,敬请期待更多相关博客。?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 10:48:33  更:2022-07-03 10:52:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:51:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码