Question

De certaines raisons, j'ai besoin d'insérer une colonne artificielle (factice) dans une expression MDX.(La raison est que j'ai besoin d'obtenir une requête avec un nombre spécifique de colonnes)

à iltrate, c'est ma requête d'échantillon:

SELECT {[Measures].[AFR],[Measures].[IB],[Measures].[IC All],[Measures].[IC_without_material],[Measures].[Nonconformance_PO],[Measures].[Nonconformance_GPT],[Measures].[PM_GPT_Weighted_Targets],[Measures].[PM_PO_Weighted_Targets], [Measures].[AVG_LC_Costs],[Measures].[AVG_MC_Costs]}    ON COLUMNS,
([dim_ProductModel].[PLA].&[SME])
*  ORDER(  {([dim_ProductModel].[Warranty Group].children)} , ([Measures].[Nonconformance_GPT],[Dim_Date].[Date Full].&[2014-01-01]) ,desc)   
* ([dim_ProductModel].[PLA Text].members  - [dim_ProductModel].[PLA Text].[All]) 
* {[Dim_Date].[Date Full].&[2013-01-01]:[Dim_Date].[Date Full].&[2014-01-01]} ON ROWS
FROM [cub_dashboard_spares]

Ce n'est pas très important, juste quelques mesures et des dimensions croisées.Maintenant, j'aurais besoin d'ajouter f.e.2 colonnes supplémentaires, je me fiche de savoir si ce serait une mesure avec des valeurs NULL / 0 ou une autre dimension croisée.Puis-je faire cela de manière simple sans insérer aucune donnée dans mon cube?

Dans SQL, je peux simplement écrire Sélectionner 0 ou sélectionner "Dummy1", mais ici, il n'est pas possible de ne pas entrer sur des rangées ni dans des colonnes une partie de la requête.

Merci beaucoup pour votre aide,

Cordialement,

Peter

PS: Jusqu'à présent, je pouvais simplement insérer une certaine mesure plus de fois, mais je suis intéressé s'il est possible d'insérer une colonne vraiment "mannequin"

Était-ce utile?

La solution

Votre requête a simplement la dimension de mesures sur les colonnes.Le moyen le plus simple de l'étendre par certaines colonnes serait de répéter la dernière mesure autant de fois que vous obtenez le nombre correct de colonnes.

Une autre possibilité, qui peut être plus efficace au cas où la dernière mesure est complexe à calculer serait d'utiliser

WITH member Measures.dummy as NULL
SELECT {[Measures].[AFR],[Measures].[IB],[Measures].[IC All],[Measures].[IC_without_material],[Measures].[Nonconformance_PO],[Measures].[Nonconformance_GPT],[Measures].[PM_GPT_Weighted_Targets],[Measures].[PM_PO_Weighted_Targets], [Measures].[AVG_LC_Costs],[Measures].[AVG_MC_Costs],
Measures.dummy, Measures.dummy, Measures.dummy
}
ON COLUMNS,

([dim_ProductModel].[PLA].&[SME])
*  ORDER(  {([dim_ProductModel].[Warranty Group].children)} , ([Measures].[Nonconformance_GPT],[Dim_Date].[Date Full].&[2014-01-01]) ,desc)   
* ([dim_ProductModel].[PLA Text].members  - [dim_ProductModel].[PLA Text].[All]) 
* {[Dim_Date].[Date Full].&[2013-01-01]:[Dim_Date].[Date Full].&[2014-01-01]}
ON ROWS

FROM [cub_dashboard_spares]

i.e.Ajout d'une mesure factice qui ne devrait pas avoir besoin de beaucoup de calcul autant de fois que vous en avez besoin jusqu'à la fin des colonnes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top