首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL到DAX转换

SQL到DAX转换
EN

Stack Overflow用户
提问于 2020-01-22 14:06:23
回答 1查看 68关注 0票数 0

新的电源BI和需要一些帮助的Dax转换。日期20191130是通过另一个页面通过Slicer传入的,因此我不知道如何以这样的方式设置dax,以便阅读以下内容:

电流值

代码语言:javascript
复制
SELECT SUM(value) FROM Table
Where DateKey BETWEEN 20181201 AND 20191130

前值

代码语言:javascript
复制
SELECT SUM(value) FROM Table
Where DateKey BETWEEN 20171201 AND 20181130

(当前值-先前值)/(以前值)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-22 18:00:07

假设Slicer日期为日期格式,则必须创建两种不同的计算:

现值:

代码语言:javascript
复制
 Current Value =
            VAR End1 = Table[SlicerDate]
            VAR Start1 = DATE(YEAR(End1)-1,MONTH(End1),DAY(End1))+1
            VAR End2 = DATE(YEAR(End1)-1,MONTH(End1),DAY(End1))
            VAR Start2 = DATE(YEAR(End1)-2,MONTH(End1),DAY(End1))+1
    RETURN CALCULATE(COUNT('Table'[Name]),'Table'[Datekey]>=Start1 && 'Table'[Datekey]<=End1)

以前的价值:

代码语言:javascript
复制
Previous Value =
        VAR End1 = Table[SlicerDate]
        VAR Start1 = DATE(YEAR(End1)-1,MONTH(End1),DAY(End1))+1
        VAR End2 = DATE(YEAR(End1)-1,MONTH(End1),DAY(End1))
        VAR Start2 = DATE(YEAR(End1)-2,MONTH(End1),DAY(End1))+1
RETURN CALCULATE(COUNT('Table'[Name]),'Table'[Datekey]>=Start1 && 'Table'[Datekey]<=End1)

如果切片日期为数字或文本格式:

现值:

代码语言:javascript
复制
Current Value =
        VAR End1 = Date(Left(Table[SlicerDate],4),Right(left(Table[SlicerDate],6),2),right(Table[SlicerDate],2)
        VAR Start1 = DATE(YEAR(End1)-1,MONTH(End1),DAY(End1))+1
        VAR End2 = DATE(YEAR(End1)-1,MONTH(End1),DAY(End1))
        VAR Start2 = DATE(YEAR(End1)-2,MONTH(End1),DAY(End1))+1
RETURN CALCULATE(COUNT('Table'[Name]),'Table'[Datekey]>=Start1 && 'Table'[Datekey]<=End1)

以前的价值:

代码语言:javascript
复制
Previous Value =
        VAR End1 = Date(Left(Table[SlicerDate],4),Right(left(Table[SlicerDate],6),2),right(Table[SlicerDate],2)
        VAR Start1 = DATE(YEAR(End1)-1,MONTH(End1),DAY(End1))+1
        VAR End2 = DATE(YEAR(End1)-1,MONTH(End1),DAY(End1))
        VAR Start2 = DATE(YEAR(End1)-2,MONTH(End1),DAY(End1))+1
RETURN CALCULATE(COUNT('Table'[Name]),'Table'[Datekey]>=Start1 && 'Table'[Datekey]<=End1)

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59861532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档