Tag: mdx

MDX NON EMPTY多维轴

我正在写VBA中的MDX代码,我必须把数据放在Excel中。 SELECT { [Measures].[VL PROD], [Measures].[Impostos], [Measures].[RecLiqProd], [Measures.[ValorMgProd], [Measures].[QTD ITENS] ,[Measures].[VL FRETE] } ON 0, NON EMPTY ( { Descendants( [Produto].[Produto].[Departamento], 5 ) } ) ON 1, NON EMPTY ( { [Data Pedido].[Data].[Ano].&[2014].&[2].&[6].&[1]:[Data Pedido].[Data].[Ano].&[2014].&[2].&[6].&[26] } ON 2, NON EMPTY ( { [Unidade Negócio].[Unidade Negócio].&[Unidade 1], [Unidade Negócio].[Unidade Negócio].&[Unidade 2], [Unidade Negócio].[Unidade Negócio].&[Unidade 3] } ) […]

由FILTER产生的集合与从{}产生的集合在集合方面的差异

我正在build立/维护一个相当庞大的报告,目前依靠Excel中的Cube公式(是的,这太可怕了,是的,没有其他select)。 一个有点痛苦的地方是CubeSet ,它通常是通过指定每个成员的集合来长时间指定的,例如 CUBESET( __CurrentSheet_Connection__, "{ [Geography].[CountryHierarchy].[Asia].[China], [Geography].[CountryHierarchy].[Asia].[Japan] }" ) 当成员改变名字,或者更糟糕的是,在层级结构的时候(例如,如果我们消除了亚洲,直接走向国家),维护这个过程当然是相当困难的。 一种更直接的维护方法是尝试使用FILTER而不是一些文本parsing来获得一个集合。 不幸的是,这不起作用,因为当Excel将公式转换成查询时,它将组传递给AGGREGATE函数。 出于某种原因,而 WITH MEMBER [D].[H].[XL_51] AS AGGREGATE({[D].[H].[M1], [D].[H].[M2]}) 作品, WITH MEMBER [D].[H].[XL_51] AS AGGREGATE( FILTER( [D].[H].Children, INSTR("|M1||M2||M3|", "|" & [D].[H].CurrentMember.Name & "|", 0) ) ) 当结果集合传递给CUBEVALUE公式时, 谁能告诉我,首先,为什么第二个不行,理想情况下,如果有办法让它(或类似的)工作。 编辑:意识到我与Excel转换成一个立方体集的语句有错误。 我有SET ,它使用MEMBER来设置(并将它们聚合在一起)。 编辑2:添加,我试图使用成员通过CUBEVALUE()公式获取值。

VBA对Analysis Services的Reptitive MDX查询

我有一个报告,每周运行相同的MDX查询,并将结果粘贴到工作表中,然后生成报告。 我知道如何连接到Excel中的OLAP多维数据集,但我不喜欢操纵数据透视表来匹配我的查询。 我想使用VBA连接到多维数据集,并将特定查询的结果作为值粘贴或表返回到工作表中。 我可以将MDX查询保存在单独的工作表中。 这可能吗? 我是VBA的新手,所以我不确定从哪里开始。 任何示例代码将是伟大的。

SSAS。 如何通过Excel中的操作打开FILE://

我已经在Item维度内创build了一个叫做LinkToImage的属性。 下列文件的属性存储path: file://\\localhost\dir\img1.jpg file://\\localhost\dir\img2.jpg and so on… 我已经通过下面的Visual Studio 2013创build了一个动作: MyCube.cube > Actions > 名称: Link To Image 目标types: Attribute members 目标对象:项目。 Item.Link To Image 操作内容types: URL 操作expression式: [Item].[Link To Image].CURRENTMEMBER.NAME 其他属性标题: "Link To Image" 在这种情况下,我得到了警告: 不以“http://”或“https://”开头的url会被视为不安全,并且不会被大多数应用程序显示 在部署并将其导出到Excel后,在Additional Actions我看到“ No Actions Defined 如果我将Action Expression更改为: "HTTP://" + [Item].[Link To Image].CURRENTMEMBER.NAME 在Excel中出现Additional Actions > Link To Image […]

SSRS / MDX – 额外的行反转收费

我在SSRS中有一个关于MDX查询的财务报告。 报告运行,导出到Excel,然后加载到财务系统,如SAP。 我需要包括一个“反转”行,收费属于某一类别。 例如(下面)对于“产品货运”的“types”的任何事情,我也想包括一个额外的行,负值,基本上扭转报告中的费用。 这个: | Charge | Account | Type | Invoice | GST | |——————|———|—————–|———|—–| | Apple | 123 | Product | $100 | $10 | | Banana | 123 | Product | $200 | $20 | | Orange | 456 | Product | $150 | $15 | | Orange (Freight) | 456 […]

如何在不使用立方体的情况下使用MDX在SSAS中创build新维度?

我需要使用另一个维度创build一个维度,以在SSAS中创build一些计算属性以显示在Excel切片器中。 但我不想处理立方体。 只能使用MDX代码来使用另一个维度,并在切片机中创build新维度。 例如,我们有一个名为DimAgeGroup的维度。 它有7组。 0-10,10-20,…,60-70 那么我需要使用mdx创build一个维度,以显示在30和30之后显示在Excel切片器没有任何多维数据集处理。 任何想法?

使用VBA获取MDX数据

我很难在Excel中连接到MDX数据库的结果。 下面是我的代码(我非常新,所以请耐心等待。)我劫持了某人的错误代码,所以这部分不是我的。 查询运行,但我没有收到Excel中的数据。 任何帮助,将不胜感激。 Sub Test() Sheets("DataDump").Select ActiveSheet.Range("A1").Value = "Department" Set cn = New ADODB.Connection cn.Open "provider=MSOLAP.3;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=XXX;Data Source=XXXXX;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error" Set rs = New ADODB.Recordset strSQL = "select [product].[base color] on columns " strSQL = strSQL & " From XXX " strSQL = strSQL & " Where [Date].[Fiscal […]

总季度到半年的OLAP MDX

我有以下时间层次结构: Year -> Quarter -> Week -> Day 。 过去一年(例如二零一六年),我设法将第一季度/第二季度累计为半年1(H1)和第三季度/第四季度,为半年2(H2): Year Quarter Ergebnis Year 2016 Q1 2.688.627.598 Year 2016 Q2 2.114.089.713 Year 2016 Q3 3.064.536.554 Year 2016 Q4 3.451.472.537 **Year 2016 H1 4.802.717.311 Year 2016 H2 6.516.009.091** 我正在使用以下MDX查询来计算OLAP中的成员: Parent Hierarchy – [Time].[Year – Quarter – Month – Date] Parent Member – [Time].[Year – Quarter – […]

如何在Excel中使用MDX集计算成员?

我正在使用Excel 2013和SSAS 2014.我试图根据报告上下文将多个成员分组在一起以获得报告。 我试图通过创build一个包含所有我想分组的成员的自定义成员来实现这一点。 如果我硬编码的成员,它工作正常,但使用MDX,它失败。 这工作: [Terminals].[Terminal].[Terminal 1] + [Terminals].[Terminal].[Terminal 2] 这不起作用: Union([Terminals].[Terminal].[Terminal 1], [Terminals].[Terminal].[Terminal 2]) 根据+运营商的文档 : +(联合)操作符在function上等同于联合(MDX)function。 然而,情况肯定不是这样,因为用加号代替联合函数不会产生相同的结果。 我无法在MDX参考中find加号运算符的替代forms。 最终我想要做的是按照数据定义的规则过滤层次结构中的成员: Filter( [Terminals].[Terminal].Children, ClosingPeriod([Date].[By Week].[Date], [Measures].[Days]) ) 上述函数返回一组terminal,其中在查询中select的时间段的最后一天存在logging。 用户可能想要从报告中包含或包含这些内容。 如何在Excel中使用MDX集计算成员? 更新: 格雷格的build议下面的filter使用以下语法: Aggregate( FILTER( NonEmpty([Terminals].[Terminal ID].Members), (ClosingPeriod([Date].[By Week].[Date]),[Measures].[Days]) = 1 ) ) 请注意, 孩子们没有工作,但成员做到了。

Excel数据透视表结果vs执行的MDX查询结果

我正在执行从Excel数据透视表检索到的连接到SQL Server Management Studio中的OLAP多维数据集的MDX查询。 我已经使用SQL Profiler检索了MDX查询,同时在Excel中进行了刷新。 我只是拖动数据透视表的“行”框中的一个维度属性。 Excel向我展示了所有的客户ID,并将它们放在每一行(就像在T-SQL中做简单的select一样)。 这符合我的期望。 我注意到,虽然Excel在行上显示选定的维度属性,但在pipe理工作室中使用检索到的MDX查询将在列上显示。 我从SQL Profiler获得的MDX查询是: SELECT NON EMPTY Hierarchize ( { DrilldownLevel ( { [CustomerDimension].[CustomerId].[All] } , , , INCLUDE_CALC_MEMBERS ) } ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME , HIERARCHY_UNIQUE_NAME ON COLUMNS FROM [DWH] CELL PROPERTIES VALUE , FORMAT_STRING , LANGUAGE , BACK_COLOR , FORE_COLOR , FONT_FLAGS 谁能解释为什么?