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

 

Új hozzászólás