我已经创建了一个Dax代码,它根据一些过滤器计算我们公司的SKU数量。现在,我的dataset中有以下代码+助手列,这样做是正确的。
Number of Active SKU =
CALCULATE( COUNTROWS('Item'),
FILTER('Item','Item'[Helpcolumn3] = 1 ),
FILTER('SKUInfo',SKUInfo[StockKeeping] = "1" ),
NOT('Item'[SKUStatus] IN { "P", "U", "X", "Z" } ) )Helpcolumn3由我的数据集中的三个计算列组成,大约有100万行。
HelpColumn1= IF('Item'[SKULevel] IN {"1","2","3","4","5","6"} && 'Item'[SKUCode] IN{"A","B","C","D","G"},1,0)
HelpColumn2= IF('Item'[SKUCode] ="K", 1, 0 )
HelColumn3 = 'Item'[HelpColumn1] + 'Item'[HelpColumn2]额外帮助栏背后的原因是,我不知道如何将这个部分纳入我的测量。我确信这是可能的,而且我希望避免创建三个额外的帮助列,每个列有100万行,因为数据模型已经相当大了。
任何帮助,我可以这样做,白化,创建额外的列,将不胜感激!
发布于 2021-09-23 14:42:46
请您试一下好吗?
_count=
CALCULATE (
COUNTROWS ( 'Item' ),
TREATAS (
UNION (
SUMMARIZE (
CALCULATETABLE (
'Item',
CROSSJOIN (
{ "1", "2", "3", "4", "5", "6" },
FILTER ( VALUES ( 'Item'[SKUCode] ), 'Item'[SKUCode] IN { "A", "B", "C", "D", "G" } )
)
),
'Item'[SKULevel],
'Item'[SKUCode]
),
SUMMARIZE ( FILTER ( 'Item', 'Item'[SKUCode] = "C" ), 'Item'[SKULevel], 'Item'[SKUCode] )
),
'Item'[SKULevel],
'Item'[SKUCode]
),
FILTER ( VALUES ( 'SKUInfo'[Stockkeeping] ), 'SKUInfo'[Stockkeeping] = 1 ),
NOT 'Item'[SKUStatus] IN { "P", "U", "X", "Z" }
) 我在这个测量中传递三个过滤过的表来进行计数。
第一组是下面的块->,它为'Item'[SKULevel]={ "1", "2", "3", "4", "5", "6" }和'Item'[SKUCode]={ "A", "B", "C", "D", "G" }计算数据的任何组合元素
TREATAS (
UNION (
SUMMARIZE (
CALCULATETABLE (
'Item',
CROSSJOIN (
{ "1", "2", "3", "4", "5", "6" },
FILTER ( VALUES ( 'Item'[SKUCode] ), 'Item'[SKUCode] IN { "A", "B", "C", "D", "G" } )
)
),
'Item'[SKULevel],
'Item'[SKUCode]
),
SUMMARIZE ( FILTER ( 'Item', 'Item'[SKUCode] = "C" ), 'Item'[SKULevel], 'Item'[SKUCode] )
),
'Item'[SKULevel],
'Item'[SKUCode]第二组表是以下块--它进一步将第一个表的计数筛选为仅'SKUInfo'[Stockkeeping] = 1
FILTER ( VALUES ( 'SKUInfo'[Stockkeeping] ), 'SKUInfo'[Stockkeeping] = 1 )第三组表是以下块--进一步将第二组筛选为仅NOT 'Item'[SKUStatus] IN { "P", "U", "X", "Z" }
NOT 'Item'[SKUStatus] IN { "P", "U", "X", "Z" }简单地说,对于任何具有'Item'[SKULevel]={ "1", "2", "3", "4", "5", "6" }和'Item'[SKUCode]={ "A", "B", "C", "D", "G" }但只有'SKUInfo'[Stockkeeping] = 1和无带有[SKUStatus]="P", "U", "X", "Z"的项,它都会返回[SKUStatus]="P", "U", "X", "Z"。
https://stackoverflow.com/questions/69300843
复制相似问题