快速技巧,Power BI Desktop,查询参数,第4部分,将Power Query参数值传递到SQL 服务器存储过程

我过去写过3篇关于查询参数的博文。

这是快速提示形式的第四篇。这是场景。我的一位客户要求从SQL 服务器的存储过程中获取数据。她需要将值从“查询参数”传递回SQL 服务器,并在Power BI中获得结果。

解决方案有点简单。我在中创建了一个简单的存储过程 AdventureWorksDW2019 如下:

CREATE PROCEDURE SP_Sales_by_Date 
	@date 在t
AS
BEGIN
	SET NOCOUNT ON;
	SELECT *
	FROM [dbo].[FactInternetSales]
	WHERE OrderDateKey >= @date
END
GO

在Power BI Desktop中,从SQL 服务器获取数据,然后:

  • 输入 服务器 名称
  • 输入 数据库 名称
  • 选择数据连接模式
  • 展开 高级 options
  • 输入一个 的SQL语句 调用存储过程,如下所示:
exec SP_Sales_by_Date @date = 20140101
  • 请点击OK
使用Power BI Desktop中的SQL语句从SQL 服务器获取数据
  • 请点击转换资料
在Power BI Desktop中转换数据

现在我们需要创建一个查询参数。在我的示例中,我创建了一个 日期键 小数 数据类型:

在Power BI Desktop中创建新的查询参数
继续阅读 “快速技巧,Power BI Desktop,查询参数,第4部分,将Power Query参数值传递到SQL 服务器存储过程”

快速提示: 时间 Dimension with 时间 Bands at Seconds Granularity 在 Power BI 和 SSAS表格

时间 Dimension with 时间 Bands at Seconds Granularity 在 Power BI 和 SSAS表格

过去我也写过其他有关此主题的文章,您可以找到它们 这里 这里。在第一篇文章中,我解释了如何创建“Time”时间带的维度 分钟 粒度。然后,我的一位客户要求“Time”几秒钟内的尺寸,这鼓励了我写第二篇博客文章。在第二篇博文中,虽然我没有’t做时间带,所以我在这里写第三篇文章,这是第二篇文章支持5分钟,15分钟,30分钟,45分钟和60分钟的时间带的变体。“Time”尺寸降至秒。在这篇快速文章中,我直接跳到重点,向您展示如何生成“Time”维度以三种不同的方式,即在SQL 服务器中使用T-SQL,使用Power Query(M)和DAX。然后是这里:

时间 Dimension at Second Grain with 功率查询 (M) Supporting 时间 Bands:

在查询编辑器中复制/粘贴以下代码’s 高级 Editor to generate 时间 dimension 在 功率查询:

let
Source = Table.FromList({1..86400}, Splitter.SplitByNothing()),
    #"Renamed Columns" = Table.RenameColumns(Source,{{"Column1", "ID"}}),
    #"时间 Column Added" = Table.AddColumn(#"Renamed Columns", "时间", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0,0,0,[ID]))),
    #"Hour Added" = Table.AddColumn(#"时间 Column Added", "Hour", each 时间.Hour([Time])),
    #"Minute Added" = Table.AddColumn(#"Hour Added", "Minute", each 时间.Minute([Time])),
    #"5 Min Band Added" = Table.AddColumn(#"Minute Added", "5 Min Band", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0, 0, Number.RoundDown(Time.Minute([Time])/5) * 5, 0))  +  #duration(0, 0, 5, 0)),
    #"15 Min Band Added" = Table.AddColumn(#"5 Min Band Added", "15 Min Band", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0, 0, Number.RoundDown(Time.Minute([Time])/15) * 15, 0))  +  #duration(0, 0, 15, 0)),
    #"30 Min Band Added" = Table.AddColumn(#"15 Min Band Added", "30 Min Band", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0, 0, Number.RoundDown(Time.Minute([Time])/30) * 30, 0))  +  #duration(0, 0, 30, 0)),
    #"45 Min Band Added" = Table.AddColumn(#"30 Min Band Added", "45 Min Band", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0, 0, Number.RoundDown(Time.Minute([Time])/45) * 45, 0))  +  #duration(0, 0, 45, 0)),
    #"60 Min Band Added" = Table.AddColumn(#"45 Min Band Added", "60 Min Band", each 时间.From(#datetime(1970,1,1,0,0,0) + #duration(0, 0, Number.RoundDown(Time.Minute([Time])/60) * 60, 0))  +  #duration(0, 0, 60, 0)),
    #"Removed Other Columns" = Table.SelectColumns(#"60 Min Band Added",{"时间", "Hour", "Minute", "5 Min Band", "15 Min Band", "30 Min Band", "45 Min Band", "60 Min Band"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Removed Other Columns",{{"时间", type time}, {"Hour", Int64.Type}, {"Minute", Int64.Type}, {"5 Min Band", type time}, {"15 Min Band", type time}, {"30 Min Band", type time}, {"45 Min Band", type time}, {"60 Min Band", type time}})
