具有多个条件的 Excel 中的 CUBESET() 函数

Chr*_*ris 2 excel mdx excel-formula powerpivot

我正在尝试在 Excel 中创建一个 CUBESET 函数,但我不知道如何使用同一维度内的多个条件过滤它。这是我迄今为止使用一个标准所做的工作。


示例 1:

=CUBESET("ThisWorkbookDataModel","{[Facebook].[Bucket (C)].[All].[DPA]*[Facebook].[AudienceType (C)].children}","Bucket")
Run Code Online (Sandbox Code Playgroud)

示例 2:在单元格 C3 中包含日期

=CUBESET("ThisWorkbookDataModel","{[Facebook].[Week End].[All].["&TEXT($C$3,"m/d/yyyy")&"]*[Facebook].[Campaign (C)].children}","Campaign Breakout - Weekly")
Run Code Online (Sandbox Code Playgroud)

这就是我试图用两个标准来做的,但没有运气。

示例 1:

=CUBESET("ThisWorkbookDataModel","FILTER( [Facebook].[AudienceType (C)].children,[Facebook].[Week End].[All].["&TEXT($C$3,"m/d/yyyy")&"] && [Facebook].[Bucket (C)].[All].[DPABroadAudience])","Bucket")
Run Code Online (Sandbox Code Playgroud)

示例 2:

=CUBESET("ThisWorkbookDataModel","FILTER( [Facebook].[AudienceType (C)].children,AND([Facebook].[Week End].[All].["&TEXT($C$3,"m/d/yyyy")&"],[Facebook].[Bucket (C)].[All].[DPABroadAudience]))","Bucket")
Run Code Online (Sandbox Code Playgroud)

示例 3:

=CUBESET("ThisWorkbookDataModel","{[Facebook].[AudienceType (C)].children *[Facebook].[Week End].[All].["&TEXT($C$3,"m/d/yyyy")&"] * [Facebook].[Bucket (C)].[All].[DPABroadAudience]})","Bucket")
Run Code Online (Sandbox Code Playgroud)

顺便说一句 - 虽然我现在只需要两个标准,但很高兴看到一个适用于 2 个以上标准的解决方案。

Gre*_*way 5

请尝试:

=CUBESET("ThisWorkbookDataModel","EXISTS( [Facebook].[AudienceType (C)].children,([Facebook].[Week End].[All].["&TEXT($C$3,"m/d/yyyy")&"], [Facebook].[Bucket (C)].[All].[DPABroadAudience]) )","Bucket")
Run Code Online (Sandbox Code Playgroud)

由于两个过滤器都在同一 Facebook 维度中,因此该EXISTS函数应该可以工作。随意从 Facebook 维度添加其他过滤器。

如果您需要按其他维度(不是 Facebook 维度)过滤,则需要执行以下操作。选择一个度量来确定哪些受众类型存在于过滤器中。

=CUBESET("ThisWorkbookDataModel","NONEMPTY( [Facebook].[AudienceType (C)].children,([Measures].[Your Measure], [Facebook].[Week End].[All].["&TEXT($C$3,"m/d/yyyy")&"], [Facebook].[Bucket (C)].[All].[DPABroadAudience], [Other Dimension].[Column Z].[All].[Your Filter]) )","Bucket")
Run Code Online (Sandbox Code Playgroud)