BI-SQL丨VIEW

作者: Fabric丨白茶 | 来源:发表于2022-02-19 21:49 被阅读0次

VIEW

VIEW在数据库中是一个很重要的概念,也是数据仓库对用户开放数据的一种方式。

VIEW可以理解为,是SQL语句结果集形成的一张表,内容和我们Excel中使用的表结构是一样的,包含基本的行、列等等。

对于刚接触SQL的小伙伴来说,可能不太好理解,但是实际上,VIEW非常的好用。

比如我们的数据仓库,底层有很多的表,也有很多的Mapping关系,我们需要构建一张大宽表来进行数据分析,这个时候VIEW的价值就体现出来了。

PS:不知道大宽表的小伙伴请自行百度。

优点

1.安全性考虑:VIEW生成的虚拟表是基于底层的数据表,我们在使用视图的时候,轻易不会通过视图对底层数据进行修改,相当于在底层事实数据与用户之间建立了一层隔离带,类似于数仓中我们对DW和ODS的划分,本质上都是为了数据安全性考虑。

2.复用性考虑:VIEW通过对SQL查询语句的封装,可以将原本复杂的查询简化。用户接触的是已经封装好的表,可以直接拿来复用,非常的便捷;同时,也可以在VIEW的基础上进行VIEW嵌套,以提高复用率。

语法

CREATE VIEW 视图名称 AS
(
SELECT 列名称(s)
FROM 表名称
WHERE 限定条件...
)
--括号内的查询语句也可以根据需求换成其他,这里说的是基本语法

使用实例

案例数据:

在白茶本机的数据库中存在名为“CaseData”的数据库。

“Dim_Date“日期表、"Dim_Product"产品表、"Fact_Sales"销售事实表。

例子1:

创建VIEW,引用[Dim_Product]的所有信息,并根据关联关系计算[ProductName]对应[Fact_Sales]表中的[Quantity]汇总。

CREATE VIEW TotalQuantity as
SELECT [Dim_Product].*, SUMARRIZE.TotalQuantity
FROM [Dim_Product]
LEFT JOIN 
    (SELECT [Fact_Sales].[ProductID] ,
         SUM([Fact_Sales].[Quantity]) AS TotalQuantity
    FROM [Fact_Sales]
    GROUP BY  [Fact_Sales].[ProductID]) AS SUMARRIZE
ON [Dim_Product].[ProductID]=SUMARRIZE.[ProductID]

结果如下:

我们通过PowerBI连接一下刚刚生成的VIEW。

在数据预览界面,我们除了原有的底层三张表之外,也可以看到上面生成的视图。

例子2:

修改刚刚的VIEW,将SalesID加进来。

ALTER VIEW TotalQuantity as
SELECT [Dim_Product].*,SUMARRIZE.SalesID,SUMARRIZE.TotalQuantity
FROM [Dim_Product]
LEFT JOIN 
    (SELECT [Fact_Sales].[ProductID],[Fact_Sales].[SalesID],
         SUM([Fact_Sales].[Quantity]) AS TotalQuantity
    FROM [Fact_Sales]
    GROUP BY  [Fact_Sales].[ProductID],[Fact_Sales].[SalesID]) AS SUMARRIZE
ON [Dim_Product].[ProductID]=SUMARRIZE.[ProductID]

结果如下:

我们通过PowerBI刷新一下数据。

可以看到VIEW的数据已经更新。

例子3:

删除刚刚的VIEW。

DROP VIEW TotalQuantity

结果如下:

我们刷新一下数据库看看。

可以看到之前的VIEW已经删除。

这里是白茶,一个PowerBI的初学者。

相关文章

  • BI-SQL丨VIEW

    VIEW VIEW在数据库中是一个很重要的概念,也是数据仓库对用户开放数据的一种方式。 VIEW可以理解为,是SQ...

  • BI-SQL丨AND & OR & IN

    AND函数 & OR函数 & IN函数 AND函数、OR函数和IN函数都可以理解是WHERE函数的补充,当然也可以...

  • BI-SQL丨WITH AS

    WITH AS 在DAX函数中,有些时候我们写的DAX逻辑引用次数过多,或者是性能过差,我们都会选择使用VAR来定...

  • BI-SQL丨INSERT INTO

    INSERT INTO语句 INSERT INTO语句通常可以用来在SQL的查询中针对表插入某些行数据。 看到这里...

  • BI-SQL丨ORDER BY

    ORDER BY语句 ORDER BY语句,在SQL中通常可以用来作为查询结果的排序依据。当然在PowerBI的D...

  • BI-SQL丨WHERE

    WHERE函数 WHERE函数,属于常用函数之一,通常可以用来进行条件查询。 其用途类似于DAX函数中的Filte...

  • BI-SQL丨SELECT

    白茶之前介绍过,无论是从PowerBI的角度来看,还是从职业发展规划的角度来讲,一个不会SQL的PowerBI分析...

  • BI-SQL丨DISTINCT

    DISTINCT函数 在SQL中,DISTINCT函数也是常见函数之一,通常可以用来进行对表或者列进行去重操作。 ...

  • BI-SQL丨TOP

    TOP函数 TOP函数,属于高级函数之一,通常可以用来返回固定数量的行数。 对于一定数据量级的事实表来说,此函数可...

  • BI-SQL丨JOIN

    JOIN JOIN在SQL Server中是一个很重要的概念。 JOIN经常用于将两个表或者多个表通过主外键关联进...

网友评论

    本文标题:BI-SQL丨VIEW

    本文链接:https://www.haomeiwen.com/subject/dviaoltx.html