powerbi中没有复合饼图怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powerbi中没有复合饼图怎么办?相关的知识,希望对你有一定的参考价值。

如果您在Power BI中需要使用复合饼图,可以考虑使用多个简单的饼图来实现。具体步骤如下:

1. 在“可视化”面板中选择一个标准的饼图,并将其拖动到报表画布上。

2. 通过数据字段面板将所需的字段添加到该饼图中。

3. 可以根据需要对该饼图进行格式设置,例如更改颜色、字体等。

4. 复制该饼图并粘贴到同一页面上,然后重复步骤2和3,直至创建所有所需的分段。

5. 将每个新创建的圆形旋转并调整大小以适应原始圆形内部。可以使用Ctrl键+拖动来自由缩放和旋转它们。

6. 最后,在“格式”选项卡中选择“背景色”,并将其更改为与报告背景相匹配的颜色即可完成复合饼图效果。

希望这些步骤能够帮助您实现所需功能。
参考技术A 1 在Power BI中确实没有复合饼图这个功能。

2 这可能是因为复合饼图在数据可视化中使用的场景较少,而其他类型的图表则更为常见和实用。

3 如果您非常需要使用复合饼图,可以考虑使用其他数据可视化工具或者自己编写代码实现。
另外,Power BI也有其他类型的饼图可供选择,可以根据实际需要选择合适的图表类型。
参考技术B 1 powerbi中的确没有复合饼图。

2 这是因为复合饼图存在数据重叠和难以读取的问题,被认为不是一种有效的数据可视化方式。

3 但是,你可以使用其他类型的图表来展示数据,比如堆叠柱状图、条形图等,它们能够更有效地传达数据信息。
同时,你也可以通过自定义视觉效果来达到类似复合饼图的效果。
参考技术C 如果您想使用复合饼图,您可以使用Power BI的其他可视化选项,如堆叠饼图、柱状图或折线图,以实现类似的效果。此外,您也可以使用Power BI的自定义可视化选项,使用R或Python编写自定义可视化,从而实现复合饼图的功能。 参考技术D Power BI中的复合饼图可以在可视化面板中找到,可以将一个数据集的多个字段显示在同一个饼图中,并可以设置不同的分组、颜色等,以便更加清晰地展示数据。基本步骤如下:在可视化面板上选择“复合饼图”,然后将数据集中的字段拖放到相应的字段位置中,可以设置不同的分组、颜色等,最后点击应用即可。

DAX基础入门 – 30分钟从SQL到DAX — PowerBI 利器

看到漂漂亮亮的PowerBI报表,手痒痒怎么办?!

有没有面对着稀奇古怪的DAX而感到有点丈八金刚摸不着头脑或者干瞪眼?!

有没有想得到某个值想不出来DAX怎么写而直跳脚!?

看完这篇文章,你会恍然大悟,捂脸偷笑。呼呼呼~

 

前言:

这篇文章对于具有一点SQL查询基础人会十分容易理解,譬如:掌握SELECT,SUM,GROUP BY等。

技术分享

 

技术分享

 注:此文不涉及到Filter Context(筛选上下文)的介绍。

 

正文:

对于对SQL有一定了解的人来说,咋看DAX,怎么都不习惯。 但是,如果理解以下几个后,DAX学起来就得心应手一些。

  • SUMMARIZE
  • FILTER
  • CALCULATE 与 CALTULATETABLE

注:这里不会对这些语法详细的讲解,而是从SQL的角度,看看那些DAX的等价相似语句

 

 

先来看一个例子,

查询Products表里的所有行: 

 DAX
SQL
-- list all the Products
EVALUATE Product
show all the Products
SELECT *
FROM tblProduct

 

DAX Filter vs SQL Filter

DAX SQL
EVALUATE
FILTER (
    Product,
    RELATED ( Category[Product Category Name] ) = "Bike"
)
SELECT * FROM Product P
JOIN Category c on P.[Category_KEY] = c.[Category_KEY]
WHERE
    c.[Product Category Name] = Bikes

FILTER是一个MUST know的语句

 

从Transaction表中统计销售数目 – SUM-GRUOP BY:

DAX SQL
-- 显示每个产品销售数目
EVALUATE
SUMMARIZE (
Transaction,
Transaction‘[ProductId],
"Total qty", SUM ( Transaction‘[Quantity] )
)
-- 显示每个产品销售数目
SELECT ProductId, SUM(Quantity) AS Total Qty 
FROM tblTransaction
GROUP BY ProductId

 

SUMMERIZE

选择一个表中指定的列: 

DAX SQL
-- list selected columns
EVALUATE
SUMMARIZE(
Product,
Product[Name],
Product[Size])

 

-- show selected columns
SELECT
Name,
Size
FROM tblProduct

 

 排序:

