DAX

DAX 一般用于在PP中建模,以时间为应用单元,对月日年季度不断操作,达到数据分析的目的。可以百度其真正的应用场景。在实际应用之前最好是先创建一张日期格式表,并于要分析的数据源表进行关联,即创建对应的关系


先将excel中的数据添加到数据模型,如果数据已经导入,则省略。然后就可以点开度量值的控件按钮进行编写了,哦度量值不同于字段,字段可以理解为数据的列,而度量值是在列的基础上进行的某些操作,比如说聚合函数。其一般也不直接显示在表里面,而是作为一个筛选条件存在于数据透视表里面,也就是说,要先懂数据透视表,然后才能懂度量值,其更像sql语句一样灵活,解决数据透视表无法表达的却又有的内涵。

CLOSINGBALANCEMONTH():计算当前上下文中该月最后一个日期的expression语法CLOSINGBALANCEMONTH(表达式,日期格式[,筛选条件])

下面的公式示例创建一个度量值,该度量值计算产品库存的“月末库存值”。为了阐释此示例的工作方式,创建一个数据透视表,并且向该数据透视表的“行标签”区域添加三个字段:CalendarYear、MonthNumberOfYear 和 DayNumberOfMonth。 然后使用在代码部分中定义的公式,将名为 Month End Inventory Value 的度量值添加到该数据透视表的“值”区域。代码

=CLOSINGBALANCEMONTH(SUMX(ProductInventory,ProductInventory[UnitCost]*ProductInventory[UnitsBalance]),DateTime[DateKey])

这个是文档里面复制的,我不知道是不是我理解有问题,这里的月末库存值是指这个月月末那天库存物的价值,我把它和会计里面那个联系起来,好像期末库存余额(其实不是),对公式进行一下解读,汉语翻译一下意思吧。表达式的名称(所应用的表的名字,表名[字段名]运算操作符  表名[表字段名]),表名[字段名])。。。其实可以看出如果是设计多张表要在函数后面加X,如SUMX,AVERAGEX等,在写字段的时候一般写出第一个字母就会有智能感知的提示,鼠标双击就可以选取,如果是对同一张表操作,可以省略字段前的表名,字段名被括在中括号里面,这是固定的表达式的书写规范。写好这个度量值之后,在数据透视表里面勾选并拖到值,就完成了其的使命,其实对于简单的聚合函数,完全可以用透视表的鼠标来完成,没必要搞得这么复杂,还专门写个度量值。我也是最近才初学,好多东西都是自己直观的理解,完全达不到授业解惑的水平,在简书上记录完全是为了以一种简单永久方便的方式来保存自己的笔记。以此类推,于此相似的函数还有CLOSINGBALANCEQUARTER(),''''''YEAR(),该值表示在当前上下文中该季度/ 年最后一个日期计算的。(我做的时候,好像返回表,不知道哪里多了两个表的数据出来,元数据的子数据表)

DATAADD()返回一个表,该表包含由日期构成的一列,这些日期是在时间上从当前上下文中的日期前移或后移指定间隔数目的日

=DATEADD(DateTime[DateKey],-1,year)

没弄成

DATESBETWEEN(数据,开始,结束日期)

计算夏季销售额例子

=CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), DATESBETWEEN(DateTime[DateKey],    DATE(2007,6,1),    DATE(2007,8,31)

在数据透视表里面单独列显示,要是能计算每年某个时间段的销售额就好了,往下学吧,或许接下来会遇到,或许可以用嵌套呢,反正我现在不懂。

类似的year、quarter、month一样

下面的公式为 2007 年 8 月 24 日之前的 21 天返回 Internet 销售额。=

CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]),DATESINPERIOD(DateTime[DateKey],DATE(2007,08,24),-21,day))

DATESMTD 函数返回一个表,该表包含当前上下文中本月截止到现在的日期列

计算本月截止到现在的总计的表达式范例=CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), DATESMTD(DateTime[DateKey]))。这个的意思就不用解释了吧,第一个已经详细的说了,这些都是类似的,CALCULATE是指上下文,他们这么说的,我也不懂具体的啥意思,但我猜可能是为了为后面的函数增加一个外在的筛选条件吧。就像这一样,增加日期筛选条件

类似DATESQTD()当前截至到本季度总计   DATESYTD()

ENDOFMONTH函数

=ENDOFMONTH(DateTime[DateKey])

不懂和CLOSINGBALANCEMONTH()有什么区别

另ENDOF季度,年

FIRSTDATE()

=FIRSTDATE('InternetSales_USD'[SaleDateKey])

和ENDOF()相对应,返回第一个日期

更有LASTDATE()

我越来越怀疑前面所说的CLOSINGBALANCEMONTH()的理解是错的,毕竟上面这两函数才是我理解的那意思,返回第一个或最后一个日期

NEXTDAY 函数

返回一个表,该表包含的一列具有当前上下文中基于 dates 列中指定的第一个日期的下一天中的所有日期,今天6/9,即返回所有6/10的数据,季度年,月,亦如此。只是自己的电脑好卡,实验的数据没出来

OPENINGBALANCEMONTH()

这才是与CLOSINGBANLANCEMONTH()相对应的,只是自己还不知道其具体的用法和意义是什么(月初库存值,不懂啊,咋计算的)

PARALLELPERIOD 函数 (并行期间,好不容易看懂英文意思,这两单词有印象)

返回一个表,该表包含由日期构成的一列,这些日期表示与当前上下文中指定的 dates 列中的日期并行的期间,该列中具有在时间中前移或后移某个数目的间隔的日期

上面我说过的DATESBETWEEN()的解决办法就是这个东东了。

实例上一年的销售额=CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), PARALLELPERIOD(DateTime[DateKey],-1,year))

PREVIOUSDAY 函数,返回当前日期的前一个日期 类似上一个月,季度,年一样

TOTALMTD(,[,])计算当前上下文中当月至今的 expression 的值

感觉和那datesMTD无异。类似Q YTD

实例=TOTALMTD(SUM(InternetSales_USD[SalesAmount_USD]),DateTime[DateKey])

今天的时间智能函数就到这把,学知识有点小累啊。而且越学越知道自己的开始的理解有问题,下一篇的时候我写一下,自己在这篇文章里面的好多错误吧,一些最基本的理论都错了,原来,知识是要去尊重权威的,不能凭自己的想当然,所有的想当然都是带着对自己知识局限条件下的无谓猜想罢了。真的好多错误,但还是感谢自己今天做相应的笔记,学习相关的知识。或许,以后会有用处的,我 等待着。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容