Power BI 首先是 IF 语句,然后是 DAX 公式
Power BI first IF-Statement then the DAX-Formula
我是 Power BI 新手,遇到以下问题:
我试图为频率计数器建立一个公式。我从网上得到了一些例子,我能够构建这个工作公式。背后的基本思想是用以下值对项目进行分类:每天、每周或第一次。
我尝试将 IF 语句添加到公式中,即检查计算列“时间范围”,它以分钟为单位显示项目的持续时间。
基本上,只有当列“时间范围”等于或大于1时,才应该运行这个公式。
现在,公式第一次为时间范围为 0 的项目提供值。但它们应该被忽略或消隐。
Calculated column =
Var freqcount =
COUNTAX(FILTER(ALL('Count'),
AND([Date]>=DATEADD('Count'[Date],-6,DAY)&&[Date]<=EARLIER([Date]),[ID]=EARLIER('Count'[ID]))),ID])
return
if(freqcount>=4,"Daily",if(freqcount>=2,"Weekly",if(freqcount>=1,"First time","Inactive")))
如果有人能支持我解决这个问题,我将不胜感激。
编辑:一个 ID 可以在我的 table 中出现多次,但日期不同。但只有一次与同一日期。例如:
- ID 1,日期 01.01.2020
- ID 1,日期 02.01.2020
- ID 1,日期 03.01.2020
使用计算更容易:
Calculated column =
var rDate = yourTable[Date]
var rID = yourTable[ID]
var freqCount = CALCULATE(yourTable('Count'), FILTER(yourTable, rDate >= DATEADD(yourTable[Date], -6 , DAY) && rID = yourTable[ID] && yourTable['Time frame'] > 0))
return if(freqcount>=4,"Daily",if(freqcount>=2,"Weekly",if(freqcount>=1,"First time","Inactive")))
你看我是如何简单地将时间范围添加到表达式中的。此外,我通过使用 var's 删除了之前的使用,因此它的可读性更好。
我是 Power BI 新手,遇到以下问题:
我试图为频率计数器建立一个公式。我从网上得到了一些例子,我能够构建这个工作公式。背后的基本思想是用以下值对项目进行分类:每天、每周或第一次。
我尝试将 IF 语句添加到公式中,即检查计算列“时间范围”,它以分钟为单位显示项目的持续时间。
基本上,只有当列“时间范围”等于或大于1时,才应该运行这个公式。
现在,公式第一次为时间范围为 0 的项目提供值。但它们应该被忽略或消隐。
Calculated column =
Var freqcount =
COUNTAX(FILTER(ALL('Count'),
AND([Date]>=DATEADD('Count'[Date],-6,DAY)&&[Date]<=EARLIER([Date]),[ID]=EARLIER('Count'[ID]))),ID])
return
if(freqcount>=4,"Daily",if(freqcount>=2,"Weekly",if(freqcount>=1,"First time","Inactive")))
如果有人能支持我解决这个问题,我将不胜感激。
编辑:一个 ID 可以在我的 table 中出现多次,但日期不同。但只有一次与同一日期。例如:
- ID 1,日期 01.01.2020
- ID 1,日期 02.01.2020
- ID 1,日期 03.01.2020
使用计算更容易:
Calculated column =
var rDate = yourTable[Date]
var rID = yourTable[ID]
var freqCount = CALCULATE(yourTable('Count'), FILTER(yourTable, rDate >= DATEADD(yourTable[Date], -6 , DAY) && rID = yourTable[ID] && yourTable['Time frame'] > 0))
return if(freqcount>=4,"Daily",if(freqcount>=2,"Weekly",if(freqcount>=1,"First time","Inactive")))
你看我是如何简单地将时间范围添加到表达式中的。此外,我通过使用 var's 删除了之前的使用,因此它的可读性更好。