MDX und Filtern
Analysis Services BI MDX Allgemein
Angenommen man hat folgende schöne Abfrage an einen Cube...
SELECT
NON EMPTY {
[Measures].[CI],
[Measures].[CO],
[Measures].[OM] } ON COLUMNS,
NON EMPTY { (
[Calendar].[Year].[Year].ALLMEMBERS *
[Calendar].[Month].[Month].ALLMEMBERS *
[MCP Station].[HMCPStation].[Station].ALLMEMBERS ) }
DIMENSION PROPERTIESMEMBER_CAPTION, MEMBER_UNIQUE_NAMEON ROWSFROM [Station]
Wie filtere ich die Daten ....
Kategorie Angenommen man hat folgende schöne Abfrage an einen Cube...
SELECT
NON EMPTY {
[Measures].[CI],
[Measures].[CO],
[Measures].[OM] } ON COLUMNS,
NON EMPTY { (
[Calendar].[Year].[Year].ALLMEMBERS *
[Calendar].[Month].[Month].ALLMEMBERS *
[MCP Station].[HMCPStation].[Station].ALLMEMBERS ) }
DIMENSION PROPERTIESMEMBER_CAPTION, MEMBER_UNIQUE_NAMEON ROWSFROM [Station]
Wie filtere ich die Daten ....
Im wesentlichen habe ich zwei Arten gefunden
einmal mit Filter sieht so aus:
SELECT
NON EMPTY {
[Measures].[CI],
[Measures].[CO],
[Measures].[OM] } ON COLUMNS,
NON EMPTY { (
Filter([Calendar].[Year].[Year].ALLMEMBERS,[Calendar].[Year].CurrentMember.Member_Key >= 2013) *
[Calendar].[Month].[Month].ALLMEMBERS *
[MCP Station].[HMCPStation].[Station].ALLMEMBERS ) }
DIMENSION PROPERTIESMEMBER_CAPTION, MEMBER_UNIQUE_NAMEON ROWSFROM [Station]
und einmal mit Having
SELECT
NON EMPTY {
[Measures].[CI],
[Measures].[CO],
[Measures].[OM] } ON COLUMNS,
NON EMPTY { (
[Calendar].[Year].[Year].ALLMEMBERS *
[Calendar].[Month].[Month].ALLMEMBERS *
[MCP Station].[HMCPStation].[Station].ALLMEMBERS ) }
Having [Calendar].[Date].CurrentMember.Member_Key >= 2013
DIMENSION PROPERTIESMEMBER_CAPTION, MEMBER_UNIQUE_NAMEON ROWSFROM [Station]
Es gibt nun Menschen im Internet, welche behaupten, dass man HAVIG dem Filter vorziehen sollte, da schneller...
Dies konnte ich bei meinem Cube nicht betätigt bekommen.... bei einer anderen Hierachie, war der Having langsamer als der Filter ...
Gruß JJR
SELECT
NON EMPTY {
[Measures].[CI],
[Measures].[CO],
[Measures].[OM] } ON COLUMNS,
NON EMPTY { (
Filter([Calendar].[Year].[Year].ALLMEMBERS,[Calendar].[Year].CurrentMember.Member_Key >= 2013) *
[Calendar].[Month].[Month].ALLMEMBERS *
[MCP Station].[HMCPStation].[Station].ALLMEMBERS ) }
DIMENSION PROPERTIESMEMBER_CAPTION, MEMBER_UNIQUE_NAMEON ROWSFROM [Station]
und einmal mit Having
SELECT
NON EMPTY {
[Measures].[CI],
[Measures].[CO],
[Measures].[OM] } ON COLUMNS,
NON EMPTY { (
[Calendar].[Year].[Year].ALLMEMBERS *
[Calendar].[Month].[Month].ALLMEMBERS *
[MCP Station].[HMCPStation].[Station].ALLMEMBERS ) }
Having [Calendar].[Date].CurrentMember.Member_Key >= 2013
DIMENSION PROPERTIESMEMBER_CAPTION, MEMBER_UNIQUE_NAMEON ROWSFROM [Station]
Es gibt nun Menschen im Internet, welche behaupten, dass man HAVIG dem Filter vorziehen sollte, da schneller...
Dies konnte ich bei meinem Cube nicht betätigt bekommen.... bei einer anderen Hierachie, war der Having langsamer als der Filter ...
Gruß JJR