什么是DAX
它是英文Data Analysis Expression的缩写,中文意思就是数据分析表达式。它
是公式或表达式中可用于计算并返回一个或多个值的函数、运算符或常量的集合。
简单来说,DAX 可帮助你通过模型中已有的数据来创建新信息。
DAX语法
为方便介绍,我们用上一篇中的一个度量值示例来具体介绍DAX的语法公式
城市数量 =
COUNT(Customers1[城市])
1、
城市数量
是度量值的名称
2、
=
表示公式的开头,计算结束后将返回结果
3、
COUNT()
是DAX中的一个函数,表示计数
4、
Customers1
是被COUNT()函数引用的表,如果是中文名称的表需要加单引号''
5、
[城市]
是被引用的列,这样COUNT()函数就知道被聚合的是哪一列了。[]是必须加上的
DAX常用函数
上面的语法中我们介绍了DAX中常用的COUNT函数,此外还有很多我们常见的函数。
聚合函数
SUM 求和
MAX 求最大值
MIN 求最小值
AVERAGE 求平均值
COUNTROWS 计算行数
DISTINCTCOUNT 计算不重复值的个数
时间智能函数
时间智能函数通过使用时间段(包括日、月、季度和年)对数据进行操作,然后生成和比较针对这些时段的计算,支持商业智能分析的需要。常见的时间智能函数如下。
PREVIOUS
YEAR
/
QUARTER
/
MONTH
/
DAY
表示上一年/季/月/日
NEXT
YEAR
/
QUARTER
/
MONTH
/
DAY
表示下一年/季/月/日
TOTAL
YTD
/
QTD
/
MTD
表示年初/季初/月初至今
SAMEPERIODLASTYEAR
表示上年同期
PARALLELPERIOD
表示上一期
DATESINPERIOD
表示指定期间的日期
筛选器函数
筛选器函数与我们数据库中的WHERE条件语句非常类似,通过筛选指定的列来返回我们需要的结果集。常见的筛选器函数如下。
FILTER
表示另一个表或表达式的子集的表,主要用来筛选表
ALL
返回表中的所有行或者返回列中的所有值,同时忽略可能已应用的任何筛选器。主要用来清除筛选。
ALLEXCEPT
删除表中除已应用于指定列的筛选器之外的所有上下文筛选器。主要用来保留指定的列。
VALUES
返回由一列构成的一个表,该表包含来自指定表或列的非重复值。 换言之,重复值将被删除,仅返回唯一值。
RELATED
从另一个表返回相关值。主要通过关联关系返回另外一个表中的值。使用前提是必须存在关联关系。
CALCULATE
DAX中最重要的函数,
在指定筛选器修改的上下文中计算表达式。常与各种函数嵌套使用。
批注
这一章只是让大家对DAX有个初步的认识,在后续的章节中我们会对DAX作进一步详细的讲解,比如每个函数的具体用法,一些复杂表达式的写法等等。
该案例是模拟:Java在线编译第一步:导入Maven依赖<dependency>
<groupId>com.itranswarp</groupId>
<artifactId>compiler</artifactId>
<version>1.0</version>
</dependenc
和前面python读取文件一样,写文件的操作也是相对简单的。首先,要写入文件必须的打开文件,在打开文件的时候,我们需要做一件事情:with open(file_path, mode='w', encoding='utf-8') as file_obj:大家注意到第二个参数了,这里是一个字符串,用来指定文件读写模式,r' -open for reading (default)
'w' -open