|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
通过数据分析表达式DAX公式,非常方便地将已加载的数据模型把产生的新数据表加入到数据模型中,而不再由数据查询或加载数据源来实现将数据添加到新数据表中的列了,这样进而定义创建了计算表(Calculated tables)。在Power BI Desktop中,计算表是通过Modeling标签下的New Table功能在Report View(报告视图)或Data View(数据视图)中创建的。计算表是既数据分析表达式DAX的计算度量和计算列后的又一有用功能,了解它对于建立数据模型有很重要的作用。
大多情况下,你是从外部数据源将数据导入数据模型,比如采用Power Query等等。不过计算表提供了一些优势,计算表通常最适合应用于中间计算以及那些需要做为一部分数据储存的计算,而不是实时计算数据表或做为一部分查询数据表。
不同于创建作为查询一部分的数据表,在Report View或Data View中建立的计算表,是依据你已经加载的数据模型来计算的。比如,你可以选择合并或交叉连接数据模型中的两个数据表等等。
计算表就像一般数据表,可以与数据模型中的其它数据表建立关系。计算表中的数据列具有计算类型、格式,并可能属于某种数据类别。你也可以为数据列指定任何名称,就像其它字段一样将其添加到可视化的报表上。如果以任何方式重新整理或更新提取数据源的任何数据表,计算表也会重新计算。
遗憾的是计算表还无法在Excel 2016中使用,也就是不能用于Excel的Power Pivot数据模型。如果你需要Excel 2016具有Power BI Desktop相似的解决方案,就要依赖反向链接表了(Excel 2013开始具有反向链接表功能(Linkback Table),即通过Power Pivot数据模型查询实现Excel表,然后将其重新载回Power Pivot数据模型)。唯一的限制是使用反向链接表功能,其表的大小不能超过1M行的Excel物理极限。而Power BI Desktop中使用计算表没有大小限制,可以在很多场景下运行。希望后续的Excel版本在PowerPivot中能够使用计算表功能。
计算表使用时也要注意它与在数据模型中创建计算列一样,特别是在使用海量数据模型作为计算源时,它会明显降低数据模型的计算速度,从而降低数据分析效率。一般使用查询表(称lookup表或维度表)作为源数据来创建计算表,而对于将事实数据表作为源数据创建计算表不建议使用,因为事实数据表在实践中除了数据量大外,时常还会更新变化,这样造成所创建的计算表也要重新计算,进而降低数据分析效率。
使用数据分析表达式DAX公式创建计算表同创建计算度量和计算列一样,使用能返回表的函数及表达式既可。附件Test_BI2为Power BI Desktop文件,该文件将数据分析示例文件AdventureWorks DW 2012 中的DimDate表加载到Power BI Desktop数据模型中,然后使用计算表功能用DAX函数:DISTINCT(DimDate[CalendarYear])在数据模型中创建了一个Table1的表。在Power BI Desktop的Data View(数据视图)中CalendarYear列为函数DISTINCT返回的表(一列)即创建的计算表,TestColumn列为创建的计算列;Table2也是创建的计算表。
|
评分
-
1
查看全部评分
-
|