Forum Discussion

dapperscavenger's avatar
5 years ago
Solved

Multiple filters with CALCULATE (COUNTROWS(FILTER (VALUES

I'm trying to find a way to show where I have SKUs with sales but no forecast and also SKUs with forecast but no sales, for any given product.  This way it alerts me if I have forecast on the wrong SKUs.   For example, where I am forecasting on SKU A but I am actually selling on SKU B.

 

I've broken it into steps: 

 

1: count number of SKUs with sales in last 3 months but no forecast

2. count numbers of SKUs with forecast in next 3 months but no sales

3. if both above steps are >0, display product in table

 

This is the formula I have started withn for step 1.  It shows SKUs with sales > 5 in last 5 months - but how do I add the filter to ensure it also excludes SKUs with forecast?

No. SKUs Sales = CALCULATE (
    COUNTROWS(
        FILTER (
            VALUES ( 'Fact APO'[L8 SKU] ),
            CALCULATE (
                SUM ( 'Fact APO'[Billed Sales EU] )
            ) > 5
        )
    ),
    DimDate[Rolling12] = "Last 3 Months"
)

 

The second formula shows SKUs with forecast >5 in next 3 months.  But how do I exclude thse which also have sales?

No. SKUs Fcst = CALCULATE (
    COUNTROWS(
        FILTER (
            VALUES ( 'Fact APO'[L8 SKU] ),
            CALCULATE (
                SUM ( 'Fact APO'[FTBP EU] )
            ) > 5
        )
    ),
    DimDate[Rolling12] = "Next 3 Months" 
)

 

Essentially, I'm having issues putting the two formulas together.

 

Thanks for the help

  • dapperscavenger Perhaps:

    No SKUs Sales and Fcst =
      VAR __Table = SUMMARIZE('Fact APO',[L8 SKU],"__BilledSalesEU",SUM('Fact APO'[Billed Sales EU]),"__FTBPEU",SUM('Fact APO'[FTBP EU]))
    RETURN
      COUNTROWS(FILTER(__Table,[__BilledSalesEU] > 5 && [__FTBPEU] > 5))

3 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Icon for Community Champion rankCommunity Champion

    dapperscavenger Perhaps:

    No SKUs Sales and Fcst =
      VAR __Table = SUMMARIZE('Fact APO',[L8 SKU],"__BilledSalesEU",SUM('Fact APO'[Billed Sales EU]),"__FTBPEU",SUM('Fact APO'[FTBP EU]))
    RETURN
      COUNTROWS(FILTER(__Table,[__BilledSalesEU] > 5 && [__FTBPEU] > 5))
    • dapperscavenger's avatar
      dapperscavenger
      Icon for Helper V rankHelper V

      Thank you!  I was able to use a variation of this to get the outcome I needed 🙂

  • v-xulin-mstf's avatar
    v-xulin-mstf
    Icon for Community Support rankCommunity Support

    Hi dapperscavenger,

    Can you provide your data structure and sample data?
    That would make the issue clear.

     

    Best Regards,

    Link

     

    Is that the answer you're looking for? If this post helps, then please consider Accept it as the solution. Really appreciate!