DAX 将过滤后的 table 传递给基于查找表中存在的所有不同月份的聚合
DAX to pass on a filtered table to aggregation based on all distinct months present in lookup tbl
我有一个 keyTbl 和 factTbl 如下,其中包含年-站点-服务-月组合的详细信息。
键包含 年-站点-服务-月
所有可能的唯一组合
和
事实包含 非唯一交易 年站点服务月
基于 pk
的 1 到多的关键过滤器事实
key
tbl
| key |
|------|-------|---------|-------|---------------------|
| year | site | service | month | pk |
|------|-------|---------|-------|---------------------|
| 2021 | site1 | serv1 | 1 | 2021-site1-serv1-1 |
| 2021 | site1 | serv1 | 2 | 2021-site1-serv1-2 |
| 2021 | site1 | serv1 | 3 | 2021-site1-serv1-3 |
| 2021 | site1 | serv1 | 4 | 2021-site1-serv1-4 |
| 2021 | site1 | serv1 | 5 | 2021-site1-serv1-5 |
| 2021 | site1 | serv1 | 6 | 2021-site1-serv1-6 |
| 2021 | site1 | serv1 | 7 | 2021-site1-serv1-7 |
| 2021 | site1 | serv1 | 8 | 2021-site1-serv1-8 |
| 2021 | site1 | serv1 | 9 | 2021-site1-serv1-9 |
| 2021 | site1 | serv1 | 10 | 2021-site1-serv1-10 |
| 2021 | site1 | serv1 | 11 | 2021-site1-serv1-11 |
| 2021 | site1 | serv1 | 12 | 2021-site1-serv1-12 |
| 2021 | site1 | serv2 | 1 | 2021-site1-serv2-1 |
| 2021 | site1 | serv2 | 2 | 2021-site1-serv2-2 |
| 2021 | site1 | serv2 | 3 | 2021-site1-serv2-3 |
| 2021 | site1 | serv2 | 4 | 2021-site1-serv2-4 |
| 2021 | site1 | serv2 | 5 | 2021-site1-serv2-5 |
| 2021 | site1 | serv2 | 6 | 2021-site1-serv2-6 |
| 2021 | site1 | serv2 | 7 | 2021-site1-serv2-7 |
| 2021 | site1 | serv2 | 8 | 2021-site1-serv2-8 |
| 2021 | site1 | serv2 | 9 | 2021-site1-serv2-9 |
| 2021 | site1 | serv2 | 10 | 2021-site1-serv2-10 |
| 2021 | site1 | serv2 | 11 | 2021-site1-serv2-11 |
| 2021 | site1 | serv2 | 12 | 2021-site1-serv2-12 |
| 2021 | site2 | serv1 | 1 | 2021-site2-serv1-1 |
| 2021 | site2 | serv1 | 2 | 2021-site2-serv1-2 |
| 2021 | site2 | serv1 | 3 | 2021-site2-serv1-3 |
| 2021 | site2 | serv1 | 4 | 2021-site2-serv1-4 |
| 2021 | site2 | serv1 | 5 | 2021-site2-serv1-5 |
| 2021 | site2 | serv1 | 6 | 2021-site2-serv1-6 |
| 2021 | site2 | serv1 | 7 | 2021-site2-serv1-7 |
| 2021 | site2 | serv1 | 8 | 2021-site2-serv1-8 |
| 2021 | site2 | serv1 | 9 | 2021-site2-serv1-9 |
| 2021 | site2 | serv1 | 10 | 2021-site2-serv1-10 |
| 2021 | site2 | serv1 | 11 | 2021-site2-serv1-11 |
| 2021 | site2 | serv1 | 12 | 2021-site2-serv1-12 |
| 2021 | site2 | serv2 | 1 | 2021-site2-serv2-1 |
| 2021 | site2 | serv2 | 2 | 2021-site2-serv2-2 |
| 2021 | site2 | serv2 | 3 | 2021-site2-serv2-3 |
| 2021 | site2 | serv2 | 4 | 2021-site2-serv2-4 |
| 2021 | site2 | serv2 | 5 | 2021-site2-serv2-5 |
| 2021 | site2 | serv2 | 6 | 2021-site2-serv2-6 |
| 2021 | site2 | serv2 | 7 | 2021-site2-serv2-7 |
| 2021 | site2 | serv2 | 8 | 2021-site2-serv2-8 |
| 2021 | site2 | serv2 | 9 | 2021-site2-serv2-9 |
| 2021 | site2 | serv2 | 10 | 2021-site2-serv2-10 |
| 2021 | site2 | serv2 | 11 | 2021-site2-serv2-11 |
| 2021 | site2 | serv2 | 12 | 2021-site2-serv2-12 |
fact
tbl
| fact |
|------|-------|---------|-------|---------------------|------|
| year | site | service | month | pk | val |
|------|-------|---------|-------|---------------------|------|
| 2021 | site1 | serv1 | 1 | 2021-site1-serv1-1 | 100 |
| 2021 | site1 | serv1 | 2 | 2021-site1-serv1-2 | 200 |
| 2021 | site1 | serv1 | 3 | 2021-site1-serv1-3 | 300 |
| 2021 | site1 | serv1 | 4 | 2021-site1-serv1-4 | 400 |
| 2021 | site1 | serv1 | 5 | 2021-site1-serv1-5 | 500 |
| 2021 | site1 | serv1 | 6 | 2021-site1-serv1-6 | 600 |
| 2021 | site1 | serv1 | 7 | 2021-site1-serv1-7 | 700 |
| 2021 | site1 | serv1 | 8 | 2021-site1-serv1-8 | 800 |
| 2021 | site1 | serv1 | 9 | 2021-site1-serv1-9 | 900 |
| 2021 | site1 | serv1 | 10 | 2021-site1-serv1-10 | 1000 |
| 2021 | site1 | serv1 | 11 | 2021-site1-serv1-11 | 1100 |
| 2021 | site1 | serv1 | 12 | 2021-site1-serv1-12 | 1200 |
| 2021 | site1 | serv1 | 12 | 2021-site1-serv1-12 | 1300 |
| 2021 | site1 | serv1 | 12 | 2021-site1-serv1-12 | 1400 |
| 2021 | site1 | serv2 | 2 | 2021-site1-serv2-2 | 1500 |
| 2021 | site1 | serv2 | 3 | 2021-site1-serv2-3 | 1600 |
| 2021 | site1 | serv2 | 4 | 2021-site1-serv2-4 | 1700 |
| 2021 | site1 | serv2 | 5 | 2021-site1-serv2-5 | 1800 |
| 2021 | site1 | serv2 | 4 | 2021-site1-serv2-4 | 1900 |
| 2021 | site1 | serv2 | 5 | 2021-site1-serv2-5 | 2000 |
| 2021 | site2 | serv1 | 1 | 2021-site2-serv1-1 | 2100 |
| 2021 | site2 | serv1 | 2 | 2021-site2-serv1-2 | 2200 |
| 2021 | site2 | serv1 | 3 | 2021-site2-serv1-3 | 2300 |
| 2021 | site2 | serv1 | 2 | 2021-site2-serv1-2 | 2400 |
| 2021 | site2 | serv1 | 3 | 2021-site2-serv1-3 | 2500 |
| 2021 | site2 | serv2 | 1 | 2021-site2-serv2-1 | 2600 |
| 2021 | site2 | serv2 | 2 | 2021-site2-serv2-2 | 2700 |
| 2021 | site2 | serv2 | 3 | 2021-site2-serv2-3 | 2800 |
| 2021 | site2 | serv2 | 4 | 2021-site2-serv2-4 | 2900 |
| 2021 | site2 | serv2 | 5 | 2021-site2-serv2-5 | 3000 |
| 2021 | site2 | serv2 | 6 | 2021-site2-serv2-6 | 3100 |
| 2021 | site2 | serv2 | 7 | 2021-site2-serv2-7 | 3200 |
| 2021 | site2 | serv2 | 8 | 2021-site2-serv2-8 | 3300 |
| 2021 | site2 | serv2 | 9 | 2021-site2-serv2-9 | 3400 |
| 2021 | site2 | serv2 | 10 | 2021-site2-serv2-10 | 3500 |
| 2021 | site2 | serv2 | 11 | 2021-site2-serv2-11 | 3600 |
| 2021 | site2 | serv2 | 12 | 2021-site2-serv2-12 | 3700 |
| 2021 | site2 | serv2 | 9 | 2021-site2-serv2-9 | 3800 |
| 2021 | site2 | serv2 | 10 | 2021-site2-serv2-10 | 3900 |
| 2021 | site2 | serv2 | 11 | 2021-site2-serv2-11 | 4000 |
| 2021 | site2 | serv2 | 12 | 2021-site2-serv2-12 | 4100 |
我正在构建一个矩阵即
通过从 key tbl 中获取 site-service-month
和
显示 fact[val] 的总和,其中 (site-service-month) 的总不同月数为 12。
因此,据此,只有 site1-serv1 和 site2-serv2 符合条件。
我写了以下度量,但它只给出了小计级别的汇总值,因为我也需要汇总以用于站点服务月级别
Measure =
VAR _monthsToCheck = 12
VAR _baseTbl =
ADDCOLUMNS (
SUMMARIZE ( 'fact', 'fact'[site], 'fact'[service], 'fact'[month] ),
"@UniqueMonthCount", CALCULATE ( DISTINCTCOUNT ( 'fact'[month] ), REMOVEFILTERS ( 'fact'[month] ) )
)
VAR _filtTbl =
FILTER ( _baseTbl, [@UniqueMonthCount] = _monthsToCheck )
VAR _sum =
CALCULATE ( SUM ( 'fact'[val] ), _filtTbl )
RETURN
_sum
Measure2 =
CALCULATE (
SUM ( 'fact'[val] ),
FILTER (
ADDCOLUMNS (
'fact',
"X",
CALCULATE (
DISTINCTCOUNT ( 'fact'[month] ),
ALLEXCEPT ( 'fact', 'fact'[site], 'fact'[service] )
)
),
[X] = 12
)
)
我有一个 keyTbl 和 factTbl 如下,其中包含年-站点-服务-月组合的详细信息。
键包含 年-站点-服务-月
所有可能的唯一组合和
事实包含 非唯一交易 年站点服务月
基于 pk
的 1 到多的关键过滤器事实key
tbl
| key |
|------|-------|---------|-------|---------------------|
| year | site | service | month | pk |
|------|-------|---------|-------|---------------------|
| 2021 | site1 | serv1 | 1 | 2021-site1-serv1-1 |
| 2021 | site1 | serv1 | 2 | 2021-site1-serv1-2 |
| 2021 | site1 | serv1 | 3 | 2021-site1-serv1-3 |
| 2021 | site1 | serv1 | 4 | 2021-site1-serv1-4 |
| 2021 | site1 | serv1 | 5 | 2021-site1-serv1-5 |
| 2021 | site1 | serv1 | 6 | 2021-site1-serv1-6 |
| 2021 | site1 | serv1 | 7 | 2021-site1-serv1-7 |
| 2021 | site1 | serv1 | 8 | 2021-site1-serv1-8 |
| 2021 | site1 | serv1 | 9 | 2021-site1-serv1-9 |
| 2021 | site1 | serv1 | 10 | 2021-site1-serv1-10 |
| 2021 | site1 | serv1 | 11 | 2021-site1-serv1-11 |
| 2021 | site1 | serv1 | 12 | 2021-site1-serv1-12 |
| 2021 | site1 | serv2 | 1 | 2021-site1-serv2-1 |
| 2021 | site1 | serv2 | 2 | 2021-site1-serv2-2 |
| 2021 | site1 | serv2 | 3 | 2021-site1-serv2-3 |
| 2021 | site1 | serv2 | 4 | 2021-site1-serv2-4 |
| 2021 | site1 | serv2 | 5 | 2021-site1-serv2-5 |
| 2021 | site1 | serv2 | 6 | 2021-site1-serv2-6 |
| 2021 | site1 | serv2 | 7 | 2021-site1-serv2-7 |
| 2021 | site1 | serv2 | 8 | 2021-site1-serv2-8 |
| 2021 | site1 | serv2 | 9 | 2021-site1-serv2-9 |
| 2021 | site1 | serv2 | 10 | 2021-site1-serv2-10 |
| 2021 | site1 | serv2 | 11 | 2021-site1-serv2-11 |
| 2021 | site1 | serv2 | 12 | 2021-site1-serv2-12 |
| 2021 | site2 | serv1 | 1 | 2021-site2-serv1-1 |
| 2021 | site2 | serv1 | 2 | 2021-site2-serv1-2 |
| 2021 | site2 | serv1 | 3 | 2021-site2-serv1-3 |
| 2021 | site2 | serv1 | 4 | 2021-site2-serv1-4 |
| 2021 | site2 | serv1 | 5 | 2021-site2-serv1-5 |
| 2021 | site2 | serv1 | 6 | 2021-site2-serv1-6 |
| 2021 | site2 | serv1 | 7 | 2021-site2-serv1-7 |
| 2021 | site2 | serv1 | 8 | 2021-site2-serv1-8 |
| 2021 | site2 | serv1 | 9 | 2021-site2-serv1-9 |
| 2021 | site2 | serv1 | 10 | 2021-site2-serv1-10 |
| 2021 | site2 | serv1 | 11 | 2021-site2-serv1-11 |
| 2021 | site2 | serv1 | 12 | 2021-site2-serv1-12 |
| 2021 | site2 | serv2 | 1 | 2021-site2-serv2-1 |
| 2021 | site2 | serv2 | 2 | 2021-site2-serv2-2 |
| 2021 | site2 | serv2 | 3 | 2021-site2-serv2-3 |
| 2021 | site2 | serv2 | 4 | 2021-site2-serv2-4 |
| 2021 | site2 | serv2 | 5 | 2021-site2-serv2-5 |
| 2021 | site2 | serv2 | 6 | 2021-site2-serv2-6 |
| 2021 | site2 | serv2 | 7 | 2021-site2-serv2-7 |
| 2021 | site2 | serv2 | 8 | 2021-site2-serv2-8 |
| 2021 | site2 | serv2 | 9 | 2021-site2-serv2-9 |
| 2021 | site2 | serv2 | 10 | 2021-site2-serv2-10 |
| 2021 | site2 | serv2 | 11 | 2021-site2-serv2-11 |
| 2021 | site2 | serv2 | 12 | 2021-site2-serv2-12 |
fact
tbl
| fact |
|------|-------|---------|-------|---------------------|------|
| year | site | service | month | pk | val |
|------|-------|---------|-------|---------------------|------|
| 2021 | site1 | serv1 | 1 | 2021-site1-serv1-1 | 100 |
| 2021 | site1 | serv1 | 2 | 2021-site1-serv1-2 | 200 |
| 2021 | site1 | serv1 | 3 | 2021-site1-serv1-3 | 300 |
| 2021 | site1 | serv1 | 4 | 2021-site1-serv1-4 | 400 |
| 2021 | site1 | serv1 | 5 | 2021-site1-serv1-5 | 500 |
| 2021 | site1 | serv1 | 6 | 2021-site1-serv1-6 | 600 |
| 2021 | site1 | serv1 | 7 | 2021-site1-serv1-7 | 700 |
| 2021 | site1 | serv1 | 8 | 2021-site1-serv1-8 | 800 |
| 2021 | site1 | serv1 | 9 | 2021-site1-serv1-9 | 900 |
| 2021 | site1 | serv1 | 10 | 2021-site1-serv1-10 | 1000 |
| 2021 | site1 | serv1 | 11 | 2021-site1-serv1-11 | 1100 |
| 2021 | site1 | serv1 | 12 | 2021-site1-serv1-12 | 1200 |
| 2021 | site1 | serv1 | 12 | 2021-site1-serv1-12 | 1300 |
| 2021 | site1 | serv1 | 12 | 2021-site1-serv1-12 | 1400 |
| 2021 | site1 | serv2 | 2 | 2021-site1-serv2-2 | 1500 |
| 2021 | site1 | serv2 | 3 | 2021-site1-serv2-3 | 1600 |
| 2021 | site1 | serv2 | 4 | 2021-site1-serv2-4 | 1700 |
| 2021 | site1 | serv2 | 5 | 2021-site1-serv2-5 | 1800 |
| 2021 | site1 | serv2 | 4 | 2021-site1-serv2-4 | 1900 |
| 2021 | site1 | serv2 | 5 | 2021-site1-serv2-5 | 2000 |
| 2021 | site2 | serv1 | 1 | 2021-site2-serv1-1 | 2100 |
| 2021 | site2 | serv1 | 2 | 2021-site2-serv1-2 | 2200 |
| 2021 | site2 | serv1 | 3 | 2021-site2-serv1-3 | 2300 |
| 2021 | site2 | serv1 | 2 | 2021-site2-serv1-2 | 2400 |
| 2021 | site2 | serv1 | 3 | 2021-site2-serv1-3 | 2500 |
| 2021 | site2 | serv2 | 1 | 2021-site2-serv2-1 | 2600 |
| 2021 | site2 | serv2 | 2 | 2021-site2-serv2-2 | 2700 |
| 2021 | site2 | serv2 | 3 | 2021-site2-serv2-3 | 2800 |
| 2021 | site2 | serv2 | 4 | 2021-site2-serv2-4 | 2900 |
| 2021 | site2 | serv2 | 5 | 2021-site2-serv2-5 | 3000 |
| 2021 | site2 | serv2 | 6 | 2021-site2-serv2-6 | 3100 |
| 2021 | site2 | serv2 | 7 | 2021-site2-serv2-7 | 3200 |
| 2021 | site2 | serv2 | 8 | 2021-site2-serv2-8 | 3300 |
| 2021 | site2 | serv2 | 9 | 2021-site2-serv2-9 | 3400 |
| 2021 | site2 | serv2 | 10 | 2021-site2-serv2-10 | 3500 |
| 2021 | site2 | serv2 | 11 | 2021-site2-serv2-11 | 3600 |
| 2021 | site2 | serv2 | 12 | 2021-site2-serv2-12 | 3700 |
| 2021 | site2 | serv2 | 9 | 2021-site2-serv2-9 | 3800 |
| 2021 | site2 | serv2 | 10 | 2021-site2-serv2-10 | 3900 |
| 2021 | site2 | serv2 | 11 | 2021-site2-serv2-11 | 4000 |
| 2021 | site2 | serv2 | 12 | 2021-site2-serv2-12 | 4100 |
我正在构建一个矩阵即 通过从 key tbl 中获取 site-service-month 和 显示 fact[val] 的总和,其中 (site-service-month) 的总不同月数为 12。 因此,据此,只有 site1-serv1 和 site2-serv2 符合条件。
我写了以下度量,但它只给出了小计级别的汇总值,因为我也需要汇总以用于站点服务月级别
Measure =
VAR _monthsToCheck = 12
VAR _baseTbl =
ADDCOLUMNS (
SUMMARIZE ( 'fact', 'fact'[site], 'fact'[service], 'fact'[month] ),
"@UniqueMonthCount", CALCULATE ( DISTINCTCOUNT ( 'fact'[month] ), REMOVEFILTERS ( 'fact'[month] ) )
)
VAR _filtTbl =
FILTER ( _baseTbl, [@UniqueMonthCount] = _monthsToCheck )
VAR _sum =
CALCULATE ( SUM ( 'fact'[val] ), _filtTbl )
RETURN
_sum
Measure2 =
CALCULATE (
SUM ( 'fact'[val] ),
FILTER (
ADDCOLUMNS (
'fact',
"X",
CALCULATE (
DISTINCTCOUNT ( 'fact'[month] ),
ALLEXCEPT ( 'fact', 'fact'[site], 'fact'[service] )
)
),
[X] = 12
)
)