in
#"Changed Type"
继续阅读 “Quick Tips: 时间 Dimension with 时间 Bands at Seconds Granularity 在 Power BI 和 SSAS表格”

快速提示:使用DAX Studio一次即可导出Power BI桌面和Power BI服务模型数据

出口ing Model 数据 to CSV 
or 的SQL服务器 在 One Shot

在一些最流行的旧帖子中,我解释了如何 导出数据Power BI Desktop 要么 Power BI服务数据 到不同的目的地 CSV, 电子表格 的SQL服务器。在这个快速提示中,我解释了一种非常简单的方法,可以将模型数据整体导出到DAX Studio的CSV或SQL 服务器中。

丹尼尔从XXL BI well explained 这种方法, 但是我’d迅速解释其工作原理并添加更多信息。

发布2.8版本之后 达克斯 Studio,您现在可以一口气将整个模型快速导出到CSV和SQL 服务器。

在DAX Studio中启用导出所有数据

  • 打开DAX Studio
  • 请点击“File”
  • 请点击“Options”
  • 请点击“Advanced”
  • 蜱“显示导出所有数据按钮”
达克斯 Studio导出Power BI模型数据设置

将Power BI模型数据导出到CSV

达克斯 Studio将Power BI模型数据导出到CSV
继续阅读 “快速提示:使用DAX Studio一次即可导出Power BI桌面和Power BI服务模型数据”

XMLA端点对Power BI意味着什么,以及如何免费对其进行测试?

Power BI XMLA端点的测试环境

XMLA端点连接以进行公共预览 已于2019年3月下旬宣布。到今天为止,它仅适用于Power BI 保费容量用户。对于许多没有高级功能的人来说,这听起来像是一个巨大的限制,但他们希望了解它的工作原理。在本文中,我向您展示了一种尽快获得Power BI XMLA端点的简便方法。在开始之前,我想简单地解释一下XMLA终结点,以及它对Power BI用户的真正意义。

Power BI就像洋葱!它有层!

一般而言,Power BI具有两个不同的层,表示层和数据模型层。表示层是可视层,您可以进行所有这些引人注目的报告和可视化。顾名思义,数据模型是在其中创建数据模型的层。您可以通过XMLA连接性访问该层。

在Power BI Desktop文件中,您可以看到两个图层:

Power BI的不同层

XMLA如何与Power BI中的不同层相关?

您可能已经猜到了,XMLA仅与数据模型层有关,而与表示层无关。所以你可能 连接到数据模型, 浏览数据模型, 将数据从模型导入到其他平台,例如Excel 等等。

XMLA并不新鲜!

认真吗是的,认真。这不是新的。已经到了 多年了,也许您已经使用了无数次。每当 您正在连接到SQL 服务器 Analysis Services的一个实例 来自任何工具(例如SQL 服务器管理Studio)的多维或表格形式 (SSMS),Power BI Report Builder,Excel,Tableau等…,您正在使用XMLA connectivity 在deed.

Power BI是SSAS表格的实例

是真的。 Power BI运行SSAS表格的本地实例 模型。因此,每当您打开Power BI桌面文件(PBIX)时,Power BI都会创建一个 具有随机本地端口号的SSAS表格模型的本地实例,可以 只能在本地计算机上访问。关闭文件时,本地 SSAS 表格实例关闭,并释放其端口号。

我首先揭示了一个事实,你可以 在2016年6月通过各种工具(例如SSMS,SQL 服务器 Profiler,Excel等)连接到Power BI Desktop中的基础数据模型。因此,我们确实使用XMLA长时间连接到Power BI数据模型。我们甚至可以更进一步 将我们的Power BI数据模型导入SSAS表格实例。从这个意义上讲,我们实际上是从Power BI生成XMLA脚本,以在SSAS 表格中创建相同的数据模型。多么酷啊?

太…什么是新的?

继续阅读 “XMLA端点对Power BI意味着什么,以及如何免费对其进行测试?”