powerbi - 将 DAX 度量保存到表中(ABC /帕累托分析)
问题描述
我目前正在对客户 ID 进行 abc/pareto 分析。
我要计算的是这样的:
ID| Sales / ID |Cum. Sales| %from total | category
G 15.000,00€ 15.000,00 € 21,45% A
D 5.700,00€ 20.700,00 € 29,60% A
H 4.000,00€ 24.700,00 € 35,32% A
Q 3.800,00€ 28.500,00 € 40,75% A
O 3.650,00€ 32.150,00 € 45,97% A
X 3.500,00€ 35.650,00 € 50,97% B
I 3.350,00€ 39.000,00 € 55,76% B
Ü 3.200,00€ 42.200,00 € 60,34% B
Ö 3.050,00€ 45.250,00 € 64,70% B
N 2.900,00€ 48.150,00 € 68,84% B
J 2.750,00€ 50.900,00 € 72,78% C
Ä 2.600,00€ 53.500,00 € 76,49% C
Z 2.450,00€ 55.950,00 € 80,00% C
Y 2.300,00€ 58.250,00 € 83,29% C
L 2.150,00€ 60.400,00 € 86,36% D
P 2.000,00€ 62.400,00 € 89,22% D
W 1.765,00€ 64.165,00 € 91,74% D
R 1.530,00€ 65.695,00 € 93,93% D
F 1.295,00€ 66.990,00 € 95,78% E
V 1.060,00€ 68.050,00 € 97,30% E
B 825,00€ 68.875,00 € 98,48% E
T 590,00€ 69.465,00 € 99,32% E
M 355,00€ 69.820,00 € 99,83% E
C 120,00€ 69.940,00 € 100,00% E
这样我就可以说“A 级客户”赚了我总利润的 50%。
我使用本教程来创建我的测量:https: //www.youtube.com/watch?v= rlUBO5qoKow
total_sales = SUM(fact_table[sales])
cumulative sales =
VAR MYSALES = [total_sales]
RETURN
SUMX(
FILTER(
SUMMARIZE(ALLSELECTED(fact_table);fact_table[CustomerID];
"table_sales";[total_sales]);
[total_sales] >= MYSALES);
[table_sales])
由于我正在计算超过 1000 个唯一客户 ID 的累积销售额,因此计算需要很长时间!有没有办法可以将这个计算保存在一个新表中,所以我只需要计算一次?或者有没有人知道一个可以做同样但计算成本更低的测量?
任何帮助深表感谢!
解决方案
您可以将其作为计算列计算一次,但ALLSELCTED
由于计算列无法响应报表过滤器或切片器,因此不会像您预期的那样运行。
但是,您的措施有些效率低下。看起来您正在计算[total_sales]
两次,一次是内部SUMMARIZE
,一次是FILTER
.
我还没有测试过这个措施,但它可能会更快,如下所示:
cumulative sales =
VAR MYSALES = [total_sales]
RETURN
SUMX (
FILTER (
SUMMARIZECOLUMNS (
fact_table[CustomerID];
ALLSELECTED ( fact_table );
"table_sales"; [total_sales]
);
[table_sales] >= MYSALES
);
[table_sales]
)
重要的部分是重用[table_sales]
,FILTER
但SUMMARIZECOLUMNS也可能会更好一些。
推荐阅读
- powerbi-desktop - 关于在 Power BI 的视觉效果中具有组数据选项
- c++ - 串口文件描述符 close() 延迟
- r - 根据用户输入的值显示列数
- javascript - 将数字数组转换为键,后跟与键匹配的索引
- rstudio - 如何控制 bookdown 中管道格式表的格式,例如条带化?
- c++ - 在 SwiftUI 项目中链接和编译 C++ lib (Pcapplusplus) 的问题
- node.js - Vercel 中的 Sendgrid 不在生产中发送电子邮件
- c++ - 使用 webassembly 在浏览器中查询大型数据集
- javascript - .d.ts 声明可以向导出添加“as const”断言吗?
- visual-studio-code - 有没有办法在没有客户端密钥的情况下使用 API?