Pergunta

a partir de alguns motivos que eu preciso para inserir um artificial ("dummy") de coluna em uma expressão mdx.(a razão é que eu precisa para obter uma consulta com número específico de colunas )

para ilustrate, este é meu exemplo de consulta:

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]

não é muito importante, apenas algumas medidas e crossjoined dimensões.Agora eu precisaria adicionar f.e.2 colunas extras, eu não me importo se isso seria uma medida com null/0 valores ou outro crossjoined dimensão.Posso fazer isso em algum maneira fácil sem necessidade de inserir quaisquer dados no meu cubo?

No sql posso escrever apenas Selecione 0 ou selecione "dummy1", mas aqui não é possível nem em LINHAS, nem nas COLUNAS parte da consulta.

Muito obrigado pela sua ajuda,

Cumprimentos,

Pedro

ps:até agora, eu só poderia inserir alguma medida mais vezes, mas eu estou interessado se há uma possibilidade de inserir realmente "dummy" coluna

Foi útil?

Solução

Sua consulta tem a dimensão de medidas em colunas.A maneira mais fácil para estendê-lo por algumas colunas seria repetir a última medida, o número de vezes que você obter o número correto de colunas.

Outra possibilidade, que pode ser mais eficiente no caso de a última medida é complexa para calcular seria a utilização de

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]

eu.e.a adição de um manequim medida que não deve precisar de muito computação como muitas vezes como você precisa para o fim das colunas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top