/ / Czas wykonywania zapytania MDX - ssas, mdx

Czas pobierania zapytania MDX - ssas, mdx

Mam wspomnianą kwerendę MDX, która zajmuje zbyt dużo czasu, aby wykonać. wymiary dostawcy mają ~ 90k danych.


SELECT NON EMPTY {[Measures].[Amt]} w Kolumnach FROM (SELECT ({Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Sprzedawca]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUINTILES TRANSNATIONAL KOREA CO LTD"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO INC"), Filter ([Vendor]. [Hr_Vendor]. [Vendor], [Vendor]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO BA"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO AGT SA"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO BEL NV"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO CAN INC"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO AGENCIA EN"), Filter ([Vendor]. [Hr_Vendor]. [Vendor], [Vendor]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO PHARM"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO COMMERCIAL GMBH"), Filtr ([Producent]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO COMMERCIAL PTY LTD"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO COMMERCIAL LTD"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO TE LTD"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO HK"), Filter ([Vendor]. [Hr_Vendor]. [Vendor], [Vendor]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO IMS"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO MIS INC"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO MIS IRE LTD"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "CONG TY TNHH QUNTICO NAM"), Filtr ([Sprzedawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO PT"), Filter ([Vendor]. [Hr_Vendor]. [Vendor], [Vendor]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO LAB"), Filtr ([Sprzedawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO LTD"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO MI INC"), Filtr ([Producent]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO S DE RL DE CV"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO DEV CO LTD"), Filtr ([Sprzedawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "USŁUGI QUNTICO"), Filtr ([Sprzedawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "USŁUGI QUNTICO"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO PROF SRV CTR"), Filtr ([Sprzedawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO LTD"), Filtr ([Sprzedawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO SL"), Filtr ([Sprzedawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO SPA"), Filtr ([Sprzedawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO TRA LTD"), Filtr ([Sprzedawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTICO K K"), Filtr ([Dostawca]. [Hr_Vendor]. [Dostawca], [Producent]. [Hr_Vendor] .CURRENTMEMBER.Name = "QUNTIC`CO UK")} ) NA KOLUMNACH od [Cube])

Odpowiedzi:

2 dla odpowiedzi № 1

Dlaczego tak skomplikowane?

select [Measures].[Amt] on 0
from [Cube]
where
{
[Vendor].[Hr_Vendor].[QUINTILES TRANSNATIONAL KOREA CO LTD],
[Vendor].[Hr_Vendor].[QUNTICO INC],
[Vendor].[Hr_Vendor].[QUNTICO],
[Vendor].[Hr_Vendor].[QUNTICO BA],
[Vendor].[Hr_Vendor].[QUNTICO AGT SA],
[Vendor].[Hr_Vendor].[QUNTICO BEL NV],
[Vendor].[Hr_Vendor].[QUNTICO CAN INC],
[Vendor].[Hr_Vendor].[QUNTICO AGENCIA EN],
[Vendor].[Hr_Vendor].[QUNTICO PHARM],
[Vendor].[Hr_Vendor].[QUNTICO COMMERCIAL GMBH],
[Vendor].[Hr_Vendor].[QUNTICO COMMERCIAL PTY LTD],
[Vendor].[Hr_Vendor].[QUNTICO COMMERCIAL LTD],
[Vendor].[Hr_Vendor].[QUNTICO TE LTD],
[Vendor].[Hr_Vendor].[QUNTICO HK],
[Vendor].[Hr_Vendor].[QUNTICO IMS],
[Vendor].[Hr_Vendor].[QUNTICO MIS INC],
[Vendor].[Hr_Vendor].[QUNTICO MIS IRE LTD],
[Vendor].[Hr_Vendor].[CONG TY TNHH QUNTICO NAM],
[Vendor].[Hr_Vendor].[QUNTICO PT],
[Vendor].[Hr_Vendor].[QUNTICO LAB],
[Vendor].[Hr_Vendor].[QUNTICO LTD],
[Vendor].[Hr_Vendor].[QUNTICO MI INC],
[Vendor].[Hr_Vendor].[QUNTICO S DE RL DE CV],
[Vendor].[Hr_Vendor].[QUNTICO DEV CO LTD],
[Vendor].[Hr_Vendor].[QUNTICO SERVICES],
[Vendor].[Hr_Vendor].[QUNTICO SERVICES],
[Vendor].[Hr_Vendor].[QUNTICO PROF SRV CTR],
[Vendor].[Hr_Vendor].[QUNTICO LTD],
[Vendor].[Hr_Vendor].[QUNTICO SL],
[Vendor].[Hr_Vendor].[QUNTICO SPA],
[Vendor].[Hr_Vendor].[QUNTICO TRA LTD],
[Vendor].[Hr_Vendor].[QUNTICO K K],
[Vendor].[Hr_Vendor].[QUNTIC`CO UK]
}

-1 dla odpowiedzi № 2

Mam kolejną kwerendę, która wymaga czasu. Czy ktoś może pomóc w jej optymalizacji?

WITH
MEMBER [Measures].[My Ancestor] AS (
Ancestor ( [Vendor].[HR_Vendor].CurrentMember,
[Vendor].[HR_Vendor].[Vendor Head]).NAME + "-->" +
Ancestor ( [Vendor].[HR_Vendor].CurrentMember, [Vendor].[HR_Vendor].[Vendor]).NAME)

SELECT {
[Measures].[My Ancestor],
[Measures].[Sales Tax]
} ON COLUMNS,
NonEmptyCrossJoin(
FILTER([Vendor].[HR_Vendor].[Vendor].ALLMEMBERS,
vbamdx!INSTR([Vendor].[Vendor].CURRENTMEMBER.Name,"quint",1 >= 1 ))) ON ROWS
FROM [Cube_TE]