Power BI是微软开发的一款功能非常强大的的BI工具,可以制作非常美观的报表,但这个工具的核心是DAX,翻译为中文就是 数据分析表达式,有点类似于excel函数,但又很不一样。
DAX中的很多功能可以与SQL对应,但差异也很大。
本文要讲的是用 datatable函数实现 sql server中的虚拟表。
1、sql server中的虚拟表不是一张真实存在表,是只存在于当前会话中的数据,类似这样:
SELECT 111 AS 产品编码,'2019-01-01' 销售日期, 30 数量,600 金额 UNION ALL
SELECT 222 ,'2019-01-02', 25 ,250 UNION ALL
SELECT 111 ,'2019-01-08', 20 ,400 UNION ALL
SELECT 333 ,'2019-01-13', 10 ,300 UNION ALL
SELECT 222 ,'2019-01-16', 10 ,100
在 sql server中的运行结果:
2、power bi的实现方式
输入代码:
虚拟表 =
datatable("产品编码",string,
"销售日期",datetime,
"数量",integer,
"金额",currency,
{
{"111","2019-01-01",30,600},
{"222","2019-01-02",25,250},
{"111","2019-01-08",20,400},
{"333","2019-01-13",10,300},
{"222","2019-01-16",10,100}
}
)
查询结果:
datatable函数的参数:
DATATABLE (列名1, 数据类型1, 列名2, 数据类型2..., {{值1, 值2...}, {值N, 值N+1...}...})
前面的参数用来指定 列名 和 这一列的数据类型,后面 {}包含了数据,每一行都放在一对 { } 中,且用逗号分隔。
数据类型支持:string,integer,currency,double,datetime,boolean(布尔型,也就是 true 或 false)。