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

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

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

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

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

在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 Server分析服务的一个实例 来自任何工具(例如SQL Server管理Studio)的多维或表格形式 (SSMS),Power BI Report Builder,Excel,Tableau等…,您正在使用XMLA connectivity indeed.

Power BI是SSAS表格的实例

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

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

太…什么是新的?

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

自动化测试SSAS表格模型

自动化测试SSAS表格

在实际的SSAS 表格项目中,您需要运行许多不同的测试方案,以向您的客户证明Tabular模型中的数据是正确的。如果您在适当的数据仓库之上运行表格模型,那么与在运营数据库之上构建语义模型时相比,您的生活会容易一些。但是,在表格模型上运行许多测试用例,然后在数据仓库上运行类似的测试并比较结果仍然是一个非常耗时的过程。因此,您的测试用例总是有两个方面,一方面是可以作为数据仓库的源数据库,另一方面是表格模型。有很多测试系统的方法,您可以在Excel中浏览表格模型,在Excel中连接到数据仓库并创建数据透视表,然后比较来自表格模型的数据和来自数据仓库的数据。但是,您可以在Excel中进行上述测试多少个量度和尺寸?

另一种方法是在表格模型端运行DAX查询。如果您的源数据库是SQL Server数据库,则需要在数据库端运行T-SQL查询,然后匹配双方的结果以证明表格模型中的数据正确。

在这篇文章中,我’d想与您分享一种自动在表格模型上运行的DAX查询的方法。

马上,这将是一篇漫长的文章,因此您可以一边享受阅读,一边煮咖啡或喝杯咖啡。

尽管我不会涉及另一端,源端或数据仓库端,但也值得将该部分自动化,因为您可以节省很多时间。一世’确保可以在SQL Server端开发类似的过程,但是,我暂时不做介绍。我什么’在本文中将要解释的只是生成和运行DAX查询并将结果存储在SQL Server中的许多可能方式之一。也许它并不完美,但是,这是一个很好的起点。如果您有更好的主意,最好在此帖子下方的评论部分与我们分享。

要求

  • 的SQL服务器分析服务表格2016年及更高版本(兼容级别1200及更高版本)
  • 的SQL服务器的实例
  • 的SQL服务器管理Studio(SSMS)

它是如何工作的

我什么’我要解释的很简单。我想生成并运行DAX查询并捕获结果。第一步是获取所有度量及其相关维度,然后将所有度量按所有相关维度切分并获得结果。最后,我捕获结果并将其存储在SQL Server临时表中。让’考虑一个简单的场景:

  • 您只有一项措施[互联网销售]‘Internet Sales’ table
  • 的measure is related to just one dimension, “Date” dimension
  • 的“Date” dimension has only four columns, Year, Month, Year-Month 和 日期
  • you want to slice [Internet Sales] by Year, Month, Year-Month 和 日期

因此,您需要编写四个DAX查询,如下所示:

EVALUATE
SUMMARIZE(
    'Internet Sales'
    , 日期'[Calendar Year]
    , "互联网销售", [Internet Total Sales]
)
EVALUATE
SUMMARIZE(
   'Internet Sales'
   , 'Date'[Month Name]
   , "互联网销售", [Internet Total Sales]
)
EVALUATE
SUMMARIZE(
    'Internet Sales'
   , 'Date'[Year-Month]
   , "互联网销售", [Internet Total Sales]
)
EVALUATE
SUMMARIZE(
     'Internet Sales'
    , 'Date'[Date]
    , "互联网销售", [Internet Total Sales]
)

很容易不是’是吗?可是等等。如果您有10个与4维相关的度量,而每个维都有10列,该怎么办?听起来很费力’是吗?好吧,在现实世界中,您赢了’不能按照所有相关维度对所有度量进行切片,但是您仍然需要做很多事情。我们要做的是生成并运行DAX查询,并将结果存储在SQL Server中的表中。多么酷啊?

好的,这是这样的…

  • 从SQL Server为SSAS表格实例创建链接服务器
  • 使用表格DMV生成DAX查询
  • 通过表格模型运行查询并在SQL Server临时表中获取/存储结果

继续阅读 “自动化测试SSAS表格模型”