1
我有一個DAX聲明,它的複雜性持續增長,我感覺好像我正在有效地編寫它。任何人都可以幫助我理解如何簡化此聲明?如何簡化以下DAX聲明?
EVALUATE
ADDCOLUMNS (
ADDCOLUMNS (
ADDCOLUMNS (
ADDCOLUMNS (
ADDCOLUMNS (
ADDCOLUMNS (
ADDCOLUMNS (
Query_NewSales,
"isKit", NOT (
ISBLANK (
LOOKUPVALUE (Query_Kits[KitName], Query_Kits[KitName], Query_NewSales[Item])
)
)
),
"AvgCPI", IF (
[isKit],
LOOKUPVALUE (
DAX_KitsPricedMissingRemoved[Total Price],
DAX_KitsPricedMissingRemoved[KitName], Query_NewSales[Item]
),
LOOKUPVALUE (
DAXTable_NewPurchasesGroupedByItem[AvgCPI],
DAXTable_NewPurchasesGroupedByItem[Item], Query_NewSales[Item]
)
)
),
"isValid", NOT (ISBLANK ([AvgCPI]))
),
"VenueFeeCalculated", IF ([isValid], [Sold Price] * [Linked.VenueFee]),
"TransactionFeeCalculated", IF ([isValid], [Sold Price] * [Linked.PaymentFee])
),
"Gross Profit", IF (
[isValid],
[Sold Price] - [VenueFeeCalculated]
- [TransactionFeeCalculated]
- [Shipping Cost]
)
),
"Total Fees", [TransactionFeeCalculated] + [VenueFeeCalculated],
"Net Profit", IF ([isValid], [Gross Profit] - [AvgCPI])
),
"Fees Percent", IF ([isValid], [Linked.VenueFee] + [Linked.PaymentFee]),
"Shipping Percent", IF ([isValid], [Shipping Cost]/[Sold Price]),
"Overhead Percent", IF ([isValid], ([Sold Price] - [Gross Profit])/[Sold Price])
)
此代碼也似乎效率不高,因爲它創造了一大堆虛表,但沒有做這種方式我不能引用我在隨後的查詢中添加列。我不想重複,重複三次,等我繼續查詢。看起來,如果沒有所有的嵌套,我必須有辦法做到這一點。
你可以提取那些ADDCOLUMNS語句轉換爲計算的列或措施,打破代碼。 – David