在查询编辑器中引用另一个表(PowerBI或PowerQuery)

在查询编辑器中引用另一个表(PowerBI或PowerQuery),powerbi,powerquery,m,Powerbi,Powerquery,M,我正在运行一个查询来更新PowerBI中的历史数据表。此更新查询调用Adobe Analytics API,并根据我指定的日期范围提取数据 因为我想让它尽可能快地运行,所以我只想查询历史数据表中没有的数据。我可以根据off date.Time.LocalNow()为这个查询设置结束日期 然而,我陷入困境的地方是设定一个开始日期。理想情况下,我希望从数据模型中的表中获取MaxDate,并在查询编辑器中使用该值作为开始日期 我该怎么做 更新1-下面的完整代码 let Source = AdobeAn

我正在运行一个查询来更新PowerBI中的历史数据表。此更新查询调用Adobe Analytics API,并根据我指定的日期范围提取数据

因为我想让它尽可能快地运行,所以我只想查询历史数据表中没有的数据。我可以根据off date.Time.LocalNow()为这个查询设置结束日期

然而,我陷入困境的地方是设定一个开始日期。理想情况下,我希望从数据模型中的表中获取MaxDate,并在查询编辑器中使用该值作为开始日期

我该怎么做

更新1-下面的完整代码

let
Source = AdobeAnalytics.Cubes()
myreportsuiteid = Source{[Id="myreportsuiteid"]}[Data],
#"Added Items" = Cube.Transform(myreportsuiteid,
    {
        {Cube.AddAndExpandDimensionColumn, "DateGranularity", {"year", "month", "day"}, {"Date Granularity.Level 1: Year", "Date Granularity.Level 2: Month", "Date Granularity.Level 3: Day"}},
        {Cube.AddAndExpandDimensionColumn, "lasttouchchannel", {"lasttouchchannel"}, {"Last Touch Marketing Channel"}},        
        {Cube.AddMeasureColumn, "Unique Visitors", "uniquevisitors"},
        {Cube.AddMeasureColumn, "Visits", "visits"},
        {Cube.ApplyParameter, "DateRange", {#date(Date.Year(List.Max(Union[Date])), Date.Month(List.Max(Union[Date])), Date.Day(List.Max(Union[Date]))+1), #date(Date.Year(DateTime.LocalNow()), Date.Month(DateTime.LocalNow()), Date.Day(DateTime.LocalNow())-1)}},
        {Cube.ApplyParameter, "Segment", {{"s300000554_5ae201be22fa9950dcdbcd92"}}}
    })
in
    #"Added Items"
更新2

工作代码

Daily US是通过查询编辑器创建的表

let
Source = AdobeAnalytics.Cubes(),
todaysDate = Date.AddDays(DateTime.Date(DateTime.LocalNow()),-1),
maxDate = Date.AddDays(List.Max(#"Daily US"[Date]),1),
myreportsuiteid = Source{[Id="myreportsuiteid "]}[Data],
错误代码

Union US是在查询编辑器之外通过Union US=DISTINCT(Union('Seeker US','Daily US')创建的表


如果要为
MaxDate
引用的列名为
Union[Date]
,则应该能够使用
List.Max
从该列获取最大值

试试这个:

let
Source = AdobeAnalytics.Cubes(),
MaxDate = List.Max(Union[Date]),
TodaysDate = DateTime.Date(DateTime.LocalNow()),
myreportsuiteid = Source{[Id="myreportsuiteid"]}[Data],
#"Added Items" = Cube.Transform(myreportsuiteid,
    {
        {Cube.AddAndExpandDimensionColumn, "DateGranularity", {"year", "month", "day"}, {"Date Granularity.Level 1: Year", "Date Granularity.Level 2: Month", "Date Granularity.Level 3: Day"}},
        {Cube.AddAndExpandDimensionColumn, "lasttouchchannel", {"lasttouchchannel"}, {"Last Touch Marketing Channel"}},        
        {Cube.AddMeasureColumn, "Unique Visitors", "uniquevisitors"},
        {Cube.AddMeasureColumn, "Visits", "visits"},
        {Cube.ApplyParameter, "DateRange", {MaxDate, TodaysDate}},
        {Cube.ApplyParameter, "Segment", {{"s300000554_5ae201be22fa9950dcdbcd92"}}}
    })
in
    #"Added Items"

嘿,亚历克西斯,谢谢你的帮助。不过我对语法有点迷糊了。是否需要将要引用到查询的表添加为源?我已经更新了我的问题,包括我的完整代码。我要引用的表是call‘Union’(我的两个查询之间的一个不同的联合)。该列称为“日期”。您应该能够引用在查询编辑器中加载的其他查询。我建议为这两个日期定义变量,而不是重复引用它们。请参阅我的编辑。感谢变量建议和代码清理。我会把你的答案标记为正确。不过,我有一个后续问题-是否有引用我通过联合从查询编辑器中创建的新表的方法?我不确定我是否理解您的问题。您可以引用在查询编辑器中加载的任何表,无论这些表是直接来自数据库还是从多个其他表联接而来。当我引用通过查询编辑器创建的另一个表时,代码正常工作,但是,当我将其切换到我通过查询编辑器“Union US=DISTINCT(Union('Seeker US','Daily US'))外的这一行创建的Union表时,我得到了这个错误”表达式。错误:导入Union US与导出不匹配。是否错过了模块引用
let
Source = AdobeAnalytics.Cubes(),
todaysDate = Date.AddDays(DateTime.Date(DateTime.LocalNow()),-1),
maxDate = Date.AddDays(List.Max(#"Union US"[Date]),1),
myreportsuiteid = Source{[Id="myreportsuiteid "]}[Data],
let
Source = AdobeAnalytics.Cubes(),
MaxDate = List.Max(Union[Date]),
TodaysDate = DateTime.Date(DateTime.LocalNow()),
myreportsuiteid = Source{[Id="myreportsuiteid"]}[Data],
#"Added Items" = Cube.Transform(myreportsuiteid,
    {
        {Cube.AddAndExpandDimensionColumn, "DateGranularity", {"year", "month", "day"}, {"Date Granularity.Level 1: Year", "Date Granularity.Level 2: Month", "Date Granularity.Level 3: Day"}},
        {Cube.AddAndExpandDimensionColumn, "lasttouchchannel", {"lasttouchchannel"}, {"Last Touch Marketing Channel"}},        
        {Cube.AddMeasureColumn, "Unique Visitors", "uniquevisitors"},
        {Cube.AddMeasureColumn, "Visits", "visits"},
        {Cube.ApplyParameter, "DateRange", {MaxDate, TodaysDate}},
        {Cube.ApplyParameter, "Segment", {{"s300000554_5ae201be22fa9950dcdbcd92"}}}
    })
in
    #"Added Items"