[英]Power BI DAX How to add column to a calculated table that summarizes another
我有一个 TestTable,它总结了 Month 列上的表 Receipts 并添加了一个列,该列计算每个月在 Receipts 表中出现的次数(发生)。
TestTable = SUMMARIZE(Receipts, Receipts[Month], "TotalReceiptsIssuedInThisMonth", SUM(Receipts[Receipts Issued]), "OccurenceOfMonth", COUNT(Receipts[Month]))
我想在这个 TestTable 中添加两列,它将告诉我以下内容:
我知道我可以单击“新列”并使用以下公式:
AvgPercentageReceiptsIssuedInThisMonth = TestTable[TotalReceiptsIssuedInThisMonth]/TestTable[TotalReceiptsIssued]
TotalReceiptsIssued = SUM(TestTable[TotalReceiptsIssuedInThisMonth])
但是,我需要将这两列直接集成到原始的 TestTable 公式中,以便一步完成,以用作原始 Receipts 表中的变量(否则,如果我尝试使用关系,我最终会得到循环逻辑)。
我尝试了以下方法:
TestTable = SUMMARIZE(PPTs, PPTs[Month], "TotalReceiptsIssuedInThisMonth", SUM(PPTs[PPTs Issued]), "OccurenceOfMonth", COUNT(PPTs[Month]), "TotalReceiptsIssued", SUM(TestTable[TotalReceiptsIssuedInThisMonth]), "AvgPercentageReceiptsIssuedInThisMonth", TestTable[TotalReceiptsIssuedInThisMonth]/TestTable[TotalReceiptsIssued])
但这会返回一个错误,提示“无法确定表 'TestTable”中列 'TotalReceiptsIssuedInThisMonth' 的单个值。 当度量公式引用包含许多值的列而未指定聚合(例如 min、max、count 或 sum)以获得单个结果时,可能会发生这种情况。” 我试过了:
TestTable =
VAR first = SUMMARIZE(Receipts, Receipts[Month], "TotalReceiptsIssuedInThisMonth", SUM(Receipts[Receipts Issued]), "OccurenceOfMonth", COUNT(Receipts[Month]))
VAR second = SUM(TestTable[TotalReceiptsIssuedInThisMonth])
VAR third = first[TotalReceiptsIssuedInThisMonth]/second
RETURN
third
但这会返回一个错误,说“变量'first'不能在当前上下文中使用,因为需要一个基表。”
所以我的问题是,如何将这三个步骤组合成一个 DAX 公式?
我会做这样的事情。 我更喜欢ADDCOLLUMN(SUMMARIZE()...)
,因为它有助于避免上下文错误。 由于您需要一个 var 表,因此您需要 ADDCOLUMNS 中的 CALCULATE,因为它添加了行上下文。
VAR TestTable =
ADDCOLUMNS(
SUMMARIZE(
Receipts
,Receipts[Month]
)
,"TotalReceiptsIssuedInThisMonth",CALCULATE(SUM(Receipts[Receipts Issued]))
,"OccurenceOfMonth", CALCULATE(COUNT(Receipts[Month]))
,"TotalReceiptsIssued ",SUM(Receipts[Receipts Issued])
)
RETURN
ADDCOLUMNS(
TestTable
,"AvgPercentageReceiptsIssuedInThisMonth"
,DIVIDE([TotalReceiptsIssuedInThisMonth],[TotalReceiptsIssued])
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.