Forum Discussion

horaciorek's avatar
horaciorek
New Member
3 years ago
Solved

Count data based on slicer parameters

Please look at this dashboard just created to illustrate my problem:

First slicer represents the number of years (times) where data exists for an indicator series.

Second slicer represent the year to count from.

For Albania, as i show in the table, the series count should be 3. For Armenia should be 2.

 

The dashboard is using this data sample:

CountryYearIndicatorSeries
Albania20151.1.1ind1
Albania20101.1.1ind1
Albania20161.1.1ind1
Albania20181.1.1ind2
Albania20111.1.1ind2
Albania20191.1.1ind2
Albania20151.1.1ind2
Albania20102.1.1ind3
Albania20162.1.1ind3
Albania20182.1.1ind4
Albania20112.1.1ind4
Albania20192.1.1ind4
Armenia20111.1.1ind1
Armenia20101.1.1ind1
Armenia20161.1.1ind1
Armenia20181.1.1ind2
Armenia20201.1.1ind2
Armenia20191.1.1ind2
Armenia20151.1.1ind2
Armenia20162.1.1ind3
Armenia20162.1.1ind3
Armenia20182.1.1ind4
Armenia20112.1.1ind4
Armenia20202.1.1ind4
Armenia20102.1.1ind4

 

This is my measure:

IndicatorSeriesCount = 
VAR FilteredData =
    FILTER(
        Data,
        Data[Year] >= [Year Value]
    )
VAR IndicatorSeriesCounts =
    SUMMARIZE(
        FilteredData,
        Data[Indicator],
        Data[Series],
        "YearCount", COUNTROWS(FilteredData)
    )
VAR IndicatorSeriesWithMultipleYearsCount =
    COUNTROWS(
        FILTER(
            IndicatorSeriesCounts,
            [YearCount] > [Years Value]
        )
    )
RETURN   IndicatorSeriesWithMultipleYearsCount

I think the problem is that i need to include a distinctcount somewhere, but i am not sure where.

 

Download the Pbix file here

I'd appreciate any help. Thanks!

  • This measure did the trick:

    Filtered = 

    VAR FilteredData =

        FILTER(

            Data,

            Data[Year] >= [Year Value]

        )

    VAR SummaryTable =

        SUMMARIZE(

            FilteredData,

            Data[Country],

            Data[Indicator],

            Data[Series],

            "YearCount", CALCULATE(DISTINCTCOUNTNOBLANK(Data[Year]))

        )

    VAR IndicatorSeriesWithMultipleYearsCount =

        COUNTROWS( FILTER(SummaryTable, [YearCount] >= Years[Years Value]))

    RETURN

        IndicatorSeriesWithMultipleYearsCount

3 Replies

  • This measure did the trick:

    Filtered = 

    VAR FilteredData =

        FILTER(

            Data,

            Data[Year] >= [Year Value]

        )

    VAR SummaryTable =

        SUMMARIZE(

            FilteredData,

            Data[Country],

            Data[Indicator],

            Data[Series],

            "YearCount", CALCULATE(DISTINCTCOUNTNOBLANK(Data[Year]))

        )

    VAR IndicatorSeriesWithMultipleYearsCount =

        COUNTROWS( FILTER(SummaryTable, [YearCount] >= Years[Years Value]))

    RETURN

        IndicatorSeriesWithMultipleYearsCount
  • tamerj1's avatar
    tamerj1
    Icon for Community Champion rankCommunity Champion

    Hi horaciorek 
    Please try

    IndicatorSeriesCount = 
    VAR FilteredData =
        FILTER(
            Data,
            Data[Year] >= [Year Value]
        )
    VAR IndicatorSeriesCounts =
        SUMMARIZE(
            FilteredData,
            Data[Indicator],
            Data[Series],
            "@YearCount", COUNTROWS(Data)
        )
    VAR IndicatorSeriesWithMultipleYearsCount =
        COUNTROWS(
            FILTER(
                IndicatorSeriesCounts,
                [@YearCount] >= [Years Value]
            )
        )
    RETURN
        IndicatorSeriesWithMultipleYearsCount
    • horaciorek's avatar
      horaciorek
      New Member

      Thanks for your effort, but it doesn't seem to do the trick. With your measure, using the values I have in the image, it gives me 3 for both countries, when it should be 2 for Armenia...