2016-07-09 6 views
0

Suchen nach einer MDX-Abfrage für SSAS, um die durchschnittlichen Berichtsausführungen pro Stunde in einem beliebigen Zeitrahmen zu erhalten. Ich arbeite mit einem Würfel, der SSRS-Metadaten hat ... und ich möchte durchschnittliche Ausführungen pro Stunde erhalten.
Ich dachte, ich muss zählen, wie viele Stunden sind beteiligt .... wie viele Berichte werden nur bis 5 ausgeführt PM .... so kann ich keinen geraden 24-Stunden-Zeitrahmen machenMDX-Zählereignisse pro Stunde im Zeitverlauf

Ich habe so etwas so weit .... aber es ist ständig durch alle Stunden zu teilen .... Auch ich bin bereits auf der Spur Gesamtanzahl der Ausführungen ....

hier ist die mdx ich habe ... die calc funktioniert, aber es teilt alles um 16 für einen bestimmten Tag ... dh .... für 12PM .... es teilt sich durch die Gesamttransaktionen um 16 Stunden .... aber die Transaktion ist nur zweimal aufgetreten .... zwischen 12-1.PM, also sollte es durch 2 teilen .....

WITH MEMBER [Measures].[Hour Count] AS 
     sum(
       [Execution End Time].[24 Hour Time].[Hour 24].MEMBERS, 
       IIF([Measures].[Report Execution Count] >= 1,1,0)) 
     MEMBER [Measures].[Average Exec Per Hour] AS 
       ([Measures].[Report Execution Count]/[Measures].[Hour Count]) 

select 
    {[Measures].[Hour Count] 
, [Measures].[Report Execution Count] as ['Transaction Count'] 
, [Measures].[Average Exec Per Hour]} 
on Columns 
     ,[Execution End Time].[24 Hour Time].[Hour 24] on Rows 
from [BICC DM] 
where ([Execution End Date].[Calendar Dates].[Date Key].&[20160707]) 

Data extract

+0

Eine Stunde tritt einmal pro Stunde auf, also wie wäre '[Measures]. [Hour Count]' jemals mehr als 1 in diesem von Ihnen bereitgestellten Datenextrakt? – whytheq

+0

Die Kennzahl zeigt an, wie viele Stunden an einer bestimmten Transaktion beteiligt sind. Beispiel. Die Transaktion findet um 12 Uhr am Montag ... und um 15 Uhr am Dienstag statt ... 2 Stunden sind involviert ... also wird für diesen Bericht eine 2 in diesem Maß platziert. – AlenKnight

+0

Aber Sie haben Stunden in den Zeilen Ihrer Ergebnisse - so ist für jede Stunde definitionsgemäß nur eine Stunde beteiligt! – whytheq

Antwort

0

ändern Sie die Definition der ersten Maßnahme unter -

WITH MEMBER [Measures].[Hour Count] AS 
IIF(
    ([Execution End Time].[24 Hour Time].CurrentMember,[Measures].[Report Execution Count]) >= 1, 
    1, 
    0 
    ) 

Das Problem mit Ihrer bestehenden Maßnahme ist die den Wert für einen statischen Satz auswertet (d [Execution End Time].[24 Hour Time].[Hour 24].MEMBERS). Ich denke, was Sie tun möchten, ist es für die aktuelle Stunde statt.

+0

Ich dachte ursprünglich in dieser Richtung - aber Ihr Maß wird nie mehr als 1 zurückgeben? – whytheq

+0

ummm..ich denke es wird. Hier wird diese Zahl die Anzahl der Transaktionen, die in einer Stunde stattgefunden haben, zurückgeben, wenn ich die Fragen richtig verstanden habe. – SouravA

+0

Wie auch immer, es gibt definitiv ein Problem mit dem Aufbau der Maßnahme. OP muss das untersuchen. – SouravA

Verwandte Themen