我是很想天天更新点啥,不过没有好的主题,写不出来东西。想写点好玩的有意思的。就当自娱自乐,也是挺好的。
Azure Analysis Service就是一个建Cube的工具。建立一个model,里面包含数据连接,导入数据表,建立表关系,DAX新建表或者Calculated Column或者Measures。建立权限Role。如果表太多了,设置perspectives来把相关的表分组管理。还有各个表字段的属性在Grid;创建hierarchy,在Diagram模式。包发布在Azure的service上,可以作为Power BI的数据源。不过以AAS包做数据源的Power BI里面,只能建Measure不能建Calculated Column。包可以用Azure里面的Runbook定时刷新。
快速入门就是这些内容,具体做的时候就按照这个顺序,就是对的。遇到问题,bing下面搜索关键字。授之以鱼不如授之于渔。总会遇到问题才会记得更清楚。没有什么教程或者文章能涵盖全部的内容。不过按照我上面写的顺序,基本上做AAS的开发没有问题的啦。
我仔细认真的回想了下,这个AAS里面好像也真没有遇到上面问题。还可以写DAX的啊。这里面写的时候注意下。名字:=表达式 (冒号别少了。)
还有就是Processing,如果你设置了Do Not Processing,那Deploy的时候就是Deploy了这个model的框架,不带数据的。你可以在model之外Process数据。当然你也可以在model里面Processing All Data。
回想下遇到的问题,印象深刻的tips就下面两点:
1. ODBC的设置。win10系统,常用的数据库有Netezza,SQL Server还有DB2.建立ODBC的时候,32/64bit的都建一下。如果出现这个错误
SQLException caught = [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
你就要考虑建立32/64bit的ODBC了。
2.建Hierarchy。要在Diagram模式下,表的右上角第一个。我当时找到官方文档,看的一脸懵圈,后来才反应过来。也是消耗了我一点点脑细胞的。
基本上就是这样了。AAS很简单的。做好DAX,基本什么都很简单。
都是一些工具而已。如何更好的balance前端和后台才好玩一点。
最后随便给个彩蛋。
公司财务关账是445,我就随便在Power BI里面做了一下表来得到关账日期。给不是月底关账的小伙伴们一个参考。
新建一个Calculated Table。内容如下:
Date =
GENERATE (
CALENDARAUTO(),
VAR YYYY =
YEAR ( [Date] )
VAR MMMM =
MONTH ( [Date] )
RETURN
ROW (
"Year", YYYY ,
"Month", FORMAT ( [Date], "mmmm" ),
"Month Number", MMMM,
"Week Number", WEEKNUM([Date],2),
"WeekDay", FORMAT ( [Date], "dddd" ),
"Year Month", IF(MMMM < 10,YYYY &"-0"&MMMM,YYYY &"-"&MMMM)
)
)
创建Calculated Column来计算Finance Month。
Finance_Month =
IF('Date'[Week Number] <=4,'Date'[Year] & "-01",
IF(AND('Date'[Week Number]>4,'Date'[Week Number]<=8),'Date'[Year] & "-02",
IF(AND('Date'[Week Number]>8,'Date'[Week Number]<=13),'Date'[Year] & "-03",
IF(AND('Date'[Week Number]>13,'Date'[Week Number]<=17),'Date'[Year] & "-04",
IF(AND('Date'[Week Number]>17,'Date'[Week Number]<=21),'Date'[Year] & "-05",
IF(AND('Date'[Week Number]>21,'Date'[Week Number]<=26),'Date'[Year] & "-06",
IF(AND('Date'[Week Number]>26,'Date'[Week Number]<=30),'Date'[Year] & "-07",
IF(AND('Date'[Week Number]>30,'Date'[Week Number]<=34),'Date'[Year] & "-08",
IF(AND('Date'[Week Number]>34,'Date'[Week Number]<=39),'Date'[Year] & "-09",
IF(AND('Date'[Week Number]>39,'Date'[Week Number]<=43),'Date'[Year] & "-10",
IF(AND('Date'[Week Number]>43,'Date'[Week Number]<=47),'Date'[Year] & "-11",
IF(AND('Date'[Week Number]>47,'Date'[Week Number]<=53),'Date'[Year] & "-12","wrong"))))))))))))
根据Finance Month来创建Closed Date。创建Calculated Column如下:
Closed_Date =
VAR max_dt = 'Date'[Finance_Month]
Return CALCULATE(MAX('Date'[Date].[Date]),FILTER('Date','Date'[Finance_Month] = max_dt))
就完成了。其实也没有那么简单的。哈哈~~
我想写一些有趣的东西,但是想一个主题真的太难了。我懒得写凑合,自己水平也有限,就顺其自然吧。当个记录笔记了。顺其自然,平常心。
欢迎转发关注,一起成长吧!