Paraméterezett Power Pivot listák


Sokszor jön olyan igény a felhasználóktól, hogy szeretnének egy dátum tól-ig listát amiben például kilistázzuk a megrendeléseket:

 

 

Nem pivot táblát szeretnének, csak egy egyszerű listát egy tábla adataiból úgy hogy a szűrőfeltételeket ők maguk adhassák meg szabadszövegesen.

 

Sajnos ennek az egyszerű kérésnek a megoldása nem is olyan egyszerű. Makrózni kell hozzá. A gomb mögötti makró, ami a fenti táblát feltölti a paraméterekben megadott időszak rendeléseivel itt található:

 

Sub RunReport()

   

    Dim FromDateFilter As String

    Dim ToDateFilter As String

    Dim DAXQuery As String

    Dim DemoWorksheet As Worksheet

    Dim DAXTable As TableObject

    Set DemoWorksheet = Application.Worksheets("1. Wanted Delivery Date")

  

    'Find the value of the cell containing the Day Number Of Month filter value

    FromDateFilter = DemoWorksheet.Range("FromDateFilter").Value

    ToDateFilter = DemoWorksheet.Range("ToDateFilter").Value

    'Construct the DAX query

    DAXQuery = "EVALUATE(FILTER('Customer Order Lines',[WANTED_DELIVERY_DATE] >= DateValue(""" & FromDateFilter & """) && [WANTED_DELIVERY_DATE] <= DateValue(""" & ToDateFilter & """))) ORDER BY 'Customer Order Lines'[WANTED_DELIVERY_DATE]"

    'MsgBox (DAXQuery)

                   

    'Bind the table to the DAX query

    Set DAXTable = DemoWorksheet.ListObjects("Táblázat_DateWanted").TableObject

    With DAXTable.WorkbookConnection.OLEDBConnection

        .CommandText = Array(DAXQuery)

        .CommandType = xlCmdDAX

    End With

    'Run the query

  

    ActiveWorkbook.Connections("ModelConnection_DateWanted").Refresh

End Sub

 

A megvalósítás alapgondolata innen származik: Dynamic DAX Query Tables in Excel 2013

Elválasztó

Már készül a következő cikk. Iratkozzon fel az értesítőre.

|

Kővári Attila
2014. július 22.
Címkék: