虚拟表的使用

电商业务中出现一个场景跟一般业务场景不同,比如一个商品类,普通业务场景下可能对应的是数据库里一个表,各个字段映射了商品类的各个属性,但是商品存在规格属性动态变化的问题,实际上就是相当于要求普通表的字段可能动态变化,这时候两种方案:

一,预留字段,但是受预留字段限制,灵活性不高;

二,虚拟表,使用A表(Attrbutes)存储 P表(Product)的属性,可以从A表中查询到的属性进行列转行操作变成P表的行对象动态组成B表的结构。这种表设计方式使用场景在电商项目中使用较多。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Qlik 中,创建虚拟可以使用“连接”操作来实现。以下是一个简单的示例,说明如何创建一个包含所有月份的虚拟: 1. 在 Qlik 中,打开脚本编辑器。 2. 创建一个包含所有月份的格。可以使用以下脚本: ``` TempCalendar: LOAD Date(monthstart(Date#('01/'&IterNo(),'MM/DD/YYYY'))) as Date, month(Date(monthstart(Date#('01/'&IterNo(),'MM/DD/YYYY')))) as Month, year(Date(monthstart(Date#('01/'&IterNo(),'MM/DD/YYYY')))) as Year, 'Q' & Ceil(month(Date(monthstart(Date#('01/'&IterNo(),'MM/DD/YYYY'))))) / 3 as Quarter, Week(Date#('01/'&IterNo()&'/2000','MM/DD/YYYY')) as Week, Date(monthstart(Date#('01/'&IterNo()&'/2000','MM/DD/YYYY')),'YYYYMM') as YearMonth, AutoNumber(Date(monthstart(Date#('01/'&IterNo()&'/2000','MM/DD/YYYY'))),'YYYYMM') as YearMonthID While IterNo()<=12 ``` 该脚本将创建一个包含月份、季度、年份、周等信息的格。 3. 将该格加载到 Qlik 中: ``` Calendar: LOAD Date, Month, Year, Quarter, Week, YearMonth, YearMonthID Resident TempCalendar Order By Date ASC; ``` 该脚本将 TempCalendar 中的数据加载到名为 Calendar 的中,并按日期升序排序。 4. 将 Calendar 与实际数据进行关联。可以使用以下脚本: ``` Data: LOAD Date, Value FROM [DataFile.xlsx] (ooxml, embedded labels, table is Sheet1); Left Join (Data) LOAD Date, Month, Year, Quarter, Week, YearMonth, YearMonthID Resident Calendar; ``` 该脚本将从名为 DataFile.xlsx 的文件中加载实际数据,并将其与 Calendar 进行左连接。这将确保所有月份都包含在结果中。 希望这个示例能够帮助你创建虚拟
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值