Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi DAX:避免ALL()导致矩阵中维度属性显示不正确_Powerbi_Dax - Fatal编程技术网

Powerbi DAX:避免ALL()导致矩阵中维度属性显示不正确

Powerbi DAX:避免ALL()导致矩阵中维度属性显示不正确,powerbi,dax,Powerbi,Dax,在回答了我的问题后,我发现自己面临着一个新的、不同的问题,我在这个新问题中请求您的帮助: 1.脚本: 我们有一个由一个事实表(F_访问)和一个维度D_日历组成的模型。 F_visions是事实表,包含客户对服装店的所有访问。其字段为: 访问Id:增量唯一编号,它是表的自然键 客户密钥:客户的唯一标识符 Calendar Fk:事实表中维度D_Calendar的外键 +----------+--------------+-------------+ | Visit Id | Customer Ke

在回答了我的问题后,我发现自己面临着一个新的、不同的问题,我在这个新问题中请求您的帮助:

1.脚本: 我们有一个由一个事实表(
F_访问
)和一个维度
D_日历
组成的模型。
F_visions
是事实表,包含客户对服装店的所有访问。其字段为:
访问Id
:增量唯一编号,它是表的自然键
客户密钥
:客户的唯一标识符
Calendar Fk
:事实表中维度
D_Calendar
的外键

+----------+--------------+-------------+
| Visit Id | Customer Key | Calendar FK |
+----------+--------------+-------------+
|        1 | John         |   20170101  |
|        2 | John         |   20180101  |
|        3 | John         |   20180101  |
|        4 | John         |   20190101  |
|        5 | Mark         |   20170101  |
|        6 | Mark         |   20180101  |
|        7 | Jack         |   20190101  |
+----------+--------------+-------------+
2.目标: 创建一个时间智能年至今度量值,该度量值: -不考虑维度日历上的切片器选择 -统计本年度迄今为止访问该商店的不同患者的数量 -保持与
D_Calendar
的交互,这样我就可以从该维度正确地包含在矩阵属性中

3.预期结果: 不考虑
D_Calendar
上的切片器过滤器(例如D_Calendar[年份]=2017) 我们得到以下结果:

+----------+-------------+-------------+-------------+------------------+
| Visit Id | Customer Key| Calendar FK | Measure YTD | D_Calendar[Year] |
+----------+-------------+-------------+-------------+------------------+
|        4 | John        |    20190101 |           1 |             2019 |
|        7 | Jack        |    20190101 |           1 |             2019 |
+----------+-------------+-------------+-------------+------------------+
4.现状 问题是矩阵中的
D_日历[年]
取切片器的值, 而不是与
F_访问[Calendar FK]
相关的值

其中,计量YTD定义为:

Measure YTD =
VAR vDateFrom = 20190101
VAR vDateTo = VALUE ( FORMAT ( ( TODAY () ), "YYYYMMDD" ) )
RETURN
    CALCULATE (
        DISTINCTCOUNT ( 'F_Visits'[Customer Key] ),
        ALL ( D_Calendar ),
        KEEPFILTERS ( D_Calendar[Year] ),
        FILTER (
            ALL ( 'F_Visits'[Calendar FK] ),
            'F_Visits'[Calendar FK] >= vDateFrom
                && 'F_Visits'[Calendar FK] <= vDateTo
        )
    )
测量年初至今=
VAR vDateFrom=20190101
VAR vDateTo=VALUE(格式((今天(),“yyyyymmdd”))
返回
算计(
DISTINCTCOUNT(‘F_访问’[客户密钥]),
全部(迪乌日历),
保留过滤器(D_日历[年]),
滤器(
所有(‘F_访问’[日历FK]),
“F_访问”[Calendar FK]>=vDateFrom

&&“F_访问”[日历FK]您希望维度表不被该表上的切片器过滤?为什么希望切片器什么都不做?我想要两件事:1.筛选D_日历的切片器在计算
度量YTD
2时不得有任何影响。添加到可视化中的D_日历字段必须是由relati定义的字段使用Calendar FK在事实和维度之间的关系。我清楚了吗?您希望维度表不被该表上的切片器过滤?为什么希望切片器什么都不做?我想要两件事:1.筛选D_Calendar的切片器在计算
度量YTD
2.添加时D_Calendar的字段不得有任何影响进入可视化的数据必须是使用日历FK由事实和维度之间的关系定义的数据。我清楚了吗?
Measure YTD =
VAR vDateFrom = 20190101
VAR vDateTo = VALUE ( FORMAT ( ( TODAY () ), "YYYYMMDD" ) )
RETURN
    CALCULATE (
        DISTINCTCOUNT ( 'F_Visits'[Customer Key] ),
        ALL ( D_Calendar ),
        KEEPFILTERS ( D_Calendar[Year] ),
        FILTER (
            ALL ( 'F_Visits'[Calendar FK] ),
            'F_Visits'[Calendar FK] >= vDateFrom
                && 'F_Visits'[Calendar FK] <= vDateTo
        )
    )