DAX SQL
-- show products in name order
EVALUATE
Product
ORDER BY Product[ProductName]
-- show products by name
SELECT *
FROM tblProduct
ORDER BY ProductName

选择前几行:

DAX SQL
-- show 5 most expensive products
EVALUATE
TOPN ( 5, Product, Product[FullPrice] )

 

SELECT TOP 5
FROM Product 
ORDER BY FullPrice

 

SUMMERIZE vs Group BY

SUMMARIZE是一个比较重要语句

记住:这个跟SQL极为相似,学习过程中只要想想SQL就容易理解很多了。

 

EVALUATE 
SUMMARIZE( 
      源表名, 
      Group by1, 
      ...,
      Group by 列 N, 
      汇总列名1, 
      汇总列名1所对应的表达式, 
      ...,
      汇总列名N, 
      汇总列名N所对应的表达式 
)

 

 再来一个例子:

对产品的分类,颜色,产品名字进行统计:交易单量,销售数目

MSDN的例子

DAX
SQL
EVALUATE 
SUMMARIZE(‘Internet Sales‘  
      , ROLLUP(‘Date‘[Calendar Year], ‘Product Category‘[Product Category Name])  
      , "Sales Amount", SUM(‘Internet Sales‘[Sales Amount])  
      , "Discount Amount", SUM(‘Internet Sales‘[Discount Amount])  
)  
SELECT D.[Calendar Year], PC.[Product Category Name]
     , SUM(F.[Sales Amount])  Sales Amount
     , SUM(F.[Discount Amount]) Discount Amount
FROM [Internet Sales] F
JOIN DATE D ON S.[DAY_KEY] = F.[DAY_KEY]
JOIN [Product Category] PC ON PC.[Category_KEY] = F.[Category_KEY]
GROUP BY
    D.[Calendar Year],PC.[Product Category Name]
Date[Calendar Year] Product Category[Product Category Name] [Sales Amount] [Discount Amount]
2005 Bikes 6958251.043 4231.1621
2006 Bikes 18901351.08 178175.8399
2007 Bikes 24256817.5 276065.992
2008 Components 2008052.706 39.9266

等价的SQL如下,如果你只看浅蓝色的部分,是不是很好理解呢?

SUMMARIZE还有其他的Option,这里就不做详细介绍。

SUMMARIZE详情参考:https://msdn.microsoft.com/en-us/library/gg492171.aspx 

CALCULATETABLE vs Sub Query

 

下面语句统计Bike这个类别的产品的销售数目

DAX SQL
EVALUATE
SUMMARIZE (
    CALCULATETABLE (
        ‘Internet Sales,
        ‘Product Category‘[Product Category Name] = "Bikes" ),
    -- field to group by
    Product[Product Name],
    "Quantity sold",
    SUM ( ‘Internet Sales‘[Order Quantity] )
)

 

SELECT
    P.[Product Name],
    SUM(Fact.[Quantity]) as Quantity sold
FROM
    (SELECT F.* FROM [Transaction] F
        JOIN Category c ON F.[Category_Key] = C.[Category_Key]
WHERE C.[Product Category Name] = ‘Bikes
) Fact join Product P ON P.[Product_Key] = Fact.[Product_Key]
GROUP BY P.[Product Name]

 

上述的SQL语句有很多种写法。

高亮部分CalculateTable里面筛选了Bikes这个类别,正如SQL的sub Query一样。

 技术分享

 

DAX ADDCOLUMNS vs SQL Derived Column

注:ADDCOLUMNS跟Calculated Column类似:即给指定的表加入计算列。不一样的地方在于Addcolumn所加的只在它所在的语句有效。

 DAX  SQL
EVALUATE
ADDCOLUMNS (
    Product Category,
    "Number transactions", COUNTROWS ( RELATEDTABLE ( Internet Sales ) )
)

 

SELECT [Product Category Name], count(t.Id) AS Number transactions
FROM Transaction F
JOIN [Product Category] C on F.[Category_Key] = C.[Category_Key]
GROUP BY 
    C.[Product Category Name]

 

技术分享

 

 

小结:

DAX语法十分灵活,有些看起来晦涩难懂,但是,如果能够以SQL为基础的角度去切入会事半功倍。
还有,此文没有介绍的上下文(Filter Context)是一个重要的概念,如果要真正掌握DAX和一些高级的用法,深刻理解上下文是必须的。

希望有时间好好讲讲这个。

 











以上是关于powerbi中没有复合饼图怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

在Excel中制作复合饼图

excel饼图扇区颜色如何修改?

CorelDraw怎么制作一个饼形图轮廓呢?

wps怎么做三维饼图

如何从两列数据制作一个 Power BI 饼图小部件/或将两个饼图合并为一个

wps立体饼图怎么制作方法