復雜SQL查詢和可視化報表構建


場景介紹AnalyticDB MySQL數據開發流程。
更多AnalyticDB MySQL相關至阿里雲體驗實驗室

簡介

目標是讓雲上數據倉庫用戶及開發者通過簡單的步驟體驗基於AnalyticDB MySQL版和DMS構建雲原生數據倉庫的主要流程,活動將通過實例的開通、結構與數據的初始化、報表的開發、報表可視化等環節,用3個具體的應用場景來體驗AnalyticDB MySQL版在新零售場景下的交互查詢和ETL計算速度,以及通過DMS進行數據倉庫數據報表開發的流程。

場景中提供的數據集是一個零售場景的模擬數據,包括客戶信息、訂單記錄、貨物信息、國家地域信息等內容,數據總量10GB,最大數據表記錄數為5999萬條。

產品簡介

雲原生數據倉庫AnalyticDB MySQL版是一種支持高並發低延時查詢的新一代雲原生數據倉庫,高度兼容MySQL協議以及SQL:2003 語法標准,可以對海量數據進行即時的多維分析透視和業務探索,快速構建企業雲上數據倉庫。查看產品詳情。

數據管理DMS是基於阿里巴巴集團十余年的數據庫服務平台的雲版本,提供免安裝、免運維、即開即用、多種數據庫類型與多種環境統一的web數據庫管理終端;可以為企業用戶快速復制搭建與阿里集團同等安全、高效、規范的數據庫DevOps研發流程、數倉開發解決方案。查看產品詳情。

場景化數據查詢分析

場景化數據查詢分析

地址:https://dms.aliyun.com/
路徑:全部功能-SQLConsole-單庫查詢
場景化SQL腳本如下:

#### 1)統計半年內全球各地區銷售金額構成。0.5秒, 用餅狀圖圖展示。
select
    r_name   //地區
  ,sum(o_totalprice) totalprice     //交易金額
from
  (
    select
      r_name,
      o_totalprice
    from
      customer
      ,orders
	  ,nation
	  ,region
    where
      c_custkey = o_custkey
	  and c_nationkey=n_nationkey
	  and n_regionkey=r_regionkey
    and o_orderdate < date '1993-09-23'  // 謂詞過濾:指定時間
    and o_orderdate > date '1993-03-23'
  ) a
  group by  r_name
  order by r_name ;
  
  
 #### 2)統計某類目商品每天訂單量以及訂單金額,按照日期排序。 1秒。用折現圖展示
select  
    o_orderdate,   //下單日期
	count(distinct o_orderkey), //訂單數
    sum(l_extendedprice*(1-l_discount)) as revenue  //訂單金額 
from  
    customer,orders,lineitem 
where  
    c_mktsegment = 'MACHINERY'     // 謂詞過濾
    and c_custkey = o_custkey  
    and l_orderkey = o_orderkey  
    and o_orderdate < date '1995-03-23'
    and o_orderdate > date '1995-02-23' // 謂詞過濾 指定時間
    and l_shipdate > date '1995-03-23'  
    and l_shipdate < date '1996-03-23'
group by //分組操作   
    o_orderdate //訂單日期   
order by 
    o_orderdate;
    
    
#### 3)統計某個地區零件供貨商收入。1秒,用柱狀圖展示。
select
        n_name,   //地區
        sum(l_extendedprice * (1 - l_discount)) as revenue  //收入 
from
        customer,
        orders,
        lineitem,
        supplier,
        nation,
        region   //六表連接  
where
        c_custkey = o_custkey
        and l_orderkey = o_orderkey
        and l_suppkey = s_suppkey
        and c_nationkey = s_nationkey
        and s_nationkey = n_nationkey
        and n_regionkey = r_regionkey
        and r_name = 'EUROPE'  // 謂詞過濾:指定地區
        and o_orderdate >= date '1996-01-01'  //謂詞過濾:指定時間
        and o_orderdate < date '1996-01-01' + interval '1' year
        and l_shipdate > date '1996-02-23'  
          and l_shipdate < date '1996-03-23'
group by
        n_name
order by   // TopN:按收入降序排序,注意分組和排序子句不同  
        revenue desc
limit 10

數據開發

數據開發

將查詢分析的數據存儲到新的表中,后續對於相關數據的查詢分析就可以用一個簡單的SQL來完成

地址:https://dms.aliyun.com/?#to=data-analysis
路徑:全部功能-數據工廠-任務編排,新建任務流實例,選擇“單實例SQL”節點來創建任務。
任務配置好之后,點擊試運行即可運行。
同時我們可以選擇點擊空白處進行周期調度運行的配置。
任務節點SQL腳本如下:

#### 1)統計半年內全球各地區銷售金額構成。0.5秒, 用餅狀圖圖展示。

create table sum_region_price as 
select
    r_name   //地區
  ,sum(o_totalprice) totalprice     //交易金額
from
  (
    select
      r_name,
      o_totalprice
    from
      customer
      ,orders
	  ,nation
	  ,region
    where
      c_custkey = o_custkey
	  and c_nationkey=n_nationkey
	  and n_regionkey=r_regionkey
    and o_orderdate < date '1993-09-23'  // 謂詞過濾:指定時間
    and o_orderdate > date '1993-03-23'
  ) a
  group by  r_name
  order by r_name ;
  
  
 #### 2)統計某類目商品每天訂單量以及訂單金額,按照日期排序。 1秒。用折現圖展示
 
 create table items_revenue as 
select  
    o_orderdate,   //下單日期
	count(distinct o_orderkey) as order_num, //訂單數
    sum(l_extendedprice*(1-l_discount)) as revenue  //訂單金額 
from  
    customer,orders,lineitem 
where  
    c_mktsegment = 'MACHINERY'     // 謂詞過濾
    and c_custkey = o_custkey  
    and l_orderkey = o_orderkey  
    and o_orderdate < date '1995-03-23'
    and o_orderdate > date '1995-02-23' // 謂詞過濾 指定時間
    and l_shipdate > date '1995-03-23'  
    and l_shipdate < date '1996-03-23'
group by 
    o_orderdate 
order by 
    o_orderdate;
    
    
#### 3)統計某個地區零件供貨商收入。1秒,用柱狀圖展示。

create table region_seller_cash as 
select
        n_name,   //地區
        sum(l_extendedprice * (1 - l_discount)) as revenue  //收入 
from
        customer,
        orders,
        lineitem,
        supplier,
        nation,
        region   //六表連接  
where
        c_custkey = o_custkey
        and l_orderkey = o_orderkey
        and l_suppkey = s_suppkey
        and c_nationkey = s_nationkey
        and s_nationkey = n_nationkey
        and n_regionkey = r_regionkey
        and r_name = 'EUROPE'  // 謂詞過濾:指定地區
        and o_orderdate >= date '1996-01-01'  //謂詞過濾:指定時間
        and o_orderdate < date '1996-01-01' + interval '1' year
        and l_shipdate > date '1996-02-23'  
          and l_shipdate < date '1996-03-23'
group by
        n_name
order by   // TopN:按收入降序排序,注意分組和排序子句不同  
        revenue desc

在這里插入圖片描述
在這里插入圖片描述

數據可視化

數據可視化

將數據開發的報表進行可視化報表圖形化呈現
數據可視化訪問地址:https://dms.aliyun.com/?#to=data-visual
推薦步驟:

進入dms:https://dms.aliyun.com
通過SQLConsole將下列sql逐條執行查詢后,點擊 數據可視化 即可進入圖表編輯界面。
SQL腳本如下:

#### 1)統計半年內全球各地區銷售金額構成。0.5秒, 用餅狀圖圖展示。


select * from sum_region_price;

  
 #### 2)統計某類目商品每天訂單量以及訂單金額,按照日期排序。 1秒。用折現圖展示
 
 select * from items_revenue;
 
    
    
#### 3)統計某個地區零件供貨商收入。1秒,用柱狀圖展示。

select * from  region_seller_cash;

在這里插入圖片描述
在該界面點擊右上角的“配置新看板”按鈕,即可將該圖表自動保存並加入到儀表盤中。
在這里插入圖片描述
依次制作四個圖表,放入新建中的儀表盤中即可得到下圖效果。

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM