1

您好 Power Query (M) 和 Power BI 大师!

我正在尝试使用 Power BI Desktop 中的 3 个列表作为我的参数,以使用 Adob​​eAnalytics 连接器 (API) 创建表(有关生成的 Power Query 代码,请参见下文)。AdobeAnalytics 连接器仅允许使用堆叠在一起的分段(对于那些不熟悉 Adob​​eAnalytics 的人,可以将分段视为过滤器)。所以我唯一的选择(到目前为止我看到的)是遍历 3 个列表的所有可能组合以生成所有调用(即尝试使用嵌套循环为我创建所有这些表,然后将它们组合到一个表中)。

数据组件:

  • 3 个值列表,用作每次调用的嵌套参数

    • 程序(1 列)

      • 一个
      • C
    • 区域(1 列)

      • A1
      • B2
      • C3
    • 营销渠道(1 列)

      • A11
      • B22
      • C33
  • Power BI Desktop - Power Query Adob​​eAnalytics API 连接

所需步骤

1.为 3 个列表中的每个值组合创建一个表,例如:

  • 表 1将使用以下参数:
    • (#Programs[A]、#Regions[A1]、#MarketingChannels[A11])
  • 表 2将使用以下参数:
    • (#Programs[A]、#Regions[A1]、#MarketingChannels[B22])
  • 继续,直到完成所有可能的组合

2.创建完所有表后,我需要将它们组合起来

下面的代码片段将是表 1 的示例,(注意以“{Cube.ApplyParameter, “Segment””开头的行,因为上面的列表将用作参数)

任何和所有的帮助将不胜感激!!!

let
    Source = AdobeAnalytics.Cubes(),
    invitrogenprod = Source{[Id="invitrogenprod"]}[Data],
    #"Added Items" = Cube.Transform(invitrogenprod,
        {
            {Cube.ApplyParameter, "DateRange", {#date(2018, 3, 21), #date(2018, 3, 21)}},



            {Cube.ApplyParameter, "Segment", {{"#Programs[A]", "#Regions[A1]", "#MarketingChannels[A11]"}}},





            {Cube.AddAndExpandDimensionColumn, "DateGranularity", {"year", "month", "day"}, {"Date Granularity.Level 1: Year", "Date Granularity.Level 2: Month", "Date Granularity.Level 3: Day"}},
            {Cube.AddMeasureColumn, "Engaged Visits", "cm300001617_5a84e003de3c977de97c39d2"},
            {Cube.AddMeasureColumn, "Engaged Visits (PDP)", "cm300001617_5a58160e8f0c657d68a6e404"},
            {Cube.AddMeasureColumn, "Visits w/ Cart Activity", "cm300001617_5a50160c4ecbca5712928ab6"}
        })
in
    #"Added Items"
4

0 回答